// Metro module 646 (f647). import { useSyncExternalStore, useCallback, useDebugValue } from "react"; import { createStore } from "./createStoreImpl"; function $mk66817($env) { return () => { const r1 = $env; return (0, r1[1])(r1[0].getState()); }; } function $mk66818($env) { return () => { const r1 = $env; return (0, r1[1])(r1[0].getInitialState()); }; } function $mk66819($env) { return (a0) => { let env23814; let r8 = a0; const r2 = $env.$parent; const r9 = $env[0]; const r10 = env23814 = {}; env23814[0] = r9; if (a0 === void 0) { r8 = r2[3]; } env23814[1] = r8; const r3 = r2[2]; const syncExternalStore = r3.useSyncExternalStore(r9.subscribe, r3.useCallback($mk66817(r10), [r9, r8]), r3.useCallback($mk66818(r10), [r9, r8])); r3.useDebugValue(syncExternalStore); return syncExternalStore; }; } let createImpl; let env569 = {}; const identity = (a0) => a0; createImpl = (a0) => { let env12414; const r1 = env12414 = { $parent: env569 }; const store = createStore(a0); env12414[0] = store; const r10 = $mk66819(r1); Object.assign(r10, store); return r10; }; export const create = (a0) => { let r1; if (a0) { let env12415; const r9 = env12415 = { $parent: env569 }; const store = createStore(a0); env12415[0] = store; const r15 = $mk66819(r9); Object.assign(r15, store); r1 = r15; } else { r1 = createImpl; } return r1; }; export function useStore(a0) { let env12413; const r1 = env12413 = {}; env12413[0] = a0; let r8 = arguments[1]; if (r8 === void 0) { r8 = identity; } env12413[1] = r8; const syncExternalStore = useSyncExternalStore(a0.subscribe, useCallback($mk66817(r1), [a0, r8]), useCallback($mk66818(r1), [a0, r8])); useDebugValue(syncExternalStore); return syncExternalStore; }