{"version":3,"file":"shallow.mjs","sources":["../../../../../node_modules/zustand/esm/vanilla/shallow.mjs"],"sourcesContent":["const isIterable = (obj) => Symbol.iterator in obj;\nconst hasIterableEntries = (value) => (\n  // HACK: avoid checking entries type\n  \"entries\" in value\n);\nconst compareEntries = (valueA, valueB) => {\n  const mapA = valueA instanceof Map ? valueA : new Map(valueA.entries());\n  const mapB = valueB instanceof Map ? valueB : new Map(valueB.entries());\n  if (mapA.size !== mapB.size) {\n    return false;\n  }\n  for (const [key, value] of mapA) {\n    if (!mapB.has(key) || !Object.is(value, mapB.get(key))) {\n      return false;\n    }\n  }\n  return true;\n};\nconst compareIterables = (valueA, valueB) => {\n  const iteratorA = valueA[Symbol.iterator]();\n  const iteratorB = valueB[Symbol.iterator]();\n  let nextA = iteratorA.next();\n  let nextB = iteratorB.next();\n  while (!nextA.done && !nextB.done) {\n    if (!Object.is(nextA.value, nextB.value)) {\n      return false;\n    }\n    nextA = iteratorA.next();\n    nextB = iteratorB.next();\n  }\n  return !!nextA.done && !!nextB.done;\n};\nfunction shallow(valueA, valueB) {\n  if (Object.is(valueA, valueB)) {\n    return true;\n  }\n  if (typeof valueA !== \"object\" || valueA === null || typeof valueB !== \"object\" || valueB === null) {\n    return false;\n  }\n  if (Object.getPrototypeOf(valueA) !== Object.getPrototypeOf(valueB)) {\n    return false;\n  }\n  if (isIterable(valueA) && isIterable(valueB)) {\n    if (hasIterableEntries(valueA) && hasIterableEntries(valueB)) {\n      return compareEntries(valueA, valueB);\n    }\n    return compareIterables(valueA, valueB);\n  }\n  return compareEntries(\n    { entries: () => Object.entries(valueA) },\n    { entries: () => Object.entries(valueB) }\n  );\n}\n\nexport { shallow };\n"],"names":["isIterable","obj","hasIterableEntries","value","compareEntries","valueA","valueB","mapA","mapB","key","compareIterables","iteratorA","iteratorB","nextA","nextB","shallow"],"mappings":"AAAA,MAAMA,IAAa,CAACC,MAAQ,OAAO,YAAYA,GACzCC,IAAqB,CAACC;AAAA;AAAA,EAE1B,aAAaA;AAAA,GAETC,IAAiB,CAACC,GAAQC,MAAW;AACzC,QAAMC,IAAOF,aAAkB,MAAMA,IAAS,IAAI,IAAIA,EAAO,SAAS,GAChEG,IAAOF,aAAkB,MAAMA,IAAS,IAAI,IAAIA,EAAO,SAAS;AACtE,MAAIC,EAAK,SAASC,EAAK;AACrB,WAAO;AAET,aAAW,CAACC,GAAKN,CAAK,KAAKI;AACzB,QAAI,CAACC,EAAK,IAAIC,CAAG,KAAK,CAAC,OAAO,GAAGN,GAAOK,EAAK,IAAIC,CAAG,CAAC;AACnD,aAAO;AAGX,SAAO;AACT,GACMC,IAAmB,CAACL,GAAQC,MAAW;AAC3C,QAAMK,IAAYN,EAAO,OAAO,QAAQ,EAAC,GACnCO,IAAYN,EAAO,OAAO,QAAQ,EAAC;AACzC,MAAIO,IAAQF,EAAU,KAAI,GACtBG,IAAQF,EAAU,KAAI;AAC1B,SAAO,CAACC,EAAM,QAAQ,CAACC,EAAM,QAAM;AACjC,QAAI,CAAC,OAAO,GAAGD,EAAM,OAAOC,EAAM,KAAK;AACrC,aAAO;AAET,IAAAD,IAAQF,EAAU,KAAI,GACtBG,IAAQF,EAAU,KAAI;AAAA,EACxB;AACA,SAAO,CAAC,CAACC,EAAM,QAAQ,CAAC,CAACC,EAAM;AACjC;AACA,SAASC,EAAQV,GAAQC,GAAQ;AAC/B,SAAI,OAAO,GAAGD,GAAQC,CAAM,IACnB,KAEL,OAAOD,KAAW,YAAYA,MAAW,QAAQ,OAAOC,KAAW,YAAYA,MAAW,QAG1F,OAAO,eAAeD,CAAM,MAAM,OAAO,eAAeC,CAAM,IACzD,KAELN,EAAWK,CAAM,KAAKL,EAAWM,CAAM,IACrCJ,EAAmBG,CAAM,KAAKH,EAAmBI,CAAM,IAClDF,EAAeC,GAAQC,CAAM,IAE/BI,EAAiBL,GAAQC,CAAM,IAEjCF;AAAA,IACL,EAAE,SAAS,MAAM,OAAO,QAAQC,CAAM,EAAC;AAAA,IACvC,EAAE,SAAS,MAAM,OAAO,QAAQC,CAAM,EAAC;AAAA,EAC3C;AACA;","x_google_ignoreList":[0]}