@livestore/react 0.4.0-dev.21 → 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 +1 -1
- package/dist/.tsbuildinfo +1 -1
- package/dist/StoreRegistryContext.d.ts +56 -0
- package/dist/StoreRegistryContext.d.ts.map +1 -0
- package/dist/StoreRegistryContext.js +61 -0
- package/dist/StoreRegistryContext.js.map +1 -0
- package/dist/__tests__/fixture.d.ts +8 -280
- package/dist/__tests__/fixture.d.ts.map +1 -1
- package/dist/__tests__/fixture.js +9 -84
- package/dist/__tests__/fixture.js.map +1 -1
- package/dist/experimental/components/LiveList.d.ts +4 -2
- package/dist/experimental/components/LiveList.d.ts.map +1 -1
- package/dist/experimental/components/LiveList.js +9 -7
- package/dist/experimental/components/LiveList.js.map +1 -1
- package/dist/experimental/mod.d.ts +0 -1
- package/dist/experimental/mod.d.ts.map +1 -1
- package/dist/experimental/mod.js +0 -1
- package/dist/experimental/mod.js.map +1 -1
- package/dist/mod.d.ts +8 -5
- package/dist/mod.d.ts.map +1 -1
- package/dist/mod.js +6 -4
- package/dist/mod.js.map +1 -1
- package/dist/useClientDocument.d.ts +1 -26
- package/dist/useClientDocument.d.ts.map +1 -1
- package/dist/useClientDocument.js +3 -17
- package/dist/useClientDocument.js.map +1 -1
- package/dist/useClientDocument.test.js +12 -4
- package/dist/useClientDocument.test.js.map +1 -1
- package/dist/useQuery.d.ts +4 -5
- package/dist/useQuery.d.ts.map +1 -1
- package/dist/useQuery.js +12 -85
- package/dist/useQuery.js.map +1 -1
- package/dist/useQuery.test.js +7 -8
- package/dist/useQuery.test.js.map +1 -1
- package/dist/useRcResource.d.ts.map +1 -1
- package/dist/useRcResource.js +9 -5
- package/dist/useRcResource.js.map +1 -1
- package/dist/useRcResource.test.js +1 -1
- package/dist/useRcResource.test.js.map +1 -1
- package/dist/useStore.d.ts +61 -46
- package/dist/useStore.d.ts.map +1 -1
- package/dist/useStore.js +75 -60
- package/dist/useStore.js.map +1 -1
- package/dist/useStore.test.d.ts.map +1 -0
- package/dist/{experimental/multi-store/useStore.test.js → useStore.test.js} +70 -27
- package/dist/useStore.test.js.map +1 -0
- package/dist/useSyncStatus.d.ts +22 -0
- package/dist/useSyncStatus.d.ts.map +1 -0
- package/dist/useSyncStatus.js +28 -0
- package/dist/useSyncStatus.js.map +1 -0
- package/package.json +69 -26
- package/src/StoreRegistryContext.tsx +70 -0
- package/src/__snapshots__/useClientDocument.test.tsx.snap +112 -78
- package/src/__tests__/fixture.tsx +23 -118
- package/src/experimental/components/LiveList.tsx +22 -9
- package/src/experimental/mod.ts +0 -1
- package/src/mod.ts +8 -12
- package/src/useClientDocument.test.tsx +16 -6
- package/src/useClientDocument.ts +7 -61
- package/src/useQuery.test.tsx +8 -8
- package/src/useQuery.ts +30 -119
- package/src/useRcResource.test.tsx +1 -1
- package/src/useRcResource.ts +10 -5
- package/src/{experimental/multi-store/useStore.test.tsx → useStore.test.tsx} +117 -39
- package/src/useStore.ts +106 -65
- package/src/useSyncStatus.ts +34 -0
- package/dist/LiveStoreContext.d.ts +0 -40
- package/dist/LiveStoreContext.d.ts.map +0 -1
- package/dist/LiveStoreContext.js +0 -21
- package/dist/LiveStoreContext.js.map +0 -1
- package/dist/LiveStoreProvider.d.ts +0 -73
- package/dist/LiveStoreProvider.d.ts.map +0 -1
- package/dist/LiveStoreProvider.js +0 -233
- package/dist/LiveStoreProvider.js.map +0 -1
- package/dist/LiveStoreProvider.test.d.ts +0 -2
- package/dist/LiveStoreProvider.test.d.ts.map +0 -1
- package/dist/LiveStoreProvider.test.js +0 -117
- package/dist/LiveStoreProvider.test.js.map +0 -1
- package/dist/experimental/multi-store/StoreRegistry.d.ts +0 -105
- package/dist/experimental/multi-store/StoreRegistry.d.ts.map +0 -1
- package/dist/experimental/multi-store/StoreRegistry.js +0 -184
- package/dist/experimental/multi-store/StoreRegistry.js.map +0 -1
- package/dist/experimental/multi-store/StoreRegistry.test.d.ts +0 -2
- package/dist/experimental/multi-store/StoreRegistry.test.d.ts.map +0 -1
- package/dist/experimental/multi-store/StoreRegistry.test.js +0 -381
- package/dist/experimental/multi-store/StoreRegistry.test.js.map +0 -1
- package/dist/experimental/multi-store/StoreRegistryContext.d.ts +0 -10
- package/dist/experimental/multi-store/StoreRegistryContext.d.ts.map +0 -1
- package/dist/experimental/multi-store/StoreRegistryContext.js +0 -15
- package/dist/experimental/multi-store/StoreRegistryContext.js.map +0 -1
- package/dist/experimental/multi-store/mod.d.ts +0 -6
- package/dist/experimental/multi-store/mod.d.ts.map +0 -1
- package/dist/experimental/multi-store/mod.js +0 -6
- package/dist/experimental/multi-store/mod.js.map +0 -1
- package/dist/experimental/multi-store/storeOptions.d.ts +0 -4
- package/dist/experimental/multi-store/storeOptions.d.ts.map +0 -1
- package/dist/experimental/multi-store/storeOptions.js +0 -4
- package/dist/experimental/multi-store/storeOptions.js.map +0 -1
- package/dist/experimental/multi-store/types.d.ts +0 -25
- package/dist/experimental/multi-store/types.d.ts.map +0 -1
- package/dist/experimental/multi-store/types.js +0 -2
- package/dist/experimental/multi-store/types.js.map +0 -1
- package/dist/experimental/multi-store/useStore.d.ts +0 -11
- package/dist/experimental/multi-store/useStore.d.ts.map +0 -1
- package/dist/experimental/multi-store/useStore.js +0 -16
- package/dist/experimental/multi-store/useStore.js.map +0 -1
- package/dist/experimental/multi-store/useStore.test.d.ts.map +0 -1
- package/dist/experimental/multi-store/useStore.test.js.map +0 -1
- package/dist/utils/stack-info.d.ts +0 -4
- package/dist/utils/stack-info.d.ts.map +0 -1
- package/dist/utils/stack-info.js +0 -10
- package/dist/utils/stack-info.js.map +0 -1
- package/src/LiveStoreContext.ts +0 -41
- package/src/LiveStoreProvider.test.tsx +0 -248
- package/src/LiveStoreProvider.tsx +0 -430
- package/src/ambient.d.ts +0 -1
- package/src/experimental/multi-store/StoreRegistry.test.ts +0 -518
- package/src/experimental/multi-store/StoreRegistry.ts +0 -253
- package/src/experimental/multi-store/StoreRegistryContext.tsx +0 -23
- package/src/experimental/multi-store/mod.ts +0 -5
- package/src/experimental/multi-store/storeOptions.ts +0 -8
- package/src/experimental/multi-store/types.ts +0 -37
- package/src/experimental/multi-store/useStore.ts +0 -26
- package/src/utils/stack-info.ts +0 -13
- /package/dist/{experimental/multi-store/useStore.test.d.ts → useStore.test.d.ts} +0 -0
package/dist/mod.d.ts
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export {
|
|
3
|
-
export {
|
|
1
|
+
export type { Dispatch, SetStateAction, SetStateActionPartial, StateSetters } from '@livestore/framework-toolkit';
|
|
2
|
+
export { captureStackInfo } from '@livestore/framework-toolkit';
|
|
3
|
+
export { StoreRegistry, storeOptions } from '@livestore/livestore';
|
|
4
|
+
export { LiveList, type LiveListProps } from './experimental/components/LiveList.tsx';
|
|
5
|
+
export * from './StoreRegistryContext.tsx';
|
|
6
|
+
export { type UseClientDocumentResult, useClientDocument } from './useClientDocument.ts';
|
|
4
7
|
export { useQuery, useQueryRef } from './useQuery.ts';
|
|
5
|
-
export { useStore, withReactApi } from './useStore.ts';
|
|
6
|
-
export {
|
|
8
|
+
export { type ReactApi, useStore, withReactApi } from './useStore.ts';
|
|
9
|
+
export { useSyncStatus } from './useSyncStatus.ts';
|
|
7
10
|
//# sourceMappingURL=mod.d.ts.map
|
package/dist/mod.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AACjH,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAClE,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,wCAAwC,CAAA;AACrF,cAAc,4BAA4B,CAAA;AAC1C,OAAO,EAAE,KAAK,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AACxF,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AACrD,OAAO,EAAE,KAAK,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA"}
|
package/dist/mod.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export {
|
|
3
|
-
export {
|
|
1
|
+
export { captureStackInfo } from '@livestore/framework-toolkit';
|
|
2
|
+
export { StoreRegistry, storeOptions } from '@livestore/livestore';
|
|
3
|
+
export { LiveList } from "./experimental/components/LiveList.js";
|
|
4
|
+
export * from "./StoreRegistryContext.js";
|
|
5
|
+
export { useClientDocument } from "./useClientDocument.js";
|
|
4
6
|
export { useQuery, useQueryRef } from "./useQuery.js";
|
|
5
7
|
export { useStore, withReactApi } from "./useStore.js";
|
|
6
|
-
export {
|
|
8
|
+
export { useSyncStatus } from "./useSyncStatus.js";
|
|
7
9
|
//# sourceMappingURL=mod.js.map
|
package/dist/mod.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mod.js","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mod.js","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAClE,OAAO,EAAE,QAAQ,EAAsB,MAAM,uCAAwC,CAAA;AACrF,cAAc,2BAA4B,CAAA;AAC1C,OAAO,EAAgC,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AACxF,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AACrD,OAAO,EAAiB,QAAQ,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { RowQuery } from '@livestore/common';
|
|
2
2
|
import { SessionIdSymbol } from '@livestore/common';
|
|
3
3
|
import { State } from '@livestore/common/schema';
|
|
4
|
+
import { type StateSetters } from '@livestore/framework-toolkit';
|
|
4
5
|
import type { LiveQuery } from '@livestore/livestore';
|
|
5
6
|
/**
|
|
6
7
|
* Return type of `useClientDocument` hook.
|
|
@@ -62,30 +63,4 @@ export declare const useClientDocument: {
|
|
|
62
63
|
default: any;
|
|
63
64
|
}>>(table: TTableDef, id: State.SQLite.ClientDocumentTableDef.DefaultIdType<TTableDef> | string | SessionIdSymbol, options?: Partial<RowQuery.GetOrCreateOptions<TTableDef>>): UseClientDocumentResult<TTableDef>;
|
|
64
65
|
};
|
|
65
|
-
/**
|
|
66
|
-
* A function that dispatches an action. Mirrors React's `Dispatch` type.
|
|
67
|
-
* @typeParam A - The action type
|
|
68
|
-
*/
|
|
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
|
-
*/
|
|
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
|
-
*/
|
|
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
|
-
*/
|
|
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']>>;
|
|
91
66
|
//# sourceMappingURL=useClientDocument.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useClientDocument.d.ts","sourceRoot":"","sources":["../src/useClientDocument.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useClientDocument.d.ts","sourceRoot":"","sources":["../src/useClientDocument.ts"],"names":[],"mappings":"AAEA,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,EAAyB,KAAK,YAAY,EAAwB,MAAM,8BAA8B,CAAA;AAC7G,OAAO,KAAK,EAAE,SAAS,EAAuB,MAAM,sBAAsB,CAAA;AAM1E;;;;;;;;;;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;CAkDtC,CAAA"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { SessionIdSymbol } from '@livestore/common';
|
|
2
3
|
import { State } from '@livestore/common/schema';
|
|
4
|
+
import { removeUndefinedValues, validateTableOptions } from '@livestore/framework-toolkit';
|
|
3
5
|
import { queryDb } from '@livestore/livestore';
|
|
4
6
|
import { omitUndefineds, shouldNeverHappen } from '@livestore/utils';
|
|
5
|
-
import React from 'react';
|
|
6
|
-
import { LiveStoreContext } from "./LiveStoreContext.js";
|
|
7
7
|
import { useQueryRef } from "./useQuery.js";
|
|
8
8
|
/**
|
|
9
9
|
* Similar to `React.useState` but returns a tuple of `[state, setState, id, query$]` for a given table where ...
|
|
@@ -44,10 +44,7 @@ export const useClientDocument = (table, idOrOptions, options_, storeArg) => {
|
|
|
44
44
|
const { default: defaultValues } = options ?? {};
|
|
45
45
|
React.useMemo(() => validateTableOptions(table), [table]);
|
|
46
46
|
const tableName = table.sqliteDef.name;
|
|
47
|
-
const store = storeArg?.store ??
|
|
48
|
-
React.useContext(LiveStoreContext)?.store ??
|
|
49
|
-
shouldNeverHappen(`No store provided to useClientDocument`);
|
|
50
|
-
// console.debug('useClientDocument', tableName, id)
|
|
47
|
+
const store = storeArg?.store ?? shouldNeverHappen(`No store provided to useClientDocument`);
|
|
51
48
|
const idStr = id === SessionIdSymbol ? store.sessionId : id;
|
|
52
49
|
const queryDef = React.useMemo(() => queryDb(table.get(id, { default: defaultValues }), {
|
|
53
50
|
deps: [idStr, table.sqliteDef.name, JSON.stringify(defaultValues)],
|
|
@@ -64,15 +61,4 @@ export const useClientDocument = (table, idOrOptions, options_, storeArg) => {
|
|
|
64
61
|
}, [id, queryRef.valueRef, store, table]);
|
|
65
62
|
return [queryRef.valueRef.current, setState, idStr, queryRef.queryRcRef.value];
|
|
66
63
|
};
|
|
67
|
-
const validateTableOptions = (table) => {
|
|
68
|
-
if (State.SQLite.tableIsClientDocumentTable(table) === false) {
|
|
69
|
-
return shouldNeverHappen(`useClientDocument called on table "${table.sqliteDef.name}" which is not a client document table`);
|
|
70
|
-
}
|
|
71
|
-
};
|
|
72
|
-
const removeUndefinedValues = (value) => {
|
|
73
|
-
if (typeof value === 'object' && value !== null) {
|
|
74
|
-
return Object.fromEntries(Object.entries(value).filter(([_, v]) => v !== undefined));
|
|
75
|
-
}
|
|
76
|
-
return value;
|
|
77
|
-
};
|
|
78
64
|
//# sourceMappingURL=useClientDocument.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useClientDocument.js","sourceRoot":"","sources":["../src/useClientDocument.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useClientDocument.js","sourceRoot":"","sources":["../src/useClientDocument.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ import { Vitest } from '@livestore/utils-dev/node-vitest';
|
|
|
9
9
|
import * as otel from '@opentelemetry/api';
|
|
10
10
|
import { BasicTracerProvider, InMemorySpanExporter, SimpleSpanProcessor } from '@opentelemetry/sdk-trace-base';
|
|
11
11
|
import * as ReactTesting from '@testing-library/react';
|
|
12
|
+
import * as React from 'react';
|
|
12
13
|
import { beforeEach, expect, it } from 'vitest';
|
|
13
14
|
import { events, makeTodoMvcReact, tables } from "./__tests__/fixture.js";
|
|
14
15
|
import { __resetUseRcResourceCache } from "./useRcResource.js";
|
|
@@ -74,12 +75,19 @@ Vitest.describe('useClientDocument', () => {
|
|
|
74
75
|
const AppRouter = () => {
|
|
75
76
|
renderCount.inc();
|
|
76
77
|
const [state, setState] = store.useClientDocument(tables.AppRouterSchema, 'singleton');
|
|
78
|
+
const setCurrentTaskId = React.useCallback((taskId) => setState({ currentTaskId: taskId }), [setState]);
|
|
77
79
|
globalSetState = setState;
|
|
78
|
-
return (_jsxs("div", { children: [_jsx(TasksList, { setTaskId:
|
|
80
|
+
return (_jsxs("div", { children: [_jsx(TasksList, { setTaskId: setCurrentTaskId }), _jsxs("div", { role: "current-id", children: ["Current Task Id: ", state.currentTaskId ?? '-'] }), state.currentTaskId !== null ? _jsx(TaskDetails, { id: state.currentTaskId }) : _jsx("div", { children: "Click on a task to see details" })] }));
|
|
79
81
|
};
|
|
80
82
|
const TasksList = ({ setTaskId }) => {
|
|
81
83
|
const allTodos = store.useQuery(allTodos$);
|
|
82
|
-
|
|
84
|
+
const handleTaskClick = React.useCallback((event) => {
|
|
85
|
+
const taskId = event.currentTarget.dataset.taskId;
|
|
86
|
+
if (taskId !== undefined) {
|
|
87
|
+
setTaskId(taskId);
|
|
88
|
+
}
|
|
89
|
+
}, [setTaskId]);
|
|
90
|
+
return (_jsx("div", { children: allTodos.map((_) => (_jsx("div", { "data-task-id": _.id, onClick: handleTaskClick, children: _.id }, _.id))) }));
|
|
83
91
|
};
|
|
84
92
|
const TaskDetails = ({ id }) => {
|
|
85
93
|
const todo = store.useQuery(LiveStore.queryDb(tables.todos.where({ id }).first(), { deps: id }));
|
|
@@ -144,7 +152,7 @@ Vitest.describe('useClientDocument', () => {
|
|
|
144
152
|
const provider = new BasicTracerProvider({
|
|
145
153
|
spanProcessors: [new SimpleSpanProcessor(exporter)],
|
|
146
154
|
});
|
|
147
|
-
const otelTracer = provider.getTracer(`testing-${strictMode ? 'strict' : 'non-strict'}`);
|
|
155
|
+
const otelTracer = provider.getTracer(`testing-${strictMode !== undefined ? 'strict' : 'non-strict'}`);
|
|
148
156
|
const span = otelTracer.startSpan('test-root');
|
|
149
157
|
const otelContext = otel.trace.setSpan(otel.context.active(), span);
|
|
150
158
|
await Effect.gen(function* () {
|
|
@@ -181,7 +189,7 @@ Vitest.describe('useClientDocument', () => {
|
|
|
181
189
|
const stackInfo = JSON.parse(val);
|
|
182
190
|
// stackInfo.frames.shift() // Removes `renderHook.wrapper` from the stack
|
|
183
191
|
stackInfo.frames.forEach((_) => {
|
|
184
|
-
if (_.name.includes('renderHook.wrapper')) {
|
|
192
|
+
if (_.name.includes('renderHook.wrapper') === true) {
|
|
185
193
|
_.name = 'renderHook.wrapper';
|
|
186
194
|
}
|
|
187
195
|
_.filePath = '__REPLACED_FOR_SNAPSHOT__';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useClientDocument.test.js","sourceRoot":"","sources":["../src/useClientDocument.test.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useClientDocument.test.js","sourceRoot":"","sources":["../src/useClientDocument.test.tsx"],"names":[],"mappings":"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"}
|
package/dist/useQuery.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import { type Queryable } from '@livestore/livestore';
|
|
3
|
-
import type { LiveQueries } from '@livestore/livestore/internal';
|
|
4
|
-
import * as otel from '@opentelemetry/api';
|
|
1
|
+
import type * as otel from '@opentelemetry/api';
|
|
5
2
|
import React from 'react';
|
|
3
|
+
import type { LiveQuery, Queryable, Store } from '@livestore/livestore';
|
|
4
|
+
import type { LiveQueries } from '@livestore/livestore/internal';
|
|
6
5
|
/**
|
|
7
6
|
* Returns the result of a query and subscribes to future updates.
|
|
8
7
|
*
|
|
@@ -31,7 +30,7 @@ export declare const useQuery: <TQueryable extends Queryable<any>>(queryable: TQ
|
|
|
31
30
|
*
|
|
32
31
|
* Parameters
|
|
33
32
|
* - `queryable`: The query definition/instance/builder to run and subscribe to.
|
|
34
|
-
* - `options.store`:
|
|
33
|
+
* - `options.store`: The store to use. Required when calling `useQueryRef` directly; automatically provided when using `store.useQuery()`.
|
|
35
34
|
* - `options.otelContext`: Optional parent otel context for the query span.
|
|
36
35
|
* - `options.otelSpanName`: Optional explicit span name; otherwise derived from the query label.
|
|
37
36
|
*
|
package/dist/useQuery.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useQuery.d.ts","sourceRoot":"","sources":["../src/useQuery.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useQuery.d.ts","sourceRoot":"","sources":["../src/useQuery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAC/C,OAAO,KAAK,MAAM,OAAO,CAAA;AAUzB,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAMhE;;;;;;;;;;GAUG;AACH,eAAO,MAAM,QAAQ,GAAI,UAAU,SAAS,SAAS,CAAC,GAAG,CAAC,EACxD,WAAW,UAAU,EACrB,UAAU;IAAE,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,KAC1B,SAAS,CAAC,MAAM,CAAC,UAAU,CAAqD,CAAA;AAEnF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,WAAW,GAAI,UAAU,SAAS,SAAS,CAAC,GAAG,CAAC,EAC3D,WAAW,UAAU,EACrB,UAAU;IACR,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,wCAAwC;IACxC,WAAW,CAAC,EAAE,IAAI,CAAC,OAAO,CAAA;IAC1B,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,KACA;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAA;IACvD,UAAU,EAAE,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;CA6EvE,CAAA"}
|
package/dist/useQuery.js
CHANGED
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
import { isQueryBuilder } from '@livestore/common';
|
|
2
|
-
import { extractStackInfoFromStackTrace, isQueryable, queryDb, StoreInternalsSymbol, stackInfoToString, } from '@livestore/livestore';
|
|
3
|
-
import { deepEqual, indent, shouldNeverHappen } from '@livestore/utils';
|
|
4
|
-
import * as otel from '@opentelemetry/api';
|
|
5
1
|
import React from 'react';
|
|
6
|
-
import {
|
|
2
|
+
import { captureStackInfo, computeRcRefKey, createQueryResource, normalizeQueryable, runInitialQuery, } from '@livestore/framework-toolkit';
|
|
3
|
+
import { deepEqual, shouldNeverHappen } from '@livestore/utils';
|
|
7
4
|
import { useRcResource } from "./useRcResource.js";
|
|
8
|
-
import { originalStackLimit } from "./utils/stack-info.js";
|
|
9
5
|
import { useStateRefWithReactiveInput } from "./utils/useStateRefWithReactiveInput.js";
|
|
10
6
|
/**
|
|
11
7
|
* Returns the result of a query and subscribes to future updates.
|
|
@@ -33,7 +29,7 @@ export const useQuery = (queryable, options) => useQueryRef(queryable, options).
|
|
|
33
29
|
*
|
|
34
30
|
* Parameters
|
|
35
31
|
* - `queryable`: The query definition/instance/builder to run and subscribe to.
|
|
36
|
-
* - `options.store`:
|
|
32
|
+
* - `options.store`: The store to use. Required when calling `useQueryRef` directly; automatically provided when using `store.useQuery()`.
|
|
37
33
|
* - `options.otelContext`: Optional parent otel context for the query span.
|
|
38
34
|
* - `options.otelSpanName`: Optional explicit span name; otherwise derived from the query label.
|
|
39
35
|
*
|
|
@@ -43,92 +39,24 @@ export const useQuery = (queryable, options) => useQueryRef(queryable, options).
|
|
|
43
39
|
* - `queryRcRef`: The underlying reference-counted `LiveQuery` instance used by the store.
|
|
44
40
|
*/
|
|
45
41
|
export const useQueryRef = (queryable, options) => {
|
|
46
|
-
const store = options?.store ??
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
const
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
return { _tag: 'definition', def: queryDb(queryable) };
|
|
55
|
-
}
|
|
56
|
-
if (queryable._tag === 'def' ||
|
|
57
|
-
queryable._tag === 'signal-def') {
|
|
58
|
-
return { _tag: 'definition', def: queryable };
|
|
59
|
-
}
|
|
60
|
-
return { _tag: 'live-query', query$: queryable };
|
|
61
|
-
}, [queryable]);
|
|
62
|
-
// It's important to use all "aspects" of a store instance here, otherwise we get unexpected cache mappings
|
|
63
|
-
const rcRefKey = React.useMemo(() => {
|
|
64
|
-
const base = `${store.storeId}_${store.clientId}_${store.sessionId}`;
|
|
65
|
-
if (normalized._tag === 'definition') {
|
|
66
|
-
return `${base}:def:${normalized.def.hash}`;
|
|
67
|
-
}
|
|
68
|
-
return `${base}:instance:${normalized.query$.id}`;
|
|
69
|
-
}, [normalized, store.clientId, store.sessionId, store.storeId]);
|
|
70
|
-
const resourceLabel = normalized._tag === 'definition' ? normalized.def.label : normalized.query$.label;
|
|
71
|
-
const stackInfo = React.useMemo(() => {
|
|
72
|
-
Error.stackTraceLimit = 10;
|
|
73
|
-
const stack = new Error().stack;
|
|
74
|
-
Error.stackTraceLimit = originalStackLimit;
|
|
75
|
-
return extractStackInfoFromStackTrace(stack);
|
|
76
|
-
}, []);
|
|
77
|
-
const { queryRcRef, span, otelContext } = useRcResource(rcRefKey, () => {
|
|
78
|
-
const span = store[StoreInternalsSymbol].otel.tracer.startSpan(options?.otelSpanName ?? `LiveStore:useQuery:${resourceLabel}`, { attributes: { label: resourceLabel, firstStackInfo: JSON.stringify(stackInfo) } }, options?.otelContext ?? store[StoreInternalsSymbol].otel.queriesSpanContext);
|
|
79
|
-
const otelContext = otel.trace.setSpan(otel.context.active(), span);
|
|
80
|
-
const queryRcRef = normalized._tag === 'definition'
|
|
81
|
-
? normalized.def.make(store[StoreInternalsSymbol].reactivityGraph.context, otelContext)
|
|
82
|
-
: {
|
|
83
|
-
value: normalized.query$,
|
|
84
|
-
deref: () => { },
|
|
85
|
-
rc: Number.POSITIVE_INFINITY,
|
|
86
|
-
};
|
|
87
|
-
return { queryRcRef, span, otelContext };
|
|
88
|
-
},
|
|
42
|
+
const store = options?.store ?? shouldNeverHappen(`No store provided to useQuery`);
|
|
43
|
+
const normalized = React.useMemo(() => normalizeQueryable(queryable), [queryable]);
|
|
44
|
+
const rcRefKey = React.useMemo(() => computeRcRefKey(store, normalized), [normalized, store]);
|
|
45
|
+
const stackInfo = React.useMemo(() => captureStackInfo(), []);
|
|
46
|
+
const { queryRcRef, span, otelContext } = useRcResource(rcRefKey, () => createQueryResource(store, normalized, stackInfo, {
|
|
47
|
+
otelSpanName: options?.otelSpanName,
|
|
48
|
+
otelContext: options?.otelContext,
|
|
49
|
+
}),
|
|
89
50
|
// We need to keep the queryRcRef alive a bit longer, so we have a second `useRcResource` below
|
|
90
51
|
// which takes care of disposing the queryRcRef
|
|
91
52
|
() => { });
|
|
92
|
-
// if (queryRcRef.value._tag === 'signal') {
|
|
93
|
-
// const queryRcRef.value.get()
|
|
94
|
-
// }
|
|
95
53
|
const query$ = queryRcRef.value;
|
|
96
54
|
React.useDebugValue(`LiveStore:useQuery:${query$.id}:${query$.label}`);
|
|
97
|
-
|
|
98
|
-
const initialResult = React.useMemo(() => {
|
|
99
|
-
try {
|
|
100
|
-
return query$.run({
|
|
101
|
-
otelContext,
|
|
102
|
-
debugRefreshReason: {
|
|
103
|
-
_tag: 'react',
|
|
104
|
-
api: 'useQuery',
|
|
105
|
-
label: `useQuery:initial-run:${query$.label}`,
|
|
106
|
-
stackInfo,
|
|
107
|
-
},
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
catch (cause) {
|
|
111
|
-
console.error('[@livestore/react:useQuery] Error running query', cause);
|
|
112
|
-
throw new Error(`\
|
|
113
|
-
[@livestore/react:useQuery] Error running query: ${cause.name}
|
|
114
|
-
|
|
115
|
-
Query: ${query$.label}
|
|
116
|
-
|
|
117
|
-
React trace:
|
|
118
|
-
|
|
119
|
-
${indent(stackInfoToString(stackInfo), 4)}
|
|
120
|
-
|
|
121
|
-
Stack trace:
|
|
122
|
-
`, { cause });
|
|
123
|
-
}
|
|
124
|
-
}, [otelContext, query$, stackInfo]);
|
|
55
|
+
const initialResult = React.useMemo(() => runInitialQuery(query$, otelContext, stackInfo, 'react'), [otelContext, query$, stackInfo]);
|
|
125
56
|
// We know the query has a result by the time we use it; so we can synchronously populate a default state
|
|
126
57
|
const [valueRef, setValue] = useStateRefWithReactiveInput(initialResult);
|
|
127
|
-
// TODO we probably need to change the order of `useEffect` calls, so we destroy the query at the end
|
|
128
|
-
// before calling the LS `onEffect` on it
|
|
129
58
|
// Subscribe to future updates for this query
|
|
130
59
|
React.useEffect(() => {
|
|
131
|
-
// TODO double check whether we still need `activeSubscriptions`
|
|
132
60
|
query$.activeSubscriptions.add(stackInfo);
|
|
133
61
|
// Dynamic queries only set their actual label after they've been run the first time,
|
|
134
62
|
// so we're also updating the span name here.
|
|
@@ -149,7 +77,6 @@ Stack trace:
|
|
|
149
77
|
});
|
|
150
78
|
}, [stackInfo, query$, setValue, store, valueRef, otelContext, span, options?.otelSpanName]);
|
|
151
79
|
useRcResource(rcRefKey, () => ({ queryRcRef, span }), ({ queryRcRef, span }) => {
|
|
152
|
-
// console.debug('deref', queryRcRef.value.id, queryRcRef.value.label)
|
|
153
80
|
queryRcRef.deref();
|
|
154
81
|
span.end();
|
|
155
82
|
});
|
package/dist/useQuery.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useQuery.js","sourceRoot":"","sources":["../src/useQuery.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useQuery.js","sourceRoot":"","sources":["../src/useQuery.ts"],"names":[],"mappings":"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"}
|
package/dist/useQuery.test.js
CHANGED
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import * as ReactTesting from '@testing-library/react';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import * as ReactWindow from 'react-window';
|
|
5
|
+
import { expect } from 'vitest';
|
|
2
6
|
/** biome-ignore-all lint/a11y: test */
|
|
3
7
|
import * as LiveStore from '@livestore/livestore';
|
|
4
8
|
import { queryDb, StoreInternalsSymbol, signal } from '@livestore/livestore';
|
|
5
9
|
import { RG } from '@livestore/livestore/internal/testing-utils';
|
|
6
|
-
import { Effect, Schema } from '@livestore/utils/effect';
|
|
7
10
|
import { Vitest } from '@livestore/utils-dev/node-vitest';
|
|
8
|
-
import
|
|
9
|
-
import React from 'react';
|
|
10
|
-
// @ts-expect-error no types
|
|
11
|
-
import * as ReactWindow from 'react-window';
|
|
12
|
-
import { expect } from 'vitest';
|
|
11
|
+
import { Effect, Schema } from '@livestore/utils/effect';
|
|
13
12
|
import { events, makeTodoMvcReact, tables } from "./__tests__/fixture.js";
|
|
14
13
|
import { __resetUseRcResourceCache } from "./useRcResource.js";
|
|
15
14
|
Vitest.describe.each([{ strictMode: true }, { strictMode: false }])('useQuery (strictMode=%s)', ({ strictMode }) => {
|
|
@@ -82,7 +81,7 @@ Vitest.describe.each([{ strictMode: true }, { strictMode: false }])('useQuery (s
|
|
|
82
81
|
Vitest.scopedLive('should work for a list with react-window', () => Effect.gen(function* () {
|
|
83
82
|
const { wrapper, store } = yield* makeTodoMvcReact({ strictMode });
|
|
84
83
|
const ListWrapper = ({ numItems }) => {
|
|
85
|
-
return (_jsx(ReactWindow.FixedSizeList, { height: 100, width: 100, itemSize: 10, itemCount: numItems, itemData: Array.from({ length: numItems }, (_, i) => i).
|
|
84
|
+
return (_jsx(ReactWindow.FixedSizeList, { height: 100, width: 100, itemSize: 10, itemCount: numItems, itemData: Array.from({ length: numItems }, (_, i) => i).toReversed(), children: ListItem }));
|
|
86
85
|
};
|
|
87
86
|
const ListItem = ({ data: ids, index }) => {
|
|
88
87
|
const id = ids[index];
|
|
@@ -117,7 +116,7 @@ Vitest.describe.each([{ strictMode: true }, { strictMode: false }])('useQuery (s
|
|
|
117
116
|
const num$ = signal(123, { label: 'num' });
|
|
118
117
|
const { result, rerender } = ReactTesting.renderHook((useNum) => {
|
|
119
118
|
renderCount.inc();
|
|
120
|
-
const query$ = React.useMemo(() => (useNum ? num$ : str$), [useNum]);
|
|
119
|
+
const query$ = React.useMemo(() => (useNum === true ? num$ : str$), [useNum]);
|
|
121
120
|
return store.useQuery(query$);
|
|
122
121
|
}, { wrapper, initialProps: false });
|
|
123
122
|
expect(result.current).toBe('hello');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useQuery.test.js","sourceRoot":"","sources":["../src/useQuery.test.tsx"],"names":[],"mappings":";AAAA,
|
|
1
|
+
{"version":3,"file":"useQuery.test.js","sourceRoot":"","sources":["../src/useQuery.test.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,YAAY,MAAM,wBAAwB,CAAA;AACtD,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,KAAK,WAAW,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,uCAAuC;AACvC,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAC5E,OAAO,EAAE,EAAE,EAAE,MAAM,6CAA6C,CAAA;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAA;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAExD,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,wBAAyB,CAAA;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAA;AAE9D,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAU,CAAC,CAC1E,0BAA0B,EAC1B,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE;IACjB,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE;QACpB,EAAE,CAAC,UAAU,EAAE,CAAA;QACf,yBAAyB,EAAE,CAAA;IAC7B,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,EAAE,CAC/B,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC,CAAC,gBAAgB,CAAC,EAAE,UAAU,EAAE,CAAC,CAAA;QAE/E,MAAM,SAAS,GAAG,OAAO,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAEzG,MAAM,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,UAAU,CACxC,GAAG,EAAE;YACH,WAAW,CAAC,GAAG,EAAE,CAAA;YAEjB,OAAO,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;QAClC,CAAC,EACD,EAAE,OAAO,EAAE,CACZ,CAAA;QAED,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACrC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC/B,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAA;QAE3G,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAA;QAE1G,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACrC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAChD,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC/B,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAA;IAC7G,CAAC,CAAC,CACH,CAAA;IAED,MAAM,CAAC,UAAU,CAAC,qDAAqD,EAAE,GAAG,EAAE,CAC5E,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC,CAAC,gBAAgB,CAAC,EAAE,UAAU,EAAE,CAAC,CAAA;QAE/E,MAAM,MAAM,GAAG,OAAO,CACpB,EAAE,KAAK,EAAE,qCAAqC,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EAC9F,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAChC,CAAA;QACD,MAAM,MAAM,GAAG,OAAO,CACpB,EAAE,KAAK,EAAE,qCAAqC,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EAC9F,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAChC,CAAA;QAED,KAAK,CAAC,MAAM,CACV,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EACpE,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CACrE,CAAA;QAED,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC,UAAU,CAClD,CAAC,MAAc,EAAE,EAAE;YACjB,WAAW,CAAC,GAAG,EAAE,CAAA;YAEjB,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;YAEjF,OAAO,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,CAAC,IAAI,CAAA;QACxC,CAAC,EACD,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,CAChC,CAAA;QAED,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACvC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC/B,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,eAAe,CACvG,uBAAuB,CACxB,CAAA;QAED,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,CAAA;QAE5F,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QAC3C,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC/B,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,eAAe,CACvG,uBAAuB,CACxB,CAAA;QAED,QAAQ,CAAC,IAAI,CAAC,CAAA;QAEd,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACvC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC/B,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,eAAe,CACvG,0BAA0B,CAC3B,CAAA;IACH,CAAC,CAAC,CACH,CAAA;IAED,MAAM,CAAC,UAAU,CAAC,2BAA2B,EAAE,GAAG,EAAE,CAClD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC,CAAC,gBAAgB,CAAC,EAAE,UAAU,EAAE,CAAC,CAAA;QAE/E,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAA;QAEpD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;QAEzF,KAAK,CAAC,MAAM,CACV,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EACpE,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CACrE,CAAA;QAED,MAAM,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,UAAU,CACxC,GAAG,EAAE;YACH,WAAW,CAAC,GAAG,EAAE,CAAA;YAEjB,OAAO,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAE,CAAC,IAAI,CAAA;QACvC,CAAC,EACD,EAAE,OAAO,EAAE,CACZ,CAAA;QAED,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACvC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC/B,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAA;QAE3G,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,CAAA;QAE5F,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QAC3C,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC/B,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAA;QAE3G,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAA;QAEtD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACvC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC/B,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAA;IAC7G,CAAC,CAAC,CACH,CAAA;IAED,iHAAiH;IACjH,2FAA2F;IAC3F,wGAAwG;IACxG,MAAM,CAAC,UAAU,CAAC,0CAA0C,EAAE,GAAG,EAAE,CACjE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC,gBAAgB,CAAC,EAAE,UAAU,EAAE,CAAC,CAAA;QAElE,MAAM,WAAW,GAAmC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;YACnE,OAAO,CACL,KAAC,WAAW,CAAC,aAAa,IACxB,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,GAAG,EACV,QAAQ,EAAE,EAAE,EACZ,SAAS,EAAE,QAAQ,EACnB,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,YAEnE,QAAQ,GACiB,CAC7B,CAAA;QACH,CAAC,CAAA;QAED,MAAM,QAAQ,GAA6D,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE;YAClG,MAAM,EAAE,GAAG,GAAG,CAAC,KAAK,CAAE,CAAA;YACtB,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;YAC/F,OAAO,cAAK,IAAI,EAAC,UAAU,YAAE,GAAG,GAAO,CAAA;QACzC,CAAC,CAAA;QAED,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,KAAC,WAAW,IAAC,QAAQ,EAAE,CAAC,GAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;QAEnF,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAEpD,YAAY,CAAC,QAAQ,CAAC,KAAC,WAAW,IAAC,QAAQ,EAAE,CAAC,GAAI,CAAC,CAAA;QAEnD,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACvD,CAAC,CAAC,CACH,CAAA;IAED,MAAM,CAAC,UAAU,CAAC,yBAAyB,EAAE,GAAG,EAAE,CAChD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC,gBAAgB,CAAC,EAAE,UAAU,EAAE,CAAC,CAAA;QAClE,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;QAEtB,MAAM,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;QAEnF,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAE9B,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;QAEhD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAChC,CAAC,CAAC,CACH,CAAA;IAED,MAAM,CAAC,UAAU,CAAC,kCAAkC,EAAE,GAAG,EAAE,CACzD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC,gBAAgB,CAAC,EAAE,UAAU,EAAE,CAAC,CAAA;QAElE,KAAK,CAAC,MAAM,CACV,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EACpE,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CACpE,CAAA;QAED,MAAM,oBAAoB,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAA;QAErE,MAAM,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;YAC5G,OAAO;SACR,CAAC,CAAA;QAEF,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IACxC,CAAC,CAAC,CACH,CAAA;IAED,MAAM,CAAC,UAAU,CAAC,+CAA+C,EAAE,GAAG,EAAE,CACtE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC,CAAC,gBAAgB,CAAC,EAAE,UAAU,EAAE,CAAC,CAAA;QAE/E,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;QAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;QAE1C,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC,UAAU,CAClD,CAAC,MAAe,EAAE,EAAE;YAClB,WAAW,CAAC,GAAG,EAAE,CAAA;YACjB,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;YAC7E,OAAO,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QAC/B,CAAC,EACD,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,CACjC,CAAA;QAED,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACpC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAE/B,QAAQ,CAAC,IAAI,CAAC,CAAA;QAEd,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAChC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjC,CAAC,CAAC,CACH,CAAA;AACH,CAAC,CACF,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRcResource.d.ts","sourceRoot":"","sources":["../src/useRcResource.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsEG;AACH,eAAO,MAAM,aAAa,GAAI,CAAC,EAC7B,KAAK,MAAM,EACX,QAAQ,MAAM,CAAC,EACf,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,EACvC,WAAW;IAAE,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC,GAAG,CAAC,CAAA;CAAE,KACvE,
|
|
1
|
+
{"version":3,"file":"useRcResource.d.ts","sourceRoot":"","sources":["../src/useRcResource.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsEG;AACH,eAAO,MAAM,aAAa,GAAI,CAAC,EAC7B,KAAK,MAAM,EACX,QAAQ,MAAM,CAAC,EACf,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,EACvC,WAAW;IAAE,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC,GAAG,CAAC,CAAA;CAAE,KACvE,CAoFF,CAAA;AAkBD,eAAO,MAAM,yBAAyB,YAErC,CAAA"}
|
package/dist/useRcResource.js
CHANGED
|
@@ -73,10 +73,14 @@ import * as React from 'react';
|
|
|
73
73
|
export const useRcResource = (key, create, dispose, _options) => {
|
|
74
74
|
const keyRef = React.useRef(undefined);
|
|
75
75
|
const didDisposeInMemo = React.useRef(false);
|
|
76
|
+
const createRef = React.useRef(create);
|
|
77
|
+
const disposeRef = React.useRef(dispose);
|
|
78
|
+
createRef.current = create;
|
|
79
|
+
disposeRef.current = dispose;
|
|
76
80
|
// biome-ignore lint/correctness/useExhaustiveDependencies: Dependency is deliberately limited to `key` to avoid unintended re-creations.
|
|
77
81
|
const resource = React.useMemo(() => {
|
|
78
82
|
// console.debug('useMemo', key)
|
|
79
|
-
if (didDisposeInMemo.current) {
|
|
83
|
+
if (didDisposeInMemo.current === true) {
|
|
80
84
|
// console.debug('useMemo', key, 'skip')
|
|
81
85
|
const cachedItem = cache.get(key);
|
|
82
86
|
if (cachedItem !== undefined && cachedItem._tag === 'active') {
|
|
@@ -94,7 +98,7 @@ export const useRcResource = (key, create, dispose, _options) => {
|
|
|
94
98
|
// console.debug('useMemo', key, 'rc--', previousKey, cachedItemForPreviousKey.rc)
|
|
95
99
|
if (cachedItemForPreviousKey.rc === 0) {
|
|
96
100
|
// Clean up the stateful resource if no longer referenced
|
|
97
|
-
|
|
101
|
+
disposeRef.current(cachedItemForPreviousKey.resource);
|
|
98
102
|
cache.set(previousKey, { _tag: 'destroyed' });
|
|
99
103
|
didDisposeInMemo.current = true;
|
|
100
104
|
}
|
|
@@ -109,14 +113,14 @@ export const useRcResource = (key, create, dispose, _options) => {
|
|
|
109
113
|
return cachedItem.resource;
|
|
110
114
|
}
|
|
111
115
|
// Create a new stateful resource if not cached
|
|
112
|
-
const resource =
|
|
116
|
+
const resource = createRef.current();
|
|
113
117
|
cache.set(key, { _tag: 'active', rc: 1, resource });
|
|
114
118
|
return resource;
|
|
115
119
|
}, [key]);
|
|
116
120
|
// biome-ignore lint/correctness/useExhaustiveDependencies: We assume the `dispose` function is stable and won't change across renders
|
|
117
121
|
React.useEffect(() => {
|
|
118
122
|
return () => {
|
|
119
|
-
if (didDisposeInMemo.current) {
|
|
123
|
+
if (didDisposeInMemo.current === true) {
|
|
120
124
|
// console.debug('unmount', keyRef.current, 'skip')
|
|
121
125
|
didDisposeInMemo.current = false;
|
|
122
126
|
return;
|
|
@@ -129,7 +133,7 @@ export const useRcResource = (key, create, dispose, _options) => {
|
|
|
129
133
|
cachedItem.rc--;
|
|
130
134
|
// console.debug('rc--', cachedItem.rc, ...(_options?.debugPrint?.(cachedItem.resource) ?? []))
|
|
131
135
|
if (cachedItem.rc === 0) {
|
|
132
|
-
|
|
136
|
+
disposeRef.current(cachedItem.resource);
|
|
133
137
|
cache.delete(key);
|
|
134
138
|
}
|
|
135
139
|
};
|