{"version":3,"file":"index.modern.mjs","sources":["../src/arrays.ts","../src/objects.ts","../src/index.ts"],"sourcesContent":["export type validArrayValue = any[] | null | undefined;\n\nexport default function shallowEqualArrays(\n  arrA: validArrayValue,\n  arrB: validArrayValue\n): boolean {\n  if (arrA === arrB) {\n    return true;\n  }\n\n  if (!arrA || !arrB) {\n    return false;\n  }\n\n  const len = arrA.length;\n\n  if (arrB.length !== len) {\n    return false;\n  }\n\n  for (let i = 0; i < len; i++) {\n    if (arrA[i] !== arrB[i]) {\n      return false;\n    }\n  }\n\n  return true;\n}\n","export type validObjectValue = Record<string, any> | null | undefined;\n\nexport default function shallowEqualObjects<T>(\n  objA: validObjectValue,\n  objB: validObjectValue\n): boolean {\n  if (objA === objB) {\n    return true;\n  }\n\n  if (!objA || !objB) {\n    return false;\n  }\n\n  const aKeys = Object.keys(objA);\n  const bKeys = Object.keys(objB);\n  const len = aKeys.length;\n\n  if (bKeys.length !== len) {\n    return false;\n  }\n\n  for (let i = 0; i < len; i++) {\n    const key = aKeys[i];\n\n    if (\n      objA[key] !== objB[key] ||\n      !Object.prototype.hasOwnProperty.call(objB, key)\n    ) {\n      return false;\n    }\n  }\n\n  return true;\n}\n","import shallowEqualArrays from \"./arrays\";\nimport shallowEqualObjects from \"./objects\";\n\ntype Comparable = Record<string, any> | any[] | null | undefined;\n\nfunction shallowEqual<T extends Comparable>(a: T, b: T): boolean {\n  const aIsArr = Array.isArray(a);\n  const bIsArr = Array.isArray(b);\n\n  if (aIsArr !== bIsArr) {\n    return false;\n  }\n\n  if (aIsArr && bIsArr) {\n    return shallowEqualArrays(a, b);\n  }\n\n  return shallowEqualObjects(a, b);\n}\n\nexport { shallowEqual, shallowEqualObjects, shallowEqualArrays };\n"],"names":["shallowEqualArrays","arrA","arrB","len","length","i","shallowEqualObjects","objA","objB","aKeys","Object","keys","bKeys","key","prototype","hasOwnProperty","call","shallowEqual","a","b","aIsArr","Array","isArray","bIsArr"],"mappings":"AAEc,SAAUA,kBAAkB,CACxCC,IAAqB,EACrBC,IAAqB,EAAA;EAErB,IAAID,IAAI,KAAKC,IAAI,EAAE;AACjB,IAAA,OAAO,IAAI,CAAA;AACZ,GAAA;AAED,EAAA,IAAI,CAACD,IAAI,IAAI,CAACC,IAAI,EAAE;AAClB,IAAA,OAAO,KAAK,CAAA;AACb,GAAA;AAED,EAAA,MAAMC,GAAG,GAAGF,IAAI,CAACG,MAAM,CAAA;AAEvB,EAAA,IAAIF,IAAI,CAACE,MAAM,KAAKD,GAAG,EAAE;AACvB,IAAA,OAAO,KAAK,CAAA;AACb,GAAA;EAED,KAAK,IAAIE,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,GAAG,EAAEE,CAAC,EAAE,EAAE;IAC5B,IAAIJ,IAAI,CAACI,CAAC,CAAC,KAAKH,IAAI,CAACG,CAAC,CAAC,EAAE;AACvB,MAAA,OAAO,KAAK,CAAA;AACb,KAAA;AACF,GAAA;AAED,EAAA,OAAO,IAAI,CAAA;AACb;;ACzBc,SAAUC,mBAAmB,CACzCC,IAAsB,EACtBC,IAAsB,EAAA;EAEtB,IAAID,IAAI,KAAKC,IAAI,EAAE;AACjB,IAAA,OAAO,IAAI,CAAA;AACZ,GAAA;AAED,EAAA,IAAI,CAACD,IAAI,IAAI,CAACC,IAAI,EAAE;AAClB,IAAA,OAAO,KAAK,CAAA;AACb,GAAA;AAED,EAAA,MAAMC,KAAK,GAAGC,MAAM,CAACC,IAAI,CAACJ,IAAI,CAAC,CAAA;AAC/B,EAAA,MAAMK,KAAK,GAAGF,MAAM,CAACC,IAAI,CAACH,IAAI,CAAC,CAAA;AAC/B,EAAA,MAAML,GAAG,GAAGM,KAAK,CAACL,MAAM,CAAA;AAExB,EAAA,IAAIQ,KAAK,CAACR,MAAM,KAAKD,GAAG,EAAE;AACxB,IAAA,OAAO,KAAK,CAAA;AACb,GAAA;EAED,KAAK,IAAIE,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,GAAG,EAAEE,CAAC,EAAE,EAAE;AAC5B,IAAA,MAAMQ,GAAG,GAAGJ,KAAK,CAACJ,CAAC,CAAC,CAAA;IAEpB,IACEE,IAAI,CAACM,GAAG,CAAC,KAAKL,IAAI,CAACK,GAAG,CAAC,IACvB,CAACH,MAAM,CAACI,SAAS,CAACC,cAAc,CAACC,IAAI,CAACR,IAAI,EAAEK,GAAG,CAAC,EAChD;AACA,MAAA,OAAO,KAAK,CAAA;AACb,KAAA;AACF,GAAA;AAED,EAAA,OAAO,IAAI,CAAA;AACb;;AC7BA,SAASI,YAAY,CAAuBC,CAAI,EAAEC,CAAI,EAAA;AACpD,EAAA,MAAMC,MAAM,GAAGC,KAAK,CAACC,OAAO,CAACJ,CAAC,CAAC,CAAA;AAC/B,EAAA,MAAMK,MAAM,GAAGF,KAAK,CAACC,OAAO,CAACH,CAAC,CAAC,CAAA;EAE/B,IAAIC,MAAM,KAAKG,MAAM,EAAE;AACrB,IAAA,OAAO,KAAK,CAAA;AACb,GAAA;EAED,IAAIH,MAAM,IAAIG,MAAM,EAAE;AACpB,IAAA,OAAOvB,kBAAkB,CAACkB,CAAC,EAAEC,CAAC,CAAC,CAAA;AAChC,GAAA;AAED,EAAA,OAAOb,mBAAmB,CAACY,CAAC,EAAEC,CAAC,CAAC,CAAA;AAClC;;;;"}