@livestore/react 0.4.0-dev.20 → 0.4.0-dev.21

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.
Files changed (40) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/LiveStoreContext.d.ts +27 -0
  3. package/dist/LiveStoreContext.d.ts.map +1 -1
  4. package/dist/LiveStoreContext.js +18 -0
  5. package/dist/LiveStoreContext.js.map +1 -1
  6. package/dist/LiveStoreProvider.d.ts +9 -2
  7. package/dist/LiveStoreProvider.d.ts.map +1 -1
  8. package/dist/LiveStoreProvider.js +2 -1
  9. package/dist/LiveStoreProvider.js.map +1 -1
  10. package/dist/experimental/multi-store/StoreRegistry.d.ts +60 -16
  11. package/dist/experimental/multi-store/StoreRegistry.d.ts.map +1 -1
  12. package/dist/experimental/multi-store/StoreRegistry.js +125 -216
  13. package/dist/experimental/multi-store/StoreRegistry.js.map +1 -1
  14. package/dist/experimental/multi-store/StoreRegistry.test.js +224 -307
  15. package/dist/experimental/multi-store/StoreRegistry.test.js.map +1 -1
  16. package/dist/experimental/multi-store/types.d.ts +4 -23
  17. package/dist/experimental/multi-store/types.d.ts.map +1 -1
  18. package/dist/experimental/multi-store/useStore.d.ts +1 -1
  19. package/dist/experimental/multi-store/useStore.d.ts.map +1 -1
  20. package/dist/experimental/multi-store/useStore.js +5 -10
  21. package/dist/experimental/multi-store/useStore.js.map +1 -1
  22. package/dist/experimental/multi-store/useStore.test.js +95 -41
  23. package/dist/experimental/multi-store/useStore.test.js.map +1 -1
  24. package/dist/useClientDocument.d.ts +33 -0
  25. package/dist/useClientDocument.d.ts.map +1 -1
  26. package/dist/useClientDocument.js.map +1 -1
  27. package/dist/useStore.d.ts +51 -0
  28. package/dist/useStore.d.ts.map +1 -1
  29. package/dist/useStore.js +51 -0
  30. package/dist/useStore.js.map +1 -1
  31. package/package.json +6 -6
  32. package/src/LiveStoreContext.ts +27 -0
  33. package/src/LiveStoreProvider.tsx +9 -0
  34. package/src/experimental/multi-store/StoreRegistry.test.ts +236 -349
  35. package/src/experimental/multi-store/StoreRegistry.ts +171 -265
  36. package/src/experimental/multi-store/types.ts +31 -49
  37. package/src/experimental/multi-store/useStore.test.tsx +120 -48
  38. package/src/experimental/multi-store/useStore.ts +5 -13
  39. package/src/useClientDocument.ts +35 -0
  40. package/src/useStore.ts +51 -0
@@ -1 +1 @@
1
- {"version":3,"file":"StoreRegistry.test.js","sourceRoot":"","sources":["../../../src/experimental/multi-store/StoreRegistry.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StoreRegistry.test.js","sourceRoot":"","sources":["../../../src/experimental/multi-store/StoreRegistry.test.ts"],"names":[],"mappings":"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"}
@@ -1,35 +1,16 @@
1
- import type { Adapter } from '@livestore/common';
2
1
  import type { LiveStoreSchema } from '@livestore/common/schema';
3
2
  import type { CreateStoreOptions, OtelOptions } from '@livestore/livestore';
4
- export type StoreId = string;
5
- /**
6
- * Minimum information required to create a store
7
- */
8
- export type StoreDescriptor<TSchema extends LiveStoreSchema> = {
9
- /**
10
- * Schema describing the data structure.
11
- */
12
- readonly schema: TSchema;
13
- /**
14
- * Adapter for persistence and synchronization.
15
- */
16
- readonly adapter: Adapter;
17
- /**
18
- * The ID of the store.
19
- */
20
- readonly storeId: StoreId;
21
- };
22
- export type CachedStoreOptions<TSchema extends LiveStoreSchema = LiveStoreSchema.Any, TContext = {}> = StoreDescriptor<TSchema> & Pick<CreateStoreOptions<TSchema, TContext>, 'boot' | 'batchUpdates' | 'disableDevtools' | 'confirmUnsavedChanges' | 'syncPayload' | 'debug'> & {
3
+ export type CachedStoreOptions<TSchema extends LiveStoreSchema = LiveStoreSchema.Any, TContext = {}> = Pick<CreateStoreOptions<TSchema, TContext>, 'storeId' | 'schema' | 'adapter' | 'boot' | 'batchUpdates' | 'disableDevtools' | 'confirmUnsavedChanges' | 'syncPayload' | 'debug' | 'shutdownDeferred'> & {
23
4
  signal?: AbortSignal;
24
5
  otelOptions?: Partial<OtelOptions>;
25
6
  /**
26
7
  * The time in milliseconds that this store should remain
27
8
  * in memory after becoming unused. When this store becomes
28
- * unused (no subscribers), it will be disposed after this duration.
9
+ * unused (no active retentions), it will be disposed after this duration.
29
10
  *
30
11
  * Stores transition to the unused state as soon as they have no
31
- * subscriptions registered, so when all components which use that
32
- * store have unmounted.
12
+ * active retentions, so when all components which use that store
13
+ * have unmounted.
33
14
  *
34
15
  * @remarks
35
16
  * - When different `unusedCacheTime` values are used for the same store, the longest one will be used.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/experimental/multi-store/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAE3E,MAAM,MAAM,OAAO,GAAG,MAAM,CAAA;AAE5B;;GAEG;AACH,MAAM,MAAM,eAAe,CAAC,OAAO,SAAS,eAAe,IAAI;IAC7D;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IAExB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IAEzB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,kBAAkB,CAC5B,OAAO,SAAS,eAAe,GAAG,eAAe,CAAC,GAAG,EACrD,QAAQ,GAAG,EAAE,IACX,eAAe,CAAC,OAAO,CAAC,GAC1B,IAAI,CACF,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,EACrC,MAAM,GAAG,cAAc,GAAG,iBAAiB,GAAG,uBAAuB,GAAG,aAAa,GAAG,OAAO,CAChG,GAAG;IACF,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;IAClC;;;;;;;;;;;;;;;;OAgBG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/experimental/multi-store/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAE3E,MAAM,MAAM,kBAAkB,CAAC,OAAO,SAAS,eAAe,GAAG,eAAe,CAAC,GAAG,EAAE,QAAQ,GAAG,EAAE,IAAI,IAAI,CACzG,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,EACnC,SAAS,GACT,QAAQ,GACR,SAAS,GACT,MAAM,GACN,cAAc,GACd,iBAAiB,GACjB,uBAAuB,GACvB,aAAa,GACb,OAAO,GACP,kBAAkB,CACrB,GAAG;IACF,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;IAClC;;;;;;;;;;;;;;;;OAgBG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB,CAAA"}
@@ -3,7 +3,7 @@ import type { Store } from '@livestore/livestore';
3
3
  import type { ReactApi } from '../../LiveStoreContext.ts';
4
4
  import type { CachedStoreOptions } from './types.ts';
5
5
  /**
6
- * Suspense + Error Boundary friendly hook.
6
+ * Suspense and Error Boundary friendly hook.
7
7
  * - Returns data or throws (Promise|Error).
8
8
  * - No loading or error states are returned.
9
9
  */
@@ -1 +1 @@
1
- {"version":3,"file":"useStore.d.ts","sourceRoot":"","sources":["../../../src/experimental/multi-store/useStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AAGzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAEpD;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GAAI,OAAO,SAAS,eAAe,EACtD,SAAS,kBAAkB,CAAC,OAAO,CAAC,KACnC,KAAK,CAAC,OAAO,CAAC,GAAG,QAkBnB,CAAA"}
1
+ {"version":3,"file":"useStore.d.ts","sourceRoot":"","sources":["../../../src/experimental/multi-store/useStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AAGzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAEpD;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GAAI,OAAO,SAAS,eAAe,EACtD,SAAS,kBAAkB,CAAC,OAAO,CAAC,KACnC,KAAK,CAAC,OAAO,CAAC,GAAG,QAUnB,CAAA"}
@@ -2,20 +2,15 @@ import * as React from 'react';
2
2
  import { withReactApi } from "../../useStore.js";
3
3
  import { useStoreRegistry } from "./StoreRegistryContext.js";
4
4
  /**
5
- * Suspense + Error Boundary friendly hook.
5
+ * Suspense and Error Boundary friendly hook.
6
6
  * - Returns data or throws (Promise|Error).
7
7
  * - No loading or error states are returned.
8
8
  */
9
9
  export const useStore = (options) => {
10
10
  const storeRegistry = useStoreRegistry();
11
- const subscribe = React.useCallback((onChange) => storeRegistry.subscribe(options.storeId, onChange), [storeRegistry, options.storeId]);
12
- const getSnapshot = React.useCallback(() => {
13
- const storeOrPromise = storeRegistry.getOrLoad(options);
14
- if (storeOrPromise instanceof Promise)
15
- throw storeOrPromise;
16
- return storeOrPromise;
17
- }, [storeRegistry, options]);
18
- const loadedStore = React.useSyncExternalStore(subscribe, getSnapshot, getSnapshot);
19
- return withReactApi(loadedStore);
11
+ React.useEffect(() => storeRegistry.retain(options), [storeRegistry, options]);
12
+ const storeOrPromise = React.useMemo(() => storeRegistry.getOrLoadPromise(options), [storeRegistry, options]);
13
+ const store = storeOrPromise instanceof Promise ? React.use(storeOrPromise) : storeOrPromise;
14
+ return withReactApi(store);
20
15
  };
21
16
  //# sourceMappingURL=useStore.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useStore.js","sourceRoot":"","sources":["../../../src/experimental/multi-store/useStore.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA4B,CAAA;AAG7D;;;;GAIG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,OAAoC,EACT,EAAE;IAC7B,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAA;IAExC,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CACjC,CAAC,QAAoB,EAAE,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,EAC5E,CAAC,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,CACjC,CAAA;IACD,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACzC,MAAM,cAAc,GAAG,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QAEvD,IAAI,cAAc,YAAY,OAAO;YAAE,MAAM,cAAc,CAAA;QAE3D,OAAO,cAAc,CAAA;IACvB,CAAC,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAA;IAE5B,MAAM,WAAW,GAAG,KAAK,CAAC,oBAAoB,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC,CAAA;IAEnF,OAAO,YAAY,CAAC,WAAW,CAAC,CAAA;AAClC,CAAC,CAAA"}
1
+ {"version":3,"file":"useStore.js","sourceRoot":"","sources":["../../../src/experimental/multi-store/useStore.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA4B,CAAA;AAG7D;;;;GAIG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,OAAoC,EACT,EAAE;IAC7B,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAA;IAExC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAA;IAE9E,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAA;IAE7G,MAAM,KAAK,GAAG,cAAc,YAAY,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAA;IAE5F,OAAO,YAAY,CAAC,KAAK,CAAC,CAAA;AAC5B,CAAC,CAAA"}
@@ -1,44 +1,65 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { makeInMemoryAdapter } from '@livestore/adapter-web';
3
3
  import { StoreInternalsSymbol } from '@livestore/livestore';
4
- import { render, renderHook, waitFor } from '@testing-library/react';
4
+ import { shouldNeverHappen } from '@livestore/utils';
5
+ import { act, render, renderHook, waitFor } from '@testing-library/react';
5
6
  import * as React from 'react';
6
- import { afterEach, describe, expect, it, vi } from 'vitest';
7
+ import { describe, expect, it } from 'vitest';
7
8
  import { schema } from "../../__tests__/fixture.js";
8
9
  import { StoreRegistry } from "./StoreRegistry.js";
9
10
  import { StoreRegistryProvider } from "./StoreRegistryContext.js";
10
11
  import { storeOptions } from "./storeOptions.js";
11
12
  import { useStore } from "./useStore.js";
12
13
  describe('experimental useStore', () => {
13
- afterEach(() => {
14
- vi.clearAllTimers();
15
- vi.useRealTimers();
14
+ it('should return the same promise instance for concurrent getOrLoadStore calls', async () => {
15
+ const registry = new StoreRegistry();
16
+ const options = testStoreOptions();
17
+ // Make two concurrent calls during loading
18
+ const firstStore = registry.getOrLoadPromise(options);
19
+ const secondStore = registry.getOrLoadPromise(options);
20
+ // Both should be promises (store is loading)
21
+ expect(firstStore).toBeInstanceOf(Promise);
22
+ expect(secondStore).toBeInstanceOf(Promise);
23
+ // EXPECTED BEHAVIOR: Same promise instance for React.use() compatibility
24
+ // ACTUAL BEHAVIOR: Different promise instances (Effect.runPromise creates new wrapper)
25
+ expect(firstStore).toBe(secondStore);
26
+ // Cleanup
27
+ await firstStore;
28
+ await cleanupAfterUnmount(() => { });
16
29
  });
17
- it('suspends when the store is loading', async () => {
30
+ it('works with Suspense boundary', async () => {
18
31
  const registry = new StoreRegistry();
19
32
  const options = testStoreOptions();
20
- const view = render(_jsx(StoreRegistryProvider, { storeRegistry: registry, children: _jsx(React.Suspense, { fallback: _jsx("div", { "data-testid": "fallback" }), children: _jsx(StoreConsumer, { options: options }) }) }));
21
- // Should show fallback while loading
22
- expect(view.getByTestId('fallback')).toBeDefined();
23
- // Wait for store to load and component to render
24
- await waitForSuspenseResolved(view);
25
- expect(view.getByTestId('ready')).toBeDefined();
26
- cleanupWithPendingTimers(() => view.unmount());
33
+ let view;
34
+ await act(async () => {
35
+ view = render(_jsx(StoreRegistryProvider, { storeRegistry: registry, children: _jsx(React.Suspense, { fallback: _jsx("div", { "data-testid": "fallback" }), children: _jsx(StoreConsumer, { options: options }) }) }));
36
+ });
37
+ const renderedView = view ?? shouldNeverHappen('render failed');
38
+ // After loading completes, should show the actual content
39
+ await waitForSuspenseResolved(renderedView);
40
+ expect(renderedView.getByTestId('ready')).toBeDefined();
41
+ await cleanupAfterUnmount(() => renderedView.unmount());
27
42
  });
28
43
  it('does not re-suspend on subsequent renders when store is already loaded', async () => {
29
44
  const registry = new StoreRegistry();
30
45
  const options = testStoreOptions();
31
46
  const Wrapper = ({ opts }) => (_jsx(StoreRegistryProvider, { storeRegistry: registry, children: _jsx(React.Suspense, { fallback: _jsx("div", { "data-testid": "fallback" }), children: _jsx(StoreConsumer, { options: opts }) }) }));
32
- const view = render(_jsx(Wrapper, { opts: options }));
47
+ let view;
48
+ await act(async () => {
49
+ view = render(_jsx(Wrapper, { opts: options }));
50
+ });
51
+ const renderedView = view ?? shouldNeverHappen('render failed');
33
52
  // Wait for initial load
34
- await waitForSuspenseResolved(view);
35
- expect(view.getByTestId('ready')).toBeDefined();
53
+ await waitForSuspenseResolved(renderedView);
54
+ expect(renderedView.getByTestId('ready')).toBeDefined();
36
55
  // Rerender with new options object (but same storeId)
37
- view.rerender(_jsx(Wrapper, { opts: { ...options } }));
56
+ await act(async () => {
57
+ renderedView.rerender(_jsx(Wrapper, { opts: { ...options } }));
58
+ });
38
59
  // Should not show fallback
39
- expect(view.queryByTestId('fallback')).toBeNull();
40
- expect(view.getByTestId('ready')).toBeDefined();
41
- cleanupWithPendingTimers(() => view.unmount());
60
+ expect(renderedView.queryByTestId('fallback')).toBeNull();
61
+ expect(renderedView.getByTestId('ready')).toBeDefined();
62
+ await cleanupAfterUnmount(() => renderedView.unmount());
42
63
  });
43
64
  it('throws when store loading fails', async () => {
44
65
  const registry = new StoreRegistry();
@@ -46,8 +67,8 @@ describe('experimental useStore', () => {
46
67
  // @ts-expect-error - intentionally passing invalid adapter to trigger error
47
68
  adapter: null,
48
69
  });
49
- // Pre-load the store to cache the error
50
- await expect(registry.getOrLoad(badOptions)).rejects.toThrow();
70
+ // Pre-load the store to cache the error (error happens synchronously)
71
+ expect(() => registry.getOrLoadPromise(badOptions)).toThrow();
51
72
  // Now when useStore tries to get it, it should throw synchronously
52
73
  expect(() => renderHook(() => useStore(badOptions), {
53
74
  wrapper: makeProvider(registry),
@@ -59,29 +80,39 @@ describe('experimental useStore', () => {
59
80
  ])('works in $label', async ({ strictMode }) => {
60
81
  const registry = new StoreRegistry();
61
82
  const options = testStoreOptions();
62
- const { result, unmount } = renderHook(() => useStore(options), {
63
- wrapper: makeProvider(registry, { suspense: true }),
64
- reactStrictMode: strictMode,
83
+ let hook;
84
+ await act(async () => {
85
+ hook = renderHook(() => useStore(options), {
86
+ wrapper: makeProvider(registry, { suspense: true }),
87
+ reactStrictMode: strictMode,
88
+ });
65
89
  });
90
+ const { result, unmount } = hook ?? shouldNeverHappen('renderHook failed');
66
91
  // Wait for store to be ready
67
92
  await waitForStoreReady(result);
68
93
  expect(result.current[StoreInternalsSymbol].clientSession).toBeDefined();
69
- cleanupWithPendingTimers(unmount);
94
+ await cleanupAfterUnmount(unmount);
70
95
  });
71
96
  it('handles switching between different storeId values', async () => {
72
97
  const registry = new StoreRegistry();
73
98
  const optionsA = testStoreOptions({ storeId: 'store-a' });
74
99
  const optionsB = testStoreOptions({ storeId: 'store-b' });
75
- const { result, rerender, unmount } = renderHook((opts) => useStore(opts), {
76
- initialProps: optionsA,
77
- wrapper: makeProvider(registry, { suspense: true }),
100
+ let hook;
101
+ await act(async () => {
102
+ hook = renderHook((opts) => useStore(opts), {
103
+ initialProps: optionsA,
104
+ wrapper: makeProvider(registry, { suspense: true }),
105
+ });
78
106
  });
107
+ const { result, rerender, unmount } = hook ?? shouldNeverHappen('renderHook failed');
79
108
  // Wait for first store to load
80
109
  await waitForStoreReady(result);
81
110
  const storeA = result.current;
82
111
  expect(storeA[StoreInternalsSymbol].clientSession).toBeDefined();
83
112
  // Switch to different storeId
84
- rerender(optionsB);
113
+ await act(async () => {
114
+ rerender(optionsB);
115
+ });
85
116
  // Wait for second store to load and verify it's different from the first
86
117
  await waitFor(() => {
87
118
  expect(result.current).not.toBe(storeA);
@@ -90,7 +121,33 @@ describe('experimental useStore', () => {
90
121
  const storeB = result.current;
91
122
  expect(storeB[StoreInternalsSymbol].clientSession).toBeDefined();
92
123
  expect(storeB).not.toBe(storeA);
93
- cleanupWithPendingTimers(unmount);
124
+ await cleanupAfterUnmount(unmount);
125
+ });
126
+ // useStore doesn't handle unusedCacheTime=0 correctly because retain is called in useEffect (after render)
127
+ // See https://github.com/livestorejs/livestore/issues/916
128
+ it.skip('should load store with unusedCacheTime set to 0', async () => {
129
+ const registry = new StoreRegistry({ defaultOptions: { unusedCacheTime: 0 } });
130
+ const options = testStoreOptions({ unusedCacheTime: 0 });
131
+ const StoreConsumerWithVerification = ({ opts }) => {
132
+ const store = useStore(opts);
133
+ // Verify store is usable - access internals to confirm it's not disposed
134
+ const clientSession = store[StoreInternalsSymbol].clientSession;
135
+ return _jsx("div", { "data-testid": "ready", "data-has-session": String(clientSession !== undefined) });
136
+ };
137
+ let view;
138
+ await act(async () => {
139
+ view = render(_jsx(StoreRegistryProvider, { storeRegistry: registry, children: _jsx(React.Suspense, { fallback: _jsx("div", { "data-testid": "fallback" }), children: _jsx(StoreConsumerWithVerification, { opts: options }) }) }));
140
+ });
141
+ const renderedView = view ?? shouldNeverHappen('render failed');
142
+ await waitForSuspenseResolved(renderedView);
143
+ // Store should be usable while component is mounted
144
+ const readyElement = renderedView.getByTestId('ready');
145
+ expect(readyElement.getAttribute('data-has-session')).toBe('true');
146
+ // Allow some time to pass to ensure store isn't prematurely disposed
147
+ await new Promise((resolve) => setTimeout(resolve, 50));
148
+ // Store should still be usable after waiting
149
+ expect(readyElement.getAttribute('data-has-session')).toBe('true');
150
+ await cleanupAfterUnmount(() => renderedView.unmount());
94
151
  });
95
152
  });
96
153
  const StoreConsumer = ({ options }) => {
@@ -104,26 +161,23 @@ const makeProvider = (registry, { suspense = false } = {}) => ({ children }) =>
104
161
  }
105
162
  return content;
106
163
  };
164
+ let testStoreCounter = 0;
107
165
  const testStoreOptions = (overrides = {}) => storeOptions({
108
- storeId: 'test-store',
166
+ storeId: overrides.storeId ?? `test-store-${testStoreCounter++}`,
109
167
  schema,
110
168
  adapter: makeInMemoryAdapter(),
111
169
  ...overrides,
112
170
  });
113
171
  /**
114
- * Cleans up after component unmount by synchronously executing any pending GC timers.
172
+ * Cleans up after component unmount and waits for pending operations to settle.
115
173
  *
116
174
  * When components using stores unmount, the StoreRegistry schedules garbage collection
117
- * timers for inactive stores. Without this cleanup, those timers may fire during
118
- * subsequent tests, causing cross-test pollution and flaky failures.
119
- *
120
- * This helper switches to fake timers, executes only the already-pending timers
121
- * (allowing stores to shut down cleanly), then restores real timers for the next test.
175
+ * timers for inactive stores. This helper waits for those timers to complete naturally.
122
176
  */
123
- const cleanupWithPendingTimers = (cleanup) => {
124
- vi.useFakeTimers();
177
+ const cleanupAfterUnmount = async (cleanup) => {
125
178
  cleanup();
126
- vi.runOnlyPendingTimers();
179
+ // Allow any pending microtasks/timers to settle
180
+ await new Promise((resolve) => setTimeout(resolve, 100));
127
181
  };
128
182
  /**
129
183
  * Waits for React Suspense fallback to resolve and the actual content to render.
@@ -1 +1 @@
1
- {"version":3,"file":"useStore.test.js","sourceRoot":"","sources":["../../../src/experimental/multi-store/useStore.test.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useStore.test.js","sourceRoot":"","sources":["../../../src/experimental/multi-store/useStore.test.tsx"],"names":[],"mappings":"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"}
@@ -2,6 +2,17 @@ import type { RowQuery } from '@livestore/common';
2
2
  import { SessionIdSymbol } from '@livestore/common';
3
3
  import { State } from '@livestore/common/schema';
4
4
  import type { LiveQuery } from '@livestore/livestore';
5
+ /**
6
+ * Return type of `useClientDocument` hook.
7
+ *
8
+ * A tuple providing React-style state access to a client-document table row:
9
+ * - `[0]` row: The current value (decoded according to the table schema)
10
+ * - `[1]` setRow: Setter function to update the document
11
+ * - `[2]` id: The document's ID (resolved from `SessionIdSymbol` if applicable)
12
+ * - `[3]` query$: The underlying `LiveQuery` for advanced use cases
13
+ *
14
+ * @typeParam TTableDef - The client-document table definition type
15
+ */
5
16
  export type UseClientDocumentResult<TTableDef extends State.SQLite.ClientDocumentTableDef.TraitAny> = [
6
17
  row: TTableDef['Value'],
7
18
  setRow: StateSetters<TTableDef>,
@@ -51,8 +62,30 @@ export declare const useClientDocument: {
51
62
  default: any;
52
63
  }>>(table: TTableDef, id: State.SQLite.ClientDocumentTableDef.DefaultIdType<TTableDef> | string | SessionIdSymbol, options?: Partial<RowQuery.GetOrCreateOptions<TTableDef>>): UseClientDocumentResult<TTableDef>;
53
64
  };
65
+ /**
66
+ * A function that dispatches an action. Mirrors React's `Dispatch` type.
67
+ * @typeParam A - The action type
68
+ */
54
69
  export type Dispatch<A> = (action: A) => void;
70
+ /**
71
+ * A state update that can be either a partial value or a function returning a partial value.
72
+ * Used when the client-document table has `partialSet: true`.
73
+ * @typeParam S - The state type
74
+ */
55
75
  export type SetStateActionPartial<S> = Partial<S> | ((previousValue: S) => Partial<S>);
76
+ /**
77
+ * A state update that can be either a full value or a function returning a full value.
78
+ * Mirrors React's `SetStateAction` type.
79
+ * @typeParam S - The state type
80
+ */
56
81
  export type SetStateAction<S> = S | ((previousValue: S) => S);
82
+ /**
83
+ * The setter function type for `useClientDocument`, determined by the table's `partialSet` option.
84
+ *
85
+ * - If `partialSet: false` (default), requires full state replacement
86
+ * - If `partialSet: true`, accepts partial updates merged with existing state
87
+ *
88
+ * @typeParam TTableDef - The client-document table definition type
89
+ */
57
90
  export type StateSetters<TTableDef extends State.SQLite.ClientDocumentTableDef.TraitAny> = Dispatch<TTableDef[State.SQLite.ClientDocumentTableDefSymbol]['options']['partialSet'] extends false ? SetStateAction<TTableDef['Value']> : SetStateActionPartial<TTableDef['Value']>>;
58
91
  //# sourceMappingURL=useClientDocument.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useClientDocument.d.ts","sourceRoot":"","sources":["../src/useClientDocument.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAChD,OAAO,KAAK,EAAE,SAAS,EAAuB,MAAM,sBAAsB,CAAA;AAQ1E,MAAM,MAAM,uBAAuB,CAAC,SAAS,SAAS,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,QAAQ,IAAI;IACpG,GAAG,EAAE,SAAS,CAAC,OAAO,CAAC;IACvB,MAAM,EAAE,YAAY,CAAC,SAAS,CAAC;IAC/B,EAAE,EAAE,MAAM;IACV,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;CACtC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,iBAAiB,EAAE;IAE9B,CACE,SAAS,SAAS,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,KAAK,CACzD,GAAG,EACH,GAAG,EACH,GAAG,EACH;QACE,UAAU,EAAE,OAAO,CAAA;QACnB,kFAAkF;QAClF,OAAO,EAAE,GAAG,CAAA;KACb,CACF,EAED,KAAK,EAAE,SAAS,EAChB,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,eAAe,EACnF,OAAO,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,GACxD,uBAAuB,CAAC,SAAS,CAAC,CAAA;IAGrC,CACE,SAAS,SAAS,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,KAAK,CACzD,GAAG,EACH,GAAG,EACH,GAAG,EACH;QACE,UAAU,EAAE,OAAO,CAAA;QACnB,kFAAkF;QAClF,OAAO,EAAE,GAAG,CAAA;KACb,CACF,EAED,KAAK,EAAE,SAAS,EAEhB,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,MAAM,GAAG,eAAe,EAC3F,OAAO,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,GACxD,uBAAuB,CAAC,SAAS,CAAC,CAAA;CAuDtC,CAAA;AAED,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,CAAA;AAC7C,MAAM,MAAM,qBAAqB,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;AACtF,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;AAE7D,MAAM,MAAM,YAAY,CAAC,SAAS,SAAS,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,QAAQ,IAAI,QAAQ,CACjG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,SAAS,KAAK,GACvF,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,GAClC,qBAAqB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAC9C,CAAA"}
1
+ {"version":3,"file":"useClientDocument.d.ts","sourceRoot":"","sources":["../src/useClientDocument.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAChD,OAAO,KAAK,EAAE,SAAS,EAAuB,MAAM,sBAAsB,CAAA;AAQ1E;;;;;;;;;;GAUG;AACH,MAAM,MAAM,uBAAuB,CAAC,SAAS,SAAS,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,QAAQ,IAAI;IACpG,GAAG,EAAE,SAAS,CAAC,OAAO,CAAC;IACvB,MAAM,EAAE,YAAY,CAAC,SAAS,CAAC;IAC/B,EAAE,EAAE,MAAM;IACV,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;CACtC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,iBAAiB,EAAE;IAE9B,CACE,SAAS,SAAS,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,KAAK,CACzD,GAAG,EACH,GAAG,EACH,GAAG,EACH;QACE,UAAU,EAAE,OAAO,CAAA;QACnB,kFAAkF;QAClF,OAAO,EAAE,GAAG,CAAA;KACb,CACF,EAED,KAAK,EAAE,SAAS,EAChB,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,eAAe,EACnF,OAAO,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,GACxD,uBAAuB,CAAC,SAAS,CAAC,CAAA;IAGrC,CACE,SAAS,SAAS,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,KAAK,CACzD,GAAG,EACH,GAAG,EACH,GAAG,EACH;QACE,UAAU,EAAE,OAAO,CAAA;QACnB,kFAAkF;QAClF,OAAO,EAAE,GAAG,CAAA;KACb,CACF,EAED,KAAK,EAAE,SAAS,EAEhB,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,MAAM,GAAG,eAAe,EAC3F,OAAO,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,GACxD,uBAAuB,CAAC,SAAS,CAAC,CAAA;CAuDtC,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,CAAA;AAE7C;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;AAEtF;;;;GAIG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;AAE7D;;;;;;;GAOG;AACH,MAAM,MAAM,YAAY,CAAC,SAAS,SAAS,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,QAAQ,IAAI,QAAQ,CACjG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,SAAS,KAAK,GACvF,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,GAClC,qBAAqB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAC9C,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"useClientDocument.js","sourceRoot":"","sources":["../src/useClientDocument.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useClientDocument.js","sourceRoot":"","sources":["../src/useClientDocument.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,58 @@
1
1
  import type { LiveStoreSchema } from '@livestore/common/schema';
2
2
  import type { Store } from '@livestore/livestore';
3
3
  import type { ReactApi } from './LiveStoreContext.ts';
4
+ /**
5
+ * Augments a Store instance with React-specific methods (`useQuery`, `useClientDocument`).
6
+ *
7
+ * This is called automatically by `useStore()` and `LiveStoreProvider`. You typically
8
+ * don't need to call it directly unless you're building custom integrations.
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * // Usually not needed—useStore() does this automatically
13
+ * const store = withReactApi(myStore)
14
+ * const todos = store.useQuery(tables.todos.all())
15
+ * ```
16
+ */
4
17
  export declare const withReactApi: <TSchema extends LiveStoreSchema>(store: Store<TSchema>) => Store<TSchema> & ReactApi;
18
+ /**
19
+ * Returns the current Store instance from React context, augmented with React-specific methods.
20
+ *
21
+ * Use this hook when you need direct access to the Store for operations like
22
+ * `store.commit()`, `store.subscribe()`, or accessing `store.sessionId`.
23
+ *
24
+ * For reactive queries, prefer `useQuery()` or `useClientDocument()` which handle
25
+ * subscriptions and re-renders automatically.
26
+ *
27
+ * @example
28
+ * ```ts
29
+ * const MyComponent = () => {
30
+ * const { store } = useStore()
31
+ *
32
+ * const handleClick = () => {
33
+ * store.commit(events.todoCreated({ id: nanoid(), text: 'New todo' }))
34
+ * }
35
+ *
36
+ * return <button onClick={handleClick}>Add Todo</button>
37
+ * }
38
+ * ```
39
+ *
40
+ * @example
41
+ * ```ts
42
+ * // Access store metadata
43
+ * const { store } = useStore()
44
+ * console.log('Session ID:', store.sessionId)
45
+ * console.log('Client ID:', store.clientId)
46
+ * ```
47
+ *
48
+ * @example
49
+ * ```ts
50
+ * // Use with an explicit store instance (bypasses context)
51
+ * const { store } = useStore({ store: myExternalStore })
52
+ * ```
53
+ *
54
+ * @throws Error if called outside of `<LiveStoreProvider>` or before the store is running
55
+ */
5
56
  export declare const useStore: (options?: {
6
57
  store?: Store;
7
58
  }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"useStore.d.ts","sourceRoot":"","sources":["../src/useStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAGjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAKrD,eAAO,MAAM,YAAY,GAAI,OAAO,SAAS,eAAe,EAAE,OAAO,KAAK,CAAC,OAAO,CAAC,KAAG,KAAK,CAAC,OAAO,CAAC,GAAG,QAQtG,CAAA;AAED,eAAO,MAAM,QAAQ,GAAI,UAAU;IAAE,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,KAAG;IAAE,KAAK,EAAE,KAAK,GAAG,QAAQ,CAAA;CAiB/E,CAAA"}
1
+ {"version":3,"file":"useStore.d.ts","sourceRoot":"","sources":["../src/useStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAGjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAKrD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,YAAY,GAAI,OAAO,SAAS,eAAe,EAAE,OAAO,KAAK,CAAC,OAAO,CAAC,KAAG,KAAK,CAAC,OAAO,CAAC,GAAG,QAQtG,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,eAAO,MAAM,QAAQ,GAAI,UAAU;IAAE,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,KAAG;IAAE,KAAK,EAAE,KAAK,GAAG,QAAQ,CAAA;CAiB/E,CAAA"}