@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.
- package/dist/.tsbuildinfo +1 -1
- package/dist/LiveStoreContext.d.ts +27 -0
- package/dist/LiveStoreContext.d.ts.map +1 -1
- package/dist/LiveStoreContext.js +18 -0
- package/dist/LiveStoreContext.js.map +1 -1
- package/dist/LiveStoreProvider.d.ts +9 -2
- package/dist/LiveStoreProvider.d.ts.map +1 -1
- package/dist/LiveStoreProvider.js +2 -1
- package/dist/LiveStoreProvider.js.map +1 -1
- package/dist/experimental/multi-store/StoreRegistry.d.ts +60 -16
- package/dist/experimental/multi-store/StoreRegistry.d.ts.map +1 -1
- package/dist/experimental/multi-store/StoreRegistry.js +125 -216
- package/dist/experimental/multi-store/StoreRegistry.js.map +1 -1
- package/dist/experimental/multi-store/StoreRegistry.test.js +224 -307
- package/dist/experimental/multi-store/StoreRegistry.test.js.map +1 -1
- package/dist/experimental/multi-store/types.d.ts +4 -23
- package/dist/experimental/multi-store/types.d.ts.map +1 -1
- package/dist/experimental/multi-store/useStore.d.ts +1 -1
- package/dist/experimental/multi-store/useStore.d.ts.map +1 -1
- package/dist/experimental/multi-store/useStore.js +5 -10
- package/dist/experimental/multi-store/useStore.js.map +1 -1
- package/dist/experimental/multi-store/useStore.test.js +95 -41
- package/dist/experimental/multi-store/useStore.test.js.map +1 -1
- package/dist/useClientDocument.d.ts +33 -0
- package/dist/useClientDocument.d.ts.map +1 -1
- package/dist/useClientDocument.js.map +1 -1
- package/dist/useStore.d.ts +51 -0
- package/dist/useStore.d.ts.map +1 -1
- package/dist/useStore.js +51 -0
- package/dist/useStore.js.map +1 -1
- package/package.json +6 -6
- package/src/LiveStoreContext.ts +27 -0
- package/src/LiveStoreProvider.tsx +9 -0
- package/src/experimental/multi-store/StoreRegistry.test.ts +236 -349
- package/src/experimental/multi-store/StoreRegistry.ts +171 -265
- package/src/experimental/multi-store/types.ts +31 -49
- package/src/experimental/multi-store/useStore.test.tsx +120 -48
- package/src/experimental/multi-store/useStore.ts +5 -13
- package/src/useClientDocument.ts +35 -0
- 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
|
|
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
|
|
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
|
-
*
|
|
32
|
-
*
|
|
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,
|
|
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
|
|
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,
|
|
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
|
|
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
|
-
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
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,
|
|
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 {
|
|
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 {
|
|
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
|
-
|
|
14
|
-
|
|
15
|
-
|
|
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('
|
|
30
|
+
it('works with Suspense boundary', async () => {
|
|
18
31
|
const registry = new StoreRegistry();
|
|
19
32
|
const options = testStoreOptions();
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
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
|
-
|
|
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(
|
|
35
|
-
expect(
|
|
53
|
+
await waitForSuspenseResolved(renderedView);
|
|
54
|
+
expect(renderedView.getByTestId('ready')).toBeDefined();
|
|
36
55
|
// Rerender with new options object (but same storeId)
|
|
37
|
-
|
|
56
|
+
await act(async () => {
|
|
57
|
+
renderedView.rerender(_jsx(Wrapper, { opts: { ...options } }));
|
|
58
|
+
});
|
|
38
59
|
// Should not show fallback
|
|
39
|
-
expect(
|
|
40
|
-
expect(
|
|
41
|
-
|
|
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
|
-
|
|
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
|
-
|
|
63
|
-
|
|
64
|
-
|
|
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
|
-
|
|
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
|
-
|
|
76
|
-
|
|
77
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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:
|
|
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
|
|
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.
|
|
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
|
|
124
|
-
vi.useFakeTimers();
|
|
177
|
+
const cleanupAfterUnmount = async (cleanup) => {
|
|
125
178
|
cleanup();
|
|
126
|
-
|
|
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":";AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAE5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,
|
|
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;
|
|
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":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAEhD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACpE,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"useClientDocument.js","sourceRoot":"","sources":["../src/useClientDocument.ts"],"names":[],"mappings":"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"}
|
package/dist/useStore.d.ts
CHANGED
|
@@ -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
|
}) => {
|
package/dist/useStore.d.ts.map
CHANGED
|
@@ -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"}
|