@tanstack/solid-router
Version:
Modern and scalable routing for Solid applications
1 lines • 1.63 kB
Source Map (JSON)
{"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"}