@credo-ts/core
Version:
<p align="center"> <br /> <img alt="Credo Logo" src="https://github.com/openwallet-foundation/credo-ts/blob/c7886cb8377ceb8ee4efe8d264211e561a75072d/images/credo-logo.png" height="250px" /> </p> <h1 align="center"><b>Credo - Core</b></h1
16 lines (15 loc) • 789 B
JavaScript
//#region src/utils/objectEquality.ts
function areObjectsEqual(a, b) {
if (typeof a === "object" && a != null && typeof b === "object" && b != null) {
const definedA = Object.fromEntries(Object.entries(a).filter(([, value]) => value !== void 0));
const definedB = Object.fromEntries(Object.entries(b).filter(([, value]) => value !== void 0));
if (Object.keys(definedA).length !== Object.keys(definedB).length) return false;
for (const key in definedA) if (!(key in definedB) || !areObjectsEqual(definedA[key], definedB[key])) return false;
for (const key in definedB) if (!(key in definedA) || !areObjectsEqual(definedB[key], definedA[key])) return false;
return true;
}
return a === b;
}
//#endregion
export { areObjectsEqual };
//# sourceMappingURL=objectEquality.mjs.map