UNPKG

@tamagui/react-native-web-lite

Version:
47 lines (46 loc) 1.09 kB
const deepDiffer = function (one, two, maxDepth = -1) { if (maxDepth === 0) { return true; } if (one === two) { return false; } if (typeof one === "function" && typeof two === "function") { return false; } if (typeof one !== "object" || one === null) { return one !== two; } if (typeof two !== "object" || two === null) { return true; } if (one.constructor !== two.constructor) { return true; } if (Array.isArray(one)) { const len = one.length; if (two.length !== len) { return true; } for (let ii = 0; ii < len; ii++) { if (deepDiffer(one[ii], two[ii], maxDepth - 1)) { return true; } } } else { for (const key in one) { if (deepDiffer(one[key], two[key], maxDepth - 1)) { return true; } } for (const twoKey in two) { if (one[twoKey] === void 0 && two[twoKey] !== void 0) { return true; } } } return false; }; var deepDiffer_default = deepDiffer; export { deepDiffer, deepDiffer_default as default }; //# sourceMappingURL=index.mjs.map