{"version":3,"file":"utils.cjs","names":[],"sources":["../../../src/createMicroStore/reuseMicroStore/utils.ts"],"sourcesContent":["import type {\n  MicroStoreActions,\n  ReactMicroStore,\n  ReactMicroStoreSelector,\n} from './types';\n\nfunction readSnapshot(value: unknown, seen = new WeakSet<object>()): unknown {\n  if (!value || typeof value !== 'object') return value;\n  if (seen.has(value)) return value;\n\n  seen.add(value);\n\n  return Object.keys(value).map(key => readSnapshot((value as Record<string, unknown>)[key], seen));\n}\n\nexport function getStoreSnapshot<\n  S extends Record<string, any>,\n  A extends MicroStoreActions,\n  T,\n>(\n  store: ReactMicroStore<S, A>,\n  selector?: ReactMicroStoreSelector<T, S>,\n): unknown {\n  const result = selector ? store(selector) : store();\n\n  return readSnapshot(result.state);\n}\n"],"mappings":";;AAMA,SAAS,aAAa,OAAgB,uBAAO,IAAI,QAAgB,GAAY;CAC3E,IAAI,CAAC,SAAS,OAAO,UAAU,UAAU,OAAO;CAChD,IAAI,KAAK,IAAI,KAAK,GAAG,OAAO;CAE5B,KAAK,IAAI,KAAK;CAEd,OAAO,OAAO,KAAK,KAAK,CAAC,CAAC,KAAI,QAAO,aAAc,MAAkC,MAAM,IAAI,CAAC;AAClG;AAEA,SAAgB,iBAKd,OACA,UACS;CAGT,OAAO,cAFQ,WAAW,MAAM,QAAQ,IAAI,MAAM,EAAA,CAEvB,KAAK;AAClC"}