{"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;AAC7E,KAAI,OAAO,MAAM,YAAY,KAAK,QAAQ,OAAO,MAAM,YAAY,KAAK,MAAM;EAC5E,MAAM,WAAW,OAAO,YAAY,OAAO,QAAQ,EAAE,CAAC,QAAQ,GAAG,WAAW,UAAU,OAAU,CAAC;EACjG,MAAM,WAAW,OAAO,YAAY,OAAO,QAAQ,EAAE,CAAC,QAAQ,GAAG,WAAW,UAAU,OAAU,CAAC;AACjG,MAAI,OAAO,KAAK,SAAS,CAAC,WAAW,OAAO,KAAK,SAAS,CAAC,OAAQ,QAAO;AAC1E,OAAK,MAAM,OAAO,SAChB,KAAI,EAAE,OAAO,aAAa,CAAC,gBAAgB,SAAS,MAAM,SAAS,KAAK,CACtE,QAAO;AAGX,OAAK,MAAM,OAAO,SAChB,KAAI,EAAE,OAAO,aAAa,CAAC,gBAAgB,SAAS,MAAM,SAAS,KAAK,CACtE,QAAO;AAGX,SAAO;;AAET,QAAO,MAAM"}