return Object.assign(Object.create(Object.getPrototypeOf(o)), o)
}
+function simpleObjectsDeepEqual (a: any, b: any) {
+ if (a === b) return true
+
+ if (typeof a !== 'object' || typeof b !== 'object' || a === null || b === null) {
+ return false
+ }
+
+ const keysA = Object.keys(a)
+ const keysB = Object.keys(b)
+
+ if (keysA.length !== keysB.length) return false
+
+ for (const key of keysA) {
+ if (!keysB.includes(key)) return false
+
+ if (!simpleObjectsDeepEqual(a[key], b[key])) return false
+ }
+
+ return true
+}
+
export {
pick,
omit,
getKeys,
shallowCopy,
- sortObjectComparator
+ sortObjectComparator,
+ simpleObjectsDeepEqual
}