UNPKG

@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

1 lines • 1.56 kB
{"version":3,"file":"objectEquality.mjs","names":[],"sources":["../../src/utils/objectEquality.ts"],"sourcesContent":["// biome-ignore lint/suspicious/noExplicitAny: no explanation\nexport function areObjectsEqual<A = any, B extends A = A>(a: A, b: B): boolean {\n if (typeof a === 'object' && a != null && typeof b === 'object' && b != null) {\n const definedA = Object.fromEntries(Object.entries(a).filter(([, value]) => value !== undefined))\n const definedB = Object.fromEntries(Object.entries(b).filter(([, value]) => value !== undefined))\n if (Object.keys(definedA).length !== Object.keys(definedB).length) return false\n for (const key in definedA) {\n if (!(key in definedB) || !areObjectsEqual(definedA[key], definedB[key])) {\n return false\n }\n }\n for (const key in definedB) {\n if (!(key in definedA) || !areObjectsEqual(definedB[key], definedA[key])) {\n return false\n }\n }\n return true\n }\n return a === b\n}\n"],"mappings":";AACA,SAAgB,gBAA0C,GAAM,GAAe;CAC7E,IAAI,OAAO,MAAM,YAAY,KAAK,QAAQ,OAAO,MAAM,YAAY,KAAK,MAAM;EAC5E,MAAM,WAAW,OAAO,YAAY,OAAO,QAAQ,CAAC,CAAC,CAAC,QAAQ,GAAG,WAAW,UAAU,KAAA,CAAS,CAAC;EAChG,MAAM,WAAW,OAAO,YAAY,OAAO,QAAQ,CAAC,CAAC,CAAC,QAAQ,GAAG,WAAW,UAAU,KAAA,CAAS,CAAC;EAChG,IAAI,OAAO,KAAK,QAAQ,CAAC,CAAC,WAAW,OAAO,KAAK,QAAQ,CAAC,CAAC,QAAQ,OAAO;EAC1E,KAAK,MAAM,OAAO,UAChB,IAAI,EAAE,OAAO,aAAa,CAAC,gBAAgB,SAAS,MAAM,SAAS,IAAI,GACrE,OAAO;EAGX,KAAK,MAAM,OAAO,UAChB,IAAI,EAAE,OAAO,aAAa,CAAC,gBAAgB,SAAS,MAAM,SAAS,IAAI,GACrE,OAAO;EAGX,OAAO;CACT;CACA,OAAO,MAAM;AACf"}