{"version":3,"file":"routerStores.cjs","names":[],"sources":["../../src/routerStores.ts"],"sourcesContent":["import * as Solid from 'solid-js'\nimport {\n  createNonReactiveMutableStore,\n  createNonReactiveReadonlyStore,\n} from '@tanstack/router-core'\nimport { isServer } from '@tanstack/router-core/isServer'\nimport type {\n  GetStoreConfig,\n  RouterReadableStore,\n  RouterWritableStore,\n} from '@tanstack/router-core'\n\nfunction createSolidMutableStore<TValue>(\n  initialValue: TValue,\n): RouterWritableStore<TValue> {\n  const [signal, setSignal] = Solid.createSignal(initialValue)\n\n  return { get: signal, set: setSignal }\n}\n\nfunction createSolidReadonlyStore<TValue>(\n  read: () => TValue,\n): RouterReadableStore<TValue> {\n  return { get: Solid.createRoot(() => Solid.createMemo(read)) }\n}\n\nexport const getStoreFactory: GetStoreConfig = (opts) => {\n  if (isServer ?? opts.isServer) {\n    return {\n      createMutableStore: createNonReactiveMutableStore,\n      createReadonlyStore: createNonReactiveReadonlyStore,\n      batch: (fn) => fn(),\n    }\n  }\n\n  return {\n    createMutableStore: createSolidMutableStore,\n    createReadonlyStore: createSolidReadonlyStore,\n    batch: Solid.batch,\n  }\n}\n"],"mappings":";;;;;;AAYA,SAAS,wBACP,cAC6B;CAC7B,MAAM,CAAC,QAAQ,aAAa,SAAM,aAAa,YAAY;CAE3D,OAAO;EAAE,KAAK;EAAQ,KAAK;CAAU;AACvC;AAEA,SAAS,yBACP,MAC6B;CAC7B,OAAO,EAAE,KAAK,SAAM,iBAAiB,SAAM,WAAW,IAAI,CAAC,EAAE;AAC/D;AAEA,IAAa,mBAAmC,SAAS;CACvD,IAAI,+BAAA,YAAY,KAAK,UACnB,OAAO;EACL,oBAAoB,sBAAA;EACpB,qBAAqB,sBAAA;EACrB,QAAQ,OAAO,GAAG;CACpB;CAGF,OAAO;EACL,oBAAoB;EACpB,qBAAqB;EACrB,OAAO,SAAM;CACf;AACF"}