@livestore/livestore 0.4.0-dev.22 → 0.4.0-dev.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -1
- package/dist/.tsbuildinfo +1 -1
- package/dist/QueryCache.js +1 -1
- package/dist/QueryCache.js.map +1 -1
- package/dist/SqliteDbWrapper.d.ts +5 -5
- package/dist/SqliteDbWrapper.d.ts.map +1 -1
- package/dist/SqliteDbWrapper.js +8 -8
- package/dist/SqliteDbWrapper.js.map +1 -1
- package/dist/SqliteDbWrapper.test.js +2 -2
- package/dist/SqliteDbWrapper.test.js.map +1 -1
- package/dist/effect/LiveStore.d.ts +14 -7
- package/dist/effect/LiveStore.d.ts.map +1 -1
- package/dist/effect/LiveStore.js +0 -15
- package/dist/effect/LiveStore.js.map +1 -1
- package/dist/effect/LiveStore.test.d.ts +2 -0
- package/dist/effect/LiveStore.test.d.ts.map +1 -0
- package/dist/effect/LiveStore.test.js +42 -0
- package/dist/effect/LiveStore.test.js.map +1 -0
- package/dist/live-queries/base-class.d.ts +3 -3
- package/dist/live-queries/base-class.d.ts.map +1 -1
- package/dist/live-queries/base-class.js +2 -2
- package/dist/live-queries/base-class.js.map +1 -1
- package/dist/live-queries/client-document-get-query.d.ts +1 -1
- package/dist/live-queries/client-document-get-query.d.ts.map +1 -1
- package/dist/live-queries/client-document-get-query.js +1 -1
- package/dist/live-queries/client-document-get-query.js.map +1 -1
- package/dist/live-queries/computed.d.ts.map +1 -1
- package/dist/live-queries/computed.js +2 -2
- package/dist/live-queries/computed.js.map +1 -1
- package/dist/live-queries/db-query.js +14 -14
- package/dist/live-queries/db-query.js.map +1 -1
- package/dist/live-queries/db-query.test.js +2 -2
- package/dist/live-queries/db-query.test.js.map +1 -1
- package/dist/live-queries/signal.test.js +2 -2
- package/dist/live-queries/signal.test.js.map +1 -1
- package/dist/mod.d.ts +1 -1
- package/dist/mod.d.ts.map +1 -1
- package/dist/mod.js.map +1 -1
- package/dist/reactive.d.ts +9 -9
- package/dist/reactive.d.ts.map +1 -1
- package/dist/reactive.js +9 -26
- package/dist/reactive.js.map +1 -1
- package/dist/reactive.test.js +2 -2
- package/dist/reactive.test.js.map +1 -1
- package/dist/store/StoreRegistry.d.ts +30 -5
- package/dist/store/StoreRegistry.d.ts.map +1 -1
- package/dist/store/StoreRegistry.js +54 -31
- package/dist/store/StoreRegistry.js.map +1 -1
- package/dist/store/StoreRegistry.test.js +251 -250
- package/dist/store/StoreRegistry.test.js.map +1 -1
- package/dist/store/create-store.d.ts +6 -2
- package/dist/store/create-store.d.ts.map +1 -1
- package/dist/store/create-store.js +13 -7
- package/dist/store/create-store.js.map +1 -1
- package/dist/store/devtools.d.ts +1 -1
- package/dist/store/devtools.d.ts.map +1 -1
- package/dist/store/devtools.js +3 -3
- package/dist/store/devtools.js.map +1 -1
- package/dist/store/store-eventstream.test.js +2 -2
- package/dist/store/store-eventstream.test.js.map +1 -1
- package/dist/store/store-types.d.ts +70 -5
- package/dist/store/store-types.d.ts.map +1 -1
- package/dist/store/store-types.js.map +1 -1
- package/dist/store/store-types.test.js +1 -1
- package/dist/store/store-types.test.js.map +1 -1
- package/dist/store/store.d.ts +81 -2
- package/dist/store/store.d.ts.map +1 -1
- package/dist/store/store.js +128 -45
- package/dist/store/store.js.map +1 -1
- package/dist/utils/dev.js.map +1 -1
- package/dist/utils/stack-info.js +2 -2
- package/dist/utils/stack-info.js.map +1 -1
- package/dist/utils/tests/fixture.d.ts +1 -1
- package/dist/utils/tests/fixture.d.ts.map +1 -1
- package/dist/utils/tests/fixture.js.map +1 -1
- package/dist/utils/tests/otel.d.ts.map +1 -1
- package/dist/utils/tests/otel.js +5 -5
- package/dist/utils/tests/otel.js.map +1 -1
- package/package.json +58 -17
- package/src/QueryCache.ts +1 -1
- package/src/SqliteDbWrapper.test.ts +4 -2
- package/src/SqliteDbWrapper.ts +12 -11
- package/src/ambient.d.ts +0 -7
- package/src/effect/LiveStore.test.ts +61 -0
- package/src/effect/LiveStore.ts +17 -26
- package/src/live-queries/__snapshots__/db-query.test.ts.snap +336 -231
- package/src/live-queries/base-class.ts +7 -6
- package/src/live-queries/client-document-get-query.ts +4 -2
- package/src/live-queries/computed.ts +3 -2
- package/src/live-queries/db-query.test.ts +3 -2
- package/src/live-queries/db-query.ts +15 -15
- package/src/live-queries/signal.test.ts +3 -2
- package/src/mod.ts +1 -0
- package/src/reactive.test.ts +3 -2
- package/src/reactive.ts +22 -23
- package/src/store/StoreRegistry.test.ts +317 -293
- package/src/store/StoreRegistry.ts +63 -38
- package/src/store/create-store.ts +26 -11
- package/src/store/devtools.ts +5 -6
- package/src/store/store-eventstream.test.ts +4 -2
- package/src/store/store-types.test.ts +3 -1
- package/src/store/store-types.ts +47 -8
- package/src/store/store.ts +172 -55
- package/src/utils/dev.ts +2 -2
- package/src/utils/stack-info.ts +2 -2
- package/src/utils/tests/fixture.ts +2 -1
- package/src/utils/tests/otel.ts +8 -7
- package/docs/api/index.md +0 -3
- package/docs/building-with-livestore/complex-ui-state/index.md +0 -3
- package/docs/building-with-livestore/crud/index.md +0 -3
- package/docs/building-with-livestore/data-modeling/index.md +0 -30
- package/docs/building-with-livestore/debugging/index.md +0 -17
- package/docs/building-with-livestore/devtools/index.md +0 -79
- package/docs/building-with-livestore/events/index.md +0 -355
- package/docs/building-with-livestore/examples/ai-agent/index.md +0 -5
- package/docs/building-with-livestore/examples/todo-workspaces/index.md +0 -885
- package/docs/building-with-livestore/examples/turnbased-game/index.md +0 -7
- package/docs/building-with-livestore/opentelemetry/index.md +0 -227
- package/docs/building-with-livestore/production-checklist/index.md +0 -5
- package/docs/building-with-livestore/reactivity-system/index.md +0 -202
- package/docs/building-with-livestore/rules-for-ai-agents/index.md +0 -9
- package/docs/building-with-livestore/state/materializers/index.md +0 -300
- package/docs/building-with-livestore/state/sql-queries/index.md +0 -94
- package/docs/building-with-livestore/state/sqlite/index.md +0 -45
- package/docs/building-with-livestore/state/sqlite-schema/index.md +0 -306
- package/docs/building-with-livestore/state/sqlite-schema-effect/index.md +0 -300
- package/docs/building-with-livestore/store/index.md +0 -625
- package/docs/building-with-livestore/syncing/index.md +0 -136
- package/docs/building-with-livestore/tools/cli/index.md +0 -177
- package/docs/building-with-livestore/tools/mcp/index.md +0 -187
- package/docs/examples/cloudflare-adapter/index.md +0 -44
- package/docs/examples/expo-adapter/index.md +0 -44
- package/docs/examples/index.md +0 -55
- package/docs/examples/node-adapter/index.md +0 -44
- package/docs/examples/web-adapter/index.md +0 -52
- package/docs/framework-integrations/custom-elements/index.md +0 -142
- package/docs/framework-integrations/react-integration/index.md +0 -937
- package/docs/framework-integrations/solid-integration/index.md +0 -293
- package/docs/framework-integrations/svelte-integration/index.md +0 -42
- package/docs/framework-integrations/vue-integration/index.md +0 -294
- package/docs/getting-started/expo/index.md +0 -882
- package/docs/getting-started/node/index.md +0 -115
- package/docs/getting-started/react-web/index.md +0 -626
- package/docs/getting-started/solid/index.md +0 -3
- package/docs/getting-started/vue/index.md +0 -471
- package/docs/index.md +0 -208
- package/docs/llms.txt +0 -146
- package/docs/misc/CODE_OF_CONDUCT/index.md +0 -133
- package/docs/misc/FAQ/index.md +0 -37
- package/docs/misc/community/index.md +0 -88
- package/docs/misc/credits/index.md +0 -14
- package/docs/misc/design-partners/index.md +0 -13
- package/docs/misc/package-management/index.md +0 -21
- package/docs/misc/performance/index.md +0 -25
- package/docs/misc/resources/index.md +0 -46
- package/docs/misc/state-of-the-project/index.md +0 -37
- package/docs/misc/troubleshooting/index.md +0 -82
- package/docs/overview/concepts/index.md +0 -78
- package/docs/overview/how-livestore-works/index.md +0 -56
- package/docs/overview/introduction/index.md +0 -413
- package/docs/overview/technology-comparison/index.md +0 -40
- package/docs/overview/when-livestore/index.md +0 -81
- package/docs/overview/why-livestore/index.md +0 -111
- package/docs/patterns/ai/index.md +0 -15
- package/docs/patterns/anonymous-user-transition/index.md +0 -10
- package/docs/patterns/app-evolution/index.md +0 -72
- package/docs/patterns/auth/index.md +0 -377
- package/docs/patterns/effect/index.md +0 -1505
- package/docs/patterns/encryption/index.md +0 -6
- package/docs/patterns/external-data/index.md +0 -5
- package/docs/patterns/file-management/index.md +0 -11
- package/docs/patterns/file-structure/index.md +0 -14
- package/docs/patterns/list-ordering/index.md +0 -369
- package/docs/patterns/offline/index.md +0 -32
- package/docs/patterns/orm/index.md +0 -18
- package/docs/patterns/presence/index.md +0 -11
- package/docs/patterns/rich-text-editing/index.md +0 -11
- package/docs/patterns/server-side-clients/index.md +0 -97
- package/docs/patterns/side-effects/index.md +0 -11
- package/docs/patterns/state-machines/index.md +0 -11
- package/docs/patterns/storybook/index.md +0 -209
- package/docs/patterns/undo-redo/index.md +0 -9
- package/docs/patterns/version-control/index.md +0 -8
- package/docs/platform-adapters/cloudflare-durable-object-adapter/index.md +0 -453
- package/docs/platform-adapters/electron-adapter/index.md +0 -15
- package/docs/platform-adapters/expo-adapter/index.md +0 -262
- package/docs/platform-adapters/node-adapter/index.md +0 -160
- package/docs/platform-adapters/tauri-adapter/index.md +0 -15
- package/docs/platform-adapters/web-adapter/index.md +0 -287
- package/docs/sustainable-open-source/contributing/docs/index.md +0 -94
- package/docs/sustainable-open-source/contributing/info/index.md +0 -63
- package/docs/sustainable-open-source/contributing/monorepo/index.md +0 -195
- package/docs/sustainable-open-source/sponsoring/index.md +0 -104
- package/docs/sync-providers/cloudflare/index.md +0 -773
- package/docs/sync-providers/custom/index.md +0 -65
- package/docs/sync-providers/electricsql/index.md +0 -159
- package/docs/sync-providers/s2/index.md +0 -230
- package/docs/tutorial/0-welcome/index.md +0 -48
- package/docs/tutorial/1-setup-starter-project/index.md +0 -105
- package/docs/tutorial/2-deploy-to-cloudflare/index.md +0 -195
- package/docs/tutorial/3-read-and-write-todos-via-livestore/index.md +0 -530
- package/docs/tutorial/4-sync-data-via-cloudflare/index.md +0 -210
- package/docs/tutorial/5-expand-business-logic/index.md +0 -174
- package/docs/tutorial/6-persist-ui-state/index.md +0 -453
- package/docs/tutorial/7-next-steps/index.md +0 -22
- package/docs/understanding-livestore/design-decisions/index.md +0 -33
- package/docs/understanding-livestore/event-sourcing/index.md +0 -40
|
@@ -1,11 +1,10 @@
|
|
|
1
|
+
import { describe, expect, it } from '@effect/vitest';
|
|
1
2
|
import { makeInMemoryAdapter } from '@livestore/adapter-web';
|
|
2
|
-
import { UnknownError } from '@livestore/common';
|
|
3
|
-
import {
|
|
4
|
-
import { Effect } from '@livestore/utils/effect';
|
|
5
|
-
import { describe, expect, it } from 'vitest';
|
|
3
|
+
import { OtelLiveDummy, UnknownError } from '@livestore/common';
|
|
4
|
+
import { Effect, Fiber, TestClock } from '@livestore/utils/effect';
|
|
6
5
|
import { schema } from "../utils/tests/fixture.js";
|
|
7
|
-
import { StoreRegistry, storeOptions } from "./StoreRegistry.js";
|
|
8
6
|
import { StoreInternalsSymbol } from "./store-types.js";
|
|
7
|
+
import { StoreRegistry, storeOptions } from "./StoreRegistry.js";
|
|
9
8
|
describe('StoreRegistry', () => {
|
|
10
9
|
it('returns a promise when the store is loading', async () => {
|
|
11
10
|
const storeRegistry = new StoreRegistry();
|
|
@@ -97,93 +96,6 @@ describe('StoreRegistry', () => {
|
|
|
97
96
|
expect(error1).toBeDefined();
|
|
98
97
|
expect(error1).toBe(error2);
|
|
99
98
|
});
|
|
100
|
-
it('disposes store after unusedCacheTime expires', async () => {
|
|
101
|
-
const unusedCacheTime = 25;
|
|
102
|
-
const storeRegistry = new StoreRegistry({ defaultOptions: { unusedCacheTime } });
|
|
103
|
-
const options = testStoreOptions();
|
|
104
|
-
const store = await storeRegistry.getOrLoadPromise(options);
|
|
105
|
-
// Store should be cached
|
|
106
|
-
expect(storeRegistry.getOrLoadPromise(options)).toBe(store);
|
|
107
|
-
// Wait for disposal
|
|
108
|
-
await sleep(unusedCacheTime + 50);
|
|
109
|
-
// After disposal, store should be removed
|
|
110
|
-
// The store is removed from cache, so next getOrLoadStore creates a new one
|
|
111
|
-
const nextStore = await storeRegistry.getOrLoadPromise(options);
|
|
112
|
-
// Should be a different store instance
|
|
113
|
-
expect(nextStore).not.toBe(store);
|
|
114
|
-
expect(nextStore[StoreInternalsSymbol].clientSession.debugInstanceId).toBeDefined();
|
|
115
|
-
// Clean up the second store (first one was disposed)
|
|
116
|
-
await nextStore.shutdownPromise();
|
|
117
|
-
});
|
|
118
|
-
it('does not dispose when unusedCacheTime is Infinity', async () => {
|
|
119
|
-
const storeRegistry = new StoreRegistry({ defaultOptions: { unusedCacheTime: Number.POSITIVE_INFINITY } });
|
|
120
|
-
const options = testStoreOptions();
|
|
121
|
-
const store = await storeRegistry.getOrLoadPromise(options);
|
|
122
|
-
// Store should be cached
|
|
123
|
-
expect(storeRegistry.getOrLoadPromise(options)).toBe(store);
|
|
124
|
-
// Wait a reasonable duration to verify no disposal
|
|
125
|
-
await sleep(100);
|
|
126
|
-
// Store should still be cached (not disposed)
|
|
127
|
-
expect(storeRegistry.getOrLoadPromise(options)).toBe(store);
|
|
128
|
-
// Clean up manually
|
|
129
|
-
await store.shutdownPromise();
|
|
130
|
-
});
|
|
131
|
-
it('schedules disposal if store becomes unused during loading', async () => {
|
|
132
|
-
const unusedCacheTime = 50;
|
|
133
|
-
const storeRegistry = new StoreRegistry({ defaultOptions: { unusedCacheTime } });
|
|
134
|
-
const options = testStoreOptions();
|
|
135
|
-
// Start loading without any retain
|
|
136
|
-
const storePromise = storeRegistry.getOrLoadPromise(options);
|
|
137
|
-
// Wait for store to load (no retain registered)
|
|
138
|
-
const store = await storePromise;
|
|
139
|
-
// Since there were no retain when loading completed, disposal should be scheduled
|
|
140
|
-
await sleep(unusedCacheTime + 50);
|
|
141
|
-
// Store should be disposed
|
|
142
|
-
const nextStore = await storeRegistry.getOrLoadPromise(options);
|
|
143
|
-
expect(nextStore).not.toBe(store);
|
|
144
|
-
await nextStore.shutdownPromise();
|
|
145
|
-
});
|
|
146
|
-
// This test is skipped because Effect doesn't yet support different `idleTimeToLive` values for each resource in `RcMap`
|
|
147
|
-
// See https://github.com/livestorejs/livestore/issues/917
|
|
148
|
-
it.skip('allows call-site options to override default options', async () => {
|
|
149
|
-
const storeRegistry = new StoreRegistry({
|
|
150
|
-
defaultOptions: {
|
|
151
|
-
unusedCacheTime: 1000, // Default is long
|
|
152
|
-
},
|
|
153
|
-
});
|
|
154
|
-
const options = testStoreOptions({
|
|
155
|
-
unusedCacheTime: 10, // Override with shorter time
|
|
156
|
-
});
|
|
157
|
-
const store = await storeRegistry.getOrLoadPromise(options);
|
|
158
|
-
// Wait for the override time (10ms)
|
|
159
|
-
await sleep(10);
|
|
160
|
-
// Should be disposed according to the override time, not default
|
|
161
|
-
const nextStore = await storeRegistry.getOrLoadPromise(options);
|
|
162
|
-
expect(nextStore).not.toBe(store);
|
|
163
|
-
await nextStore.shutdownPromise();
|
|
164
|
-
});
|
|
165
|
-
// This test is skipped because we don't yet support dynamic `unusedCacheTime` updates for cached stores.
|
|
166
|
-
// See https://github.com/livestorejs/livestore/issues/918
|
|
167
|
-
it.skip('keeps the longest unusedCacheTime seen for a store when options vary across calls', async () => {
|
|
168
|
-
const storeRegistry = new StoreRegistry();
|
|
169
|
-
const options = testStoreOptions({ unusedCacheTime: 10 });
|
|
170
|
-
const release = storeRegistry.retain(options);
|
|
171
|
-
const store = await storeRegistry.getOrLoadPromise(options);
|
|
172
|
-
// Call with longer unusedCacheTime
|
|
173
|
-
await storeRegistry.getOrLoadPromise(testStoreOptions({ unusedCacheTime: 100 }));
|
|
174
|
-
release();
|
|
175
|
-
// After 99ms, store should still be alive (100ms unusedCacheTime used)
|
|
176
|
-
await sleep(99);
|
|
177
|
-
// Store should still be cached
|
|
178
|
-
expect(storeRegistry.getOrLoadPromise(options)).toBe(store);
|
|
179
|
-
// After the full 100ms, store should be disposed
|
|
180
|
-
await sleep(1);
|
|
181
|
-
// Next getOrLoadStore should create a new store
|
|
182
|
-
const nextStore = await storeRegistry.getOrLoadPromise(options);
|
|
183
|
-
expect(nextStore).not.toBe(store);
|
|
184
|
-
// Clean up the second store (first one was disposed)
|
|
185
|
-
await nextStore.shutdownPromise();
|
|
186
|
-
});
|
|
187
99
|
it('preload does not throw', async () => {
|
|
188
100
|
const storeRegistry = new StoreRegistry();
|
|
189
101
|
// Create invalid options that would cause an error
|
|
@@ -196,149 +108,6 @@ describe('StoreRegistry', () => {
|
|
|
196
108
|
// But subsequent getOrLoadStore should throw the cached error
|
|
197
109
|
expect(() => storeRegistry.getOrLoadPromise(badOptions)).toThrow();
|
|
198
110
|
});
|
|
199
|
-
it('handles rapid retain/release cycles without errors', async () => {
|
|
200
|
-
const unusedCacheTime = 50;
|
|
201
|
-
const storeRegistry = new StoreRegistry({ defaultOptions: { unusedCacheTime } });
|
|
202
|
-
const options = testStoreOptions();
|
|
203
|
-
const store = await storeRegistry.getOrLoadPromise(options);
|
|
204
|
-
// Rapidly retain and release multiple times
|
|
205
|
-
for (let i = 0; i < 10; i++) {
|
|
206
|
-
const release = storeRegistry.retain(options);
|
|
207
|
-
release();
|
|
208
|
-
}
|
|
209
|
-
// Wait for disposal to trigger
|
|
210
|
-
await sleep(unusedCacheTime + 50);
|
|
211
|
-
// Store should be disposed after the last release
|
|
212
|
-
const nextStore = await storeRegistry.getOrLoadPromise(options);
|
|
213
|
-
expect(nextStore).not.toBe(store);
|
|
214
|
-
await nextStore.shutdownPromise();
|
|
215
|
-
});
|
|
216
|
-
it('cancels disposal when new retain', async () => {
|
|
217
|
-
const unusedCacheTime = 50;
|
|
218
|
-
const storeRegistry = new StoreRegistry({ defaultOptions: { unusedCacheTime } });
|
|
219
|
-
const options = testStoreOptions();
|
|
220
|
-
const store = await storeRegistry.getOrLoadPromise(options);
|
|
221
|
-
// Wait almost to disposal threshold
|
|
222
|
-
await sleep(unusedCacheTime - 5);
|
|
223
|
-
// Add a new retain before disposal triggers
|
|
224
|
-
const release = storeRegistry.retain(options);
|
|
225
|
-
// Complete the original unusedCacheTime
|
|
226
|
-
await sleep(5);
|
|
227
|
-
// Store should not have been disposed because we added a retain
|
|
228
|
-
expect(storeRegistry.getOrLoadPromise(options)).toBe(store);
|
|
229
|
-
// Clean up
|
|
230
|
-
release();
|
|
231
|
-
await sleep(unusedCacheTime + 50);
|
|
232
|
-
// Now it should be disposed
|
|
233
|
-
const nextStore = await storeRegistry.getOrLoadPromise(options);
|
|
234
|
-
expect(nextStore).not.toBe(store);
|
|
235
|
-
await nextStore.shutdownPromise();
|
|
236
|
-
});
|
|
237
|
-
it('aborts loading when disposal fires while store is still loading', async () => {
|
|
238
|
-
const unusedCacheTime = 10;
|
|
239
|
-
const storeRegistry = new StoreRegistry({ defaultOptions: { unusedCacheTime } });
|
|
240
|
-
const options = testStoreOptions();
|
|
241
|
-
// Retain briefly to trigger getOrLoadStore and then release
|
|
242
|
-
const release = storeRegistry.retain(options);
|
|
243
|
-
// Start loading
|
|
244
|
-
const loadPromise = storeRegistry.getOrLoadPromise(options);
|
|
245
|
-
// Attach a catch handler to prevent unhandled rejection when the load is aborted
|
|
246
|
-
const abortedPromise = loadPromise.catch(() => {
|
|
247
|
-
// Expected: load was aborted by disposal
|
|
248
|
-
});
|
|
249
|
-
// Release immediately, which schedules disposal
|
|
250
|
-
release();
|
|
251
|
-
// Wait for disposal to trigger
|
|
252
|
-
await sleep(unusedCacheTime + 50);
|
|
253
|
-
// Wait for the abort to complete
|
|
254
|
-
await abortedPromise;
|
|
255
|
-
// After abort, a new getOrLoadStore should start a fresh load
|
|
256
|
-
const freshLoadPromise = storeRegistry.getOrLoadPromise(options);
|
|
257
|
-
// This should be a new promise (not the aborted one)
|
|
258
|
-
expect(freshLoadPromise).toBeInstanceOf(Promise);
|
|
259
|
-
expect(freshLoadPromise).not.toBe(loadPromise);
|
|
260
|
-
// Wait for fresh load to complete
|
|
261
|
-
const store = await freshLoadPromise;
|
|
262
|
-
expect(store).toBeDefined();
|
|
263
|
-
await store.shutdownPromise();
|
|
264
|
-
});
|
|
265
|
-
it('retain keeps store alive past unusedCacheTime', async () => {
|
|
266
|
-
const unusedCacheTime = 50;
|
|
267
|
-
const storeRegistry = new StoreRegistry({ defaultOptions: { unusedCacheTime } });
|
|
268
|
-
const options = testStoreOptions();
|
|
269
|
-
// Load the store
|
|
270
|
-
const store = await storeRegistry.getOrLoadPromise(options);
|
|
271
|
-
// Retain the store before disposal could fire
|
|
272
|
-
const release = storeRegistry.retain(options);
|
|
273
|
-
// Wait past the unusedCacheTime
|
|
274
|
-
await sleep(unusedCacheTime + 50);
|
|
275
|
-
// Store should still be cached because retain keeps it alive
|
|
276
|
-
const cachedStore = storeRegistry.getOrLoadPromise(options);
|
|
277
|
-
expect(cachedStore).toBe(store);
|
|
278
|
-
release();
|
|
279
|
-
await store.shutdownPromise();
|
|
280
|
-
});
|
|
281
|
-
it('manages multiple stores with different IDs independently', async () => {
|
|
282
|
-
const unusedCacheTime = 50;
|
|
283
|
-
const storeRegistry = new StoreRegistry({ defaultOptions: { unusedCacheTime } });
|
|
284
|
-
const options1 = testStoreOptions({ storeId: 'store-1' });
|
|
285
|
-
const options2 = testStoreOptions({ storeId: 'store-2' });
|
|
286
|
-
const store1 = await storeRegistry.getOrLoadPromise(options1);
|
|
287
|
-
const store2 = await storeRegistry.getOrLoadPromise(options2);
|
|
288
|
-
// Should be different store instances
|
|
289
|
-
expect(store1).not.toBe(store2);
|
|
290
|
-
// Both should be cached independently
|
|
291
|
-
expect(storeRegistry.getOrLoadPromise(options1)).toBe(store1);
|
|
292
|
-
expect(storeRegistry.getOrLoadPromise(options2)).toBe(store2);
|
|
293
|
-
// Wait for both stores to be disposed
|
|
294
|
-
await sleep(unusedCacheTime + 50);
|
|
295
|
-
// Both stores should be disposed, so next getOrLoadStore creates new ones
|
|
296
|
-
const newStore1 = await storeRegistry.getOrLoadPromise(options1);
|
|
297
|
-
expect(newStore1).not.toBe(store1);
|
|
298
|
-
const newStore2 = await storeRegistry.getOrLoadPromise(options2);
|
|
299
|
-
expect(newStore2).not.toBe(store2);
|
|
300
|
-
// Clean up
|
|
301
|
-
await newStore1.shutdownPromise();
|
|
302
|
-
await newStore2.shutdownPromise();
|
|
303
|
-
});
|
|
304
|
-
it('applies default options from constructor', async () => {
|
|
305
|
-
const storeRegistry = new StoreRegistry({
|
|
306
|
-
defaultOptions: {
|
|
307
|
-
unusedCacheTime: 100,
|
|
308
|
-
},
|
|
309
|
-
});
|
|
310
|
-
const options = testStoreOptions();
|
|
311
|
-
const store = await storeRegistry.getOrLoadPromise(options);
|
|
312
|
-
// Verify the store loads successfully
|
|
313
|
-
expect(store).toBeDefined();
|
|
314
|
-
expect(store[StoreInternalsSymbol].clientSession.debugInstanceId).toBeDefined();
|
|
315
|
-
// Verify configured default unusedCacheTime is applied by checking disposal doesn't happen before it
|
|
316
|
-
await sleep(50);
|
|
317
|
-
// Store should still be cached after 50ms (default is 100ms)
|
|
318
|
-
expect(storeRegistry.getOrLoadPromise(options)).toBe(store);
|
|
319
|
-
await store.shutdownPromise();
|
|
320
|
-
});
|
|
321
|
-
it('prevents getOrLoadStore from returning a dying store', async () => {
|
|
322
|
-
const unusedCacheTime = 25;
|
|
323
|
-
const storeRegistry = new StoreRegistry({ defaultOptions: { unusedCacheTime } });
|
|
324
|
-
const options = testStoreOptions();
|
|
325
|
-
// Load the store and wait for it to be ready
|
|
326
|
-
const originalStore = await storeRegistry.getOrLoadPromise(options);
|
|
327
|
-
// Verify store is cached
|
|
328
|
-
expect(storeRegistry.getOrLoadPromise(options)).toBe(originalStore);
|
|
329
|
-
// Wait for disposal to trigger
|
|
330
|
-
await sleep(unusedCacheTime + 50);
|
|
331
|
-
// After disposal, the cache should be cleared
|
|
332
|
-
// Calling getOrLoadStore should start a fresh load (return Promise)
|
|
333
|
-
const storeOrPromise = storeRegistry.getOrLoadPromise(options);
|
|
334
|
-
if (!(storeOrPromise instanceof Promise)) {
|
|
335
|
-
expect.fail('getOrLoadStore returned dying store synchronously instead of starting fresh load');
|
|
336
|
-
}
|
|
337
|
-
const freshStore = await storeOrPromise;
|
|
338
|
-
// A fresh load was triggered because cache was cleared
|
|
339
|
-
expect(freshStore).not.toBe(originalStore);
|
|
340
|
-
await freshStore.shutdownPromise();
|
|
341
|
-
});
|
|
342
111
|
it('warms the cache so subsequent getOrLoadStore is synchronous after preload', async () => {
|
|
343
112
|
const storeRegistry = new StoreRegistry();
|
|
344
113
|
const options = testStoreOptions();
|
|
@@ -354,21 +123,253 @@ describe('StoreRegistry', () => {
|
|
|
354
123
|
// Clean up
|
|
355
124
|
await store.shutdownPromise();
|
|
356
125
|
});
|
|
357
|
-
it('
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
126
|
+
it.layer(OtelLiveDummy)('time-dependent (using TestClock)', (it) => {
|
|
127
|
+
it.scoped('disposes store after unusedCacheTime expires', () => Effect.gen(function* () {
|
|
128
|
+
const unusedCacheTime = 25;
|
|
129
|
+
const runtime = yield* Effect.runtime();
|
|
130
|
+
const registry = new StoreRegistry({ runtime, defaultOptions: { unusedCacheTime } });
|
|
131
|
+
const options = testStoreOptions();
|
|
132
|
+
const store = yield* registry.getOrLoad(options).pipe(Effect.scoped);
|
|
133
|
+
// Store should still be in cache
|
|
134
|
+
const cached = yield* registry.getOrLoad(options).pipe(Effect.scoped);
|
|
135
|
+
expect(cached).toBe(store);
|
|
136
|
+
// Let the idle timer fiber register its sleep with TestClock
|
|
137
|
+
yield* Effect.yieldNow();
|
|
138
|
+
// Advance time past unusedCacheTime → idle timer fires → entry evicted
|
|
139
|
+
yield* TestClock.adjust(unusedCacheTime);
|
|
140
|
+
// After eviction, a new load should produce a different store
|
|
141
|
+
const nextStore = yield* registry.getOrLoad(options).pipe(Effect.scoped);
|
|
142
|
+
expect(nextStore).not.toBe(store);
|
|
143
|
+
expect(nextStore[StoreInternalsSymbol].clientSession.debugInstanceId).toBeDefined();
|
|
144
|
+
}));
|
|
145
|
+
it.scoped('does not dispose when unusedCacheTime is Infinity', () => Effect.gen(function* () {
|
|
146
|
+
const runtime = yield* Effect.runtime();
|
|
147
|
+
const registry = new StoreRegistry({ runtime, defaultOptions: { unusedCacheTime: Number.POSITIVE_INFINITY } });
|
|
148
|
+
const options = testStoreOptions();
|
|
149
|
+
const store = yield* registry.getOrLoad(options).pipe(Effect.scoped);
|
|
150
|
+
// Advance a large amount of time — no idle timer was started for Infinity
|
|
151
|
+
yield* TestClock.adjust(100_000);
|
|
152
|
+
// Store should still be cached
|
|
153
|
+
const cached = yield* registry.getOrLoad(options).pipe(Effect.scoped);
|
|
154
|
+
expect(cached).toBe(store);
|
|
155
|
+
}));
|
|
156
|
+
it.scoped('schedules disposal if store becomes unused during loading', () => Effect.gen(function* () {
|
|
157
|
+
const unusedCacheTime = 50;
|
|
158
|
+
const runtime = yield* Effect.runtime();
|
|
159
|
+
const registry = new StoreRegistry({ runtime, defaultOptions: { unusedCacheTime } });
|
|
160
|
+
const options = testStoreOptions();
|
|
161
|
+
// Load without retaining — disposal is scheduled when scope closes
|
|
162
|
+
const store = yield* registry.getOrLoad(options).pipe(Effect.scoped);
|
|
163
|
+
yield* Effect.yieldNow();
|
|
164
|
+
yield* TestClock.adjust(unusedCacheTime);
|
|
165
|
+
// Store should be disposed
|
|
166
|
+
const nextStore = yield* registry.getOrLoad(options).pipe(Effect.scoped);
|
|
167
|
+
expect(nextStore).not.toBe(store);
|
|
168
|
+
}));
|
|
169
|
+
it.scoped('allows call-site options to override default options', () => Effect.gen(function* () {
|
|
170
|
+
const runtime = yield* Effect.runtime();
|
|
171
|
+
const registry = new StoreRegistry({ runtime, defaultOptions: { unusedCacheTime: 10_000 } }); // Long default
|
|
172
|
+
const unusedCacheTimeOverride = 25;
|
|
173
|
+
const options = testStoreOptions({ unusedCacheTime: unusedCacheTimeOverride });
|
|
174
|
+
const store = yield* registry.getOrLoad(options).pipe(Effect.scoped);
|
|
175
|
+
yield* Effect.yieldNow();
|
|
176
|
+
yield* TestClock.adjust(unusedCacheTimeOverride);
|
|
177
|
+
// Should be disposed according to the override time, not default
|
|
178
|
+
const nextStore = yield* registry.getOrLoad(options).pipe(Effect.scoped);
|
|
179
|
+
expect(nextStore).not.toBe(store);
|
|
180
|
+
}));
|
|
181
|
+
it.scoped('disposes different stores according to their own unusedCacheTime', () => Effect.gen(function* () {
|
|
182
|
+
const runtime = yield* Effect.runtime();
|
|
183
|
+
const registry = new StoreRegistry({ runtime, defaultOptions: { unusedCacheTime: 1000 } });
|
|
184
|
+
const shortOptions = testStoreOptions({ storeId: 'short-lived', unusedCacheTime: 25 });
|
|
185
|
+
const longOptions = testStoreOptions({ storeId: 'long-lived', unusedCacheTime: 10_000 });
|
|
186
|
+
const shortStore = yield* registry.getOrLoad(shortOptions).pipe(Effect.scoped);
|
|
187
|
+
const longStore = yield* registry.getOrLoad(longOptions).pipe(Effect.scoped);
|
|
188
|
+
yield* Effect.yieldNow();
|
|
189
|
+
// Advance past short store's unusedCacheTime only
|
|
190
|
+
yield* TestClock.adjust(25);
|
|
191
|
+
// Short store should be disposed, long store should still be cached
|
|
192
|
+
const nextShortStore = yield* registry.getOrLoad(shortOptions).pipe(Effect.scoped);
|
|
193
|
+
expect(nextShortStore).not.toBe(shortStore);
|
|
194
|
+
const cachedLongStore = yield* registry.getOrLoad(longOptions).pipe(Effect.scoped);
|
|
195
|
+
expect(cachedLongStore).toBe(longStore);
|
|
196
|
+
}));
|
|
197
|
+
// This test is skipped because we don't yet support dynamic `unusedCacheTime` updates for cached stores.
|
|
198
|
+
// See https://github.com/livestorejs/livestore/issues/918
|
|
199
|
+
it.scoped.skip('keeps the longest unusedCacheTime seen for a store when options vary across calls', () => Effect.gen(function* () {
|
|
200
|
+
const runtime = yield* Effect.runtime();
|
|
201
|
+
const registry = new StoreRegistry({ runtime });
|
|
202
|
+
const options = testStoreOptions({ unusedCacheTime: 10 });
|
|
203
|
+
const release = registry.retain(options);
|
|
204
|
+
const store = yield* registry.getOrLoad(options).pipe(Effect.scoped);
|
|
205
|
+
// Call with longer unusedCacheTime
|
|
206
|
+
yield* registry.getOrLoad(testStoreOptions({ unusedCacheTime: 100 })).pipe(Effect.scoped);
|
|
207
|
+
release();
|
|
208
|
+
yield* Effect.yieldNow();
|
|
209
|
+
// After 99ms, store should still be alive (100ms unusedCacheTime used)
|
|
210
|
+
yield* TestClock.adjust(99);
|
|
211
|
+
const cached = yield* registry.getOrLoad(options).pipe(Effect.scoped);
|
|
212
|
+
expect(cached).toBe(store);
|
|
213
|
+
// After 1 more ms, store should be disposed
|
|
214
|
+
yield* TestClock.adjust(1);
|
|
215
|
+
const nextStore = yield* registry.getOrLoad(options).pipe(Effect.scoped);
|
|
216
|
+
expect(nextStore).not.toBe(store);
|
|
217
|
+
}));
|
|
218
|
+
it.scoped('handles rapid retain/release cycles without errors', () => Effect.gen(function* () {
|
|
219
|
+
const unusedCacheTime = 50;
|
|
220
|
+
const runtime = yield* Effect.runtime();
|
|
221
|
+
const registry = new StoreRegistry({ runtime, defaultOptions: { unusedCacheTime } });
|
|
222
|
+
const options = testStoreOptions();
|
|
223
|
+
const store = yield* registry.getOrLoad(options).pipe(Effect.scoped);
|
|
224
|
+
// Rapidly retain and release multiple times
|
|
225
|
+
for (let i = 0; i < 10; i++) {
|
|
226
|
+
const release = registry.retain(options);
|
|
227
|
+
release();
|
|
228
|
+
}
|
|
229
|
+
yield* Effect.yieldNow();
|
|
230
|
+
yield* TestClock.adjust(unusedCacheTime);
|
|
231
|
+
// Store should be disposed after the last release
|
|
232
|
+
const nextStore = yield* registry.getOrLoad(options).pipe(Effect.scoped);
|
|
233
|
+
expect(nextStore).not.toBe(store);
|
|
234
|
+
}));
|
|
235
|
+
it.scoped('cancels disposal when new retain', () => Effect.gen(function* () {
|
|
236
|
+
const unusedCacheTime = 50;
|
|
237
|
+
const runtime = yield* Effect.runtime();
|
|
238
|
+
const registry = new StoreRegistry({ runtime, defaultOptions: { unusedCacheTime } });
|
|
239
|
+
const options = testStoreOptions();
|
|
240
|
+
const store = yield* registry.getOrLoad(options).pipe(Effect.scoped);
|
|
241
|
+
yield* Effect.yieldNow();
|
|
242
|
+
// Advance almost to disposal threshold
|
|
243
|
+
yield* TestClock.adjust(unusedCacheTime - 5);
|
|
244
|
+
// Add a new retain before disposal triggers
|
|
245
|
+
const release = registry.retain(options);
|
|
246
|
+
// Complete the original unusedCacheTime
|
|
247
|
+
yield* TestClock.adjust(5);
|
|
248
|
+
// Store should not have been disposed because retain keeps it alive
|
|
249
|
+
const cached = yield* registry.getOrLoad(options).pipe(Effect.scoped);
|
|
250
|
+
expect(cached).toBe(store);
|
|
251
|
+
// Release retain — new idle timer starts
|
|
252
|
+
release();
|
|
253
|
+
yield* Effect.yieldNow();
|
|
254
|
+
yield* TestClock.adjust(unusedCacheTime);
|
|
255
|
+
// Now it should be disposed
|
|
256
|
+
const nextStore = yield* registry.getOrLoad(options).pipe(Effect.scoped);
|
|
257
|
+
expect(nextStore).not.toBe(store);
|
|
258
|
+
}));
|
|
259
|
+
it.scoped('aborts loading when disposal fires while store is still loading', () => Effect.gen(function* () {
|
|
260
|
+
const unusedCacheTime = 10;
|
|
261
|
+
const loadDelay = 1000;
|
|
262
|
+
const runtime = yield* Effect.runtime();
|
|
263
|
+
const registry = new StoreRegistry({ runtime, defaultOptions: { unusedCacheTime } });
|
|
264
|
+
// Adapter that takes time to load (controlled by TestClock)
|
|
265
|
+
const baseAdapter = makeInMemoryAdapter();
|
|
266
|
+
const options = testStoreOptions({
|
|
267
|
+
adapter: ((args) => Effect.gen(function* () {
|
|
268
|
+
yield* Effect.sleep(loadDelay);
|
|
269
|
+
return yield* baseAdapter(args);
|
|
270
|
+
})),
|
|
271
|
+
});
|
|
272
|
+
// Retain triggers loading (won't complete until clock advances past loadDelay)
|
|
273
|
+
const release = registry.retain(options);
|
|
274
|
+
yield* Effect.yieldNow();
|
|
275
|
+
// Release immediately — schedules disposal after unusedCacheTime
|
|
276
|
+
release();
|
|
277
|
+
yield* Effect.yieldNow();
|
|
278
|
+
// Advance past unusedCacheTime but NOT past loadDelay → disposal fires, interrupts loading
|
|
279
|
+
yield* TestClock.adjust(unusedCacheTime);
|
|
280
|
+
// Start a fresh load — since the first was aborted, this should be a new entry
|
|
281
|
+
const freshLoadFiber = yield* Effect.fork(registry.getOrLoad(options).pipe(Effect.scoped));
|
|
282
|
+
yield* Effect.yieldNow();
|
|
283
|
+
// Advance enough for the fresh load to complete
|
|
284
|
+
yield* TestClock.adjust(loadDelay);
|
|
285
|
+
const store = yield* Fiber.join(freshLoadFiber);
|
|
286
|
+
expect(store).toBeDefined();
|
|
287
|
+
}));
|
|
288
|
+
it.scoped('retain keeps store alive past unusedCacheTime', () => Effect.gen(function* () {
|
|
289
|
+
const unusedCacheTime = 50;
|
|
290
|
+
const runtime = yield* Effect.runtime();
|
|
291
|
+
const registry = new StoreRegistry({ runtime, defaultOptions: { unusedCacheTime } });
|
|
292
|
+
const options = testStoreOptions();
|
|
293
|
+
// Load the store
|
|
294
|
+
const store = yield* registry.getOrLoad(options).pipe(Effect.scoped);
|
|
295
|
+
// Retain the store before disposal could fire
|
|
296
|
+
const release = registry.retain(options);
|
|
297
|
+
yield* Effect.yieldNow();
|
|
298
|
+
// Advance past unusedCacheTime — idle timer fires but refCount > 0, so no eviction
|
|
299
|
+
yield* TestClock.adjust(unusedCacheTime + 50);
|
|
300
|
+
// Store should still be cached because retain keeps it alive
|
|
301
|
+
const cached = yield* registry.getOrLoad(options).pipe(Effect.scoped);
|
|
302
|
+
expect(cached).toBe(store);
|
|
303
|
+
release();
|
|
304
|
+
}));
|
|
305
|
+
it.scoped('manages multiple stores with different IDs independently', () => Effect.gen(function* () {
|
|
306
|
+
const unusedCacheTime = 50;
|
|
307
|
+
const runtime = yield* Effect.runtime();
|
|
308
|
+
const registry = new StoreRegistry({ runtime, defaultOptions: { unusedCacheTime } });
|
|
309
|
+
const options1 = testStoreOptions({ storeId: 'store-1' });
|
|
310
|
+
const options2 = testStoreOptions({ storeId: 'store-2' });
|
|
311
|
+
const store1 = yield* registry.getOrLoad(options1).pipe(Effect.scoped);
|
|
312
|
+
const store2 = yield* registry.getOrLoad(options2).pipe(Effect.scoped);
|
|
313
|
+
// Should be different store instances
|
|
314
|
+
expect(store1).not.toBe(store2);
|
|
315
|
+
// Both should be cached independently
|
|
316
|
+
const cached1 = yield* registry.getOrLoad(options1).pipe(Effect.scoped);
|
|
317
|
+
const cached2 = yield* registry.getOrLoad(options2).pipe(Effect.scoped);
|
|
318
|
+
expect(cached1).toBe(store1);
|
|
319
|
+
expect(cached2).toBe(store2);
|
|
320
|
+
yield* Effect.yieldNow();
|
|
321
|
+
yield* TestClock.adjust(unusedCacheTime);
|
|
322
|
+
// Both stores should be disposed
|
|
323
|
+
const newStore1 = yield* registry.getOrLoad(options1).pipe(Effect.scoped);
|
|
324
|
+
const newStore2 = yield* registry.getOrLoad(options2).pipe(Effect.scoped);
|
|
325
|
+
expect(newStore1).not.toBe(store1);
|
|
326
|
+
expect(newStore2).not.toBe(store2);
|
|
327
|
+
}));
|
|
328
|
+
it.scoped('applies default options from constructor', () => Effect.gen(function* () {
|
|
329
|
+
const runtime = yield* Effect.runtime();
|
|
330
|
+
const registry = new StoreRegistry({ runtime, defaultOptions: { unusedCacheTime: 100 } });
|
|
331
|
+
const options = testStoreOptions();
|
|
332
|
+
const store = yield* registry.getOrLoad(options).pipe(Effect.scoped);
|
|
333
|
+
// Verify the store loads successfully
|
|
334
|
+
expect(store).toBeDefined();
|
|
335
|
+
expect(store[StoreInternalsSymbol].clientSession.debugInstanceId).toBeDefined();
|
|
336
|
+
yield* Effect.yieldNow();
|
|
337
|
+
// After 50ms, store should still be cached (default is 100ms)
|
|
338
|
+
yield* TestClock.adjust(50);
|
|
339
|
+
const cached = yield* registry.getOrLoad(options).pipe(Effect.scoped);
|
|
340
|
+
expect(cached).toBe(store);
|
|
341
|
+
}));
|
|
342
|
+
it.scoped('does not serve a disposed store from cache', () => Effect.gen(function* () {
|
|
343
|
+
const unusedCacheTime = 25;
|
|
344
|
+
const runtime = yield* Effect.runtime();
|
|
345
|
+
const registry = new StoreRegistry({ runtime, defaultOptions: { unusedCacheTime } });
|
|
346
|
+
const options = testStoreOptions();
|
|
347
|
+
const originalStore = yield* registry.getOrLoad(options).pipe(Effect.scoped);
|
|
348
|
+
// Verify store is cached
|
|
349
|
+
const cached = yield* registry.getOrLoad(options).pipe(Effect.scoped);
|
|
350
|
+
expect(cached).toBe(originalStore);
|
|
351
|
+
yield* Effect.yieldNow();
|
|
352
|
+
yield* TestClock.adjust(unusedCacheTime);
|
|
353
|
+
// After disposal, calling getOrLoad should produce a fresh store
|
|
354
|
+
const freshStore = yield* registry.getOrLoad(options).pipe(Effect.scoped);
|
|
355
|
+
expect(freshStore).not.toBe(originalStore);
|
|
356
|
+
}));
|
|
357
|
+
it.scoped('schedules disposal after preload if no retainers are added', () => Effect.gen(function* () {
|
|
358
|
+
const unusedCacheTime = 50;
|
|
359
|
+
const runtime = yield* Effect.runtime();
|
|
360
|
+
const registry = new StoreRegistry({ runtime, defaultOptions: { unusedCacheTime } });
|
|
361
|
+
const options = testStoreOptions();
|
|
362
|
+
// Preload without retaining (load + immediate release)
|
|
363
|
+
const store = yield* registry.getOrLoad(options).pipe(Effect.scoped);
|
|
364
|
+
// Verify it's cached
|
|
365
|
+
const cached = yield* registry.getOrLoad(options).pipe(Effect.scoped);
|
|
366
|
+
expect(cached).toBe(store);
|
|
367
|
+
yield* Effect.yieldNow();
|
|
368
|
+
yield* TestClock.adjust(unusedCacheTime);
|
|
369
|
+
// Store should be disposed since no retainers were added
|
|
370
|
+
const nextStore = yield* registry.getOrLoad(options).pipe(Effect.scoped);
|
|
371
|
+
expect(nextStore).not.toBe(store);
|
|
372
|
+
}));
|
|
372
373
|
});
|
|
373
374
|
});
|
|
374
375
|
const testStoreOptions = (overrides = {}) => storeOptions({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StoreRegistry.test.js","sourceRoot":"","sources":["../../src/store/StoreRegistry.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"StoreRegistry.test.js","sourceRoot":"","sources":["../../src/store/StoreRegistry.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,13 @@
|
|
|
1
|
+
import * as otel from '@opentelemetry/api';
|
|
1
2
|
import { type Adapter, type BootStatus, type ClientSessionSyncProcessorSimulationParams, LogConfig, type MigrationsReport, UnknownError } from '@livestore/common';
|
|
2
3
|
import type { LiveStoreSchema } from '@livestore/common/schema';
|
|
3
4
|
import { Context, Deferred, Effect, Layer, OtelTracer, Schema, Scope } from '@livestore/utils/effect';
|
|
4
|
-
import * as otel from '@opentelemetry/api';
|
|
5
|
-
import { Store } from './store.ts';
|
|
6
5
|
import type { LiveStoreContextRunning as LiveStoreContextRunning_, OtelOptions, ShutdownDeferred } from './store-types.ts';
|
|
6
|
+
import { Store } from './store.ts';
|
|
7
|
+
declare global {
|
|
8
|
+
/** Store instances for console debugging */
|
|
9
|
+
var __debugLiveStore: Record<string, Store<any, any>> | undefined;
|
|
10
|
+
}
|
|
7
11
|
declare const LiveStoreContextRunning_base: Context.TagClass<LiveStoreContextRunning, "@livestore/livestore/effect/LiveStoreContextRunning", LiveStoreContextRunning_>;
|
|
8
12
|
/**
|
|
9
13
|
* @deprecated Use `makeStoreContext()` from `@livestore/livestore/effect` instead.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-store.d.ts","sourceRoot":"","sources":["../../src/store/create-store.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,UAAU,EAGf,KAAK,0CAA0C,
|
|
1
|
+
{"version":3,"file":"create-store.d.ts","sourceRoot":"","sources":["../../src/store/create-store.ts"],"names":[],"mappings":"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"}
|