@livestore/livestore 0.0.13 → 0.0.14
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 +18 -21
- package/dist/.tsbuildinfo +1 -1
- package/dist/QueryCache.d.ts +1 -1
- package/dist/QueryCache.d.ts.map +1 -1
- package/dist/QueryCache.js.map +1 -1
- package/dist/__tests__/react/fixture.d.ts +5 -4
- package/dist/__tests__/react/fixture.d.ts.map +1 -1
- package/dist/__tests__/react/fixture.js +13 -14
- package/dist/__tests__/react/fixture.js.map +1 -1
- package/dist/__tests__/react/useComponentState.test.d.ts +2 -0
- package/dist/__tests__/react/useComponentState.test.d.ts.map +1 -0
- package/dist/__tests__/react/useComponentState.test.js +68 -0
- package/dist/__tests__/react/useComponentState.test.js.map +1 -0
- package/dist/__tests__/react/useLQuery.test.d.ts +2 -0
- package/dist/__tests__/react/useLQuery.test.d.ts.map +1 -0
- package/dist/__tests__/react/useLQuery.test.js +38 -0
- package/dist/__tests__/react/useLQuery.test.js.map +1 -0
- package/dist/__tests__/react/useLiveStoreComponent.test.js +4 -9
- package/dist/__tests__/react/useLiveStoreComponent.test.js.map +1 -1
- package/dist/__tests__/react/useQuery.test.d.ts +2 -0
- package/dist/__tests__/react/useQuery.test.d.ts.map +1 -0
- package/dist/__tests__/react/useQuery.test.js +33 -0
- package/dist/__tests__/react/useQuery.test.js.map +1 -0
- package/dist/__tests__/react/utils/extractStackInfoFromStackTrace.test.d.ts +2 -0
- package/dist/__tests__/react/utils/extractStackInfoFromStackTrace.test.d.ts.map +1 -0
- package/dist/__tests__/react/utils/extractStackInfoFromStackTrace.test.js +38 -0
- package/dist/__tests__/react/utils/extractStackInfoFromStackTrace.test.js.map +1 -0
- package/dist/__tests__/reactive.test.js +168 -95
- package/dist/__tests__/reactive.test.js.map +1 -1
- package/dist/__tests__/reactiveQueries/sql.test.d.ts +2 -0
- package/dist/__tests__/reactiveQueries/sql.test.d.ts.map +1 -0
- package/dist/__tests__/reactiveQueries/sql.test.js +337 -0
- package/dist/__tests__/reactiveQueries/sql.test.js.map +1 -0
- package/dist/effect/LiveStore.d.ts +3 -9
- package/dist/effect/LiveStore.d.ts.map +1 -1
- package/dist/effect/LiveStore.js +11 -7
- package/dist/effect/LiveStore.js.map +1 -1
- package/dist/inMemoryDatabase.d.ts +17 -21
- package/dist/inMemoryDatabase.d.ts.map +1 -1
- package/dist/inMemoryDatabase.js +2 -9
- package/dist/inMemoryDatabase.js.map +1 -1
- package/dist/index.d.ts +9 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -3
- package/dist/index.js.map +1 -1
- package/dist/migrations.d.ts +7 -0
- package/dist/migrations.d.ts.map +1 -1
- package/dist/migrations.js +18 -13
- package/dist/migrations.js.map +1 -1
- package/dist/react/LiveStoreProvider.d.ts +1 -3
- package/dist/react/LiveStoreProvider.d.ts.map +1 -1
- package/dist/react/LiveStoreProvider.js +13 -10
- package/dist/react/LiveStoreProvider.js.map +1 -1
- package/dist/react/index.d.ts +4 -4
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +3 -3
- package/dist/react/index.js.map +1 -1
- package/dist/react/useComponentState.d.ts +50 -0
- package/dist/react/useComponentState.d.ts.map +1 -0
- package/dist/react/useComponentState.js +248 -0
- package/dist/react/useComponentState.js.map +1 -0
- package/dist/react/useGlobalQuery.d.ts +2 -2
- package/dist/react/useGlobalQuery.d.ts.map +1 -1
- package/dist/react/useGlobalQuery.js +5 -2
- package/dist/react/useGlobalQuery.js.map +1 -1
- package/dist/react/useGraphQL.d.ts +5 -3
- package/dist/react/useGraphQL.d.ts.map +1 -1
- package/dist/react/useGraphQL.js +27 -7
- package/dist/react/useGraphQL.js.map +1 -1
- package/dist/react/useLiveStoreComponent.d.ts +14 -14
- package/dist/react/useLiveStoreComponent.d.ts.map +1 -1
- package/dist/react/useLiveStoreComponent.js +151 -91
- package/dist/react/useLiveStoreComponent.js.map +1 -1
- package/dist/react/useQuery.d.ts +3 -0
- package/dist/react/useQuery.d.ts.map +1 -0
- package/dist/react/useQuery.js +42 -0
- package/dist/react/useQuery.js.map +1 -0
- package/dist/react/useTemporaryQuery.d.ts +8 -0
- package/dist/react/useTemporaryQuery.d.ts.map +1 -0
- package/dist/react/useTemporaryQuery.js +17 -0
- package/dist/react/useTemporaryQuery.js.map +1 -0
- package/dist/react/utils/extractNamesFromStackTrace.d.ts +3 -0
- package/dist/react/utils/extractNamesFromStackTrace.d.ts.map +1 -0
- package/dist/react/utils/extractNamesFromStackTrace.js +40 -0
- package/dist/react/utils/extractNamesFromStackTrace.js.map +1 -0
- package/dist/react/utils/extractStackInfoFromStackTrace.d.ts +7 -0
- package/dist/react/utils/extractStackInfoFromStackTrace.d.ts.map +1 -0
- package/dist/react/utils/extractStackInfoFromStackTrace.js +40 -0
- package/dist/react/utils/extractStackInfoFromStackTrace.js.map +1 -0
- package/dist/reactive.d.ts +42 -48
- package/dist/reactive.d.ts.map +1 -1
- package/dist/reactive.js +293 -186
- package/dist/reactive.js.map +1 -1
- package/dist/reactiveQueries/base-class.d.ts +28 -20
- package/dist/reactiveQueries/base-class.d.ts.map +1 -1
- package/dist/reactiveQueries/base-class.js +25 -17
- package/dist/reactiveQueries/base-class.js.map +1 -1
- package/dist/reactiveQueries/graph.d.ts +10 -0
- package/dist/reactiveQueries/graph.d.ts.map +1 -0
- package/dist/reactiveQueries/graph.js +6 -0
- package/dist/reactiveQueries/graph.js.map +1 -0
- package/dist/reactiveQueries/graphql.d.ts +35 -18
- package/dist/reactiveQueries/graphql.d.ts.map +1 -1
- package/dist/reactiveQueries/graphql.js +91 -10
- package/dist/reactiveQueries/graphql.js.map +1 -1
- package/dist/reactiveQueries/js.d.ts +17 -13
- package/dist/reactiveQueries/js.d.ts.map +1 -1
- package/dist/reactiveQueries/js.js +31 -8
- package/dist/reactiveQueries/js.js.map +1 -1
- package/dist/reactiveQueries/sql.d.ts +22 -18
- package/dist/reactiveQueries/sql.d.ts.map +1 -1
- package/dist/reactiveQueries/sql.js +81 -16
- package/dist/reactiveQueries/sql.js.map +1 -1
- package/dist/schema.d.ts +0 -2
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +3 -6
- package/dist/schema.js.map +1 -1
- package/dist/storage/in-memory/index.d.ts +2 -2
- package/dist/storage/in-memory/index.d.ts.map +1 -1
- package/dist/storage/in-memory/index.js.map +1 -1
- package/dist/storage/index.d.ts +2 -2
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/tauri/index.d.ts +2 -2
- package/dist/storage/tauri/index.d.ts.map +1 -1
- package/dist/storage/tauri/index.js.map +1 -1
- package/dist/storage/web-worker/index.d.ts +4 -4
- package/dist/storage/web-worker/index.d.ts.map +1 -1
- package/dist/storage/web-worker/index.js +3 -5
- package/dist/storage/web-worker/index.js.map +1 -1
- package/dist/storage/web-worker/worker.js +2 -2
- package/dist/storage/web-worker/worker.js.map +1 -1
- package/dist/store.d.ts +19 -52
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +323 -266
- package/dist/store.js.map +1 -1
- package/dist/util.d.ts +3 -1
- package/dist/util.d.ts.map +1 -1
- package/dist/util.js +2 -0
- package/dist/util.js.map +1 -1
- package/package.json +2 -1
- package/src/QueryCache.ts +1 -1
- package/src/__tests__/react/fixture.tsx +21 -16
- package/src/__tests__/react/{useLiveStoreComponent.test.tsx → useComponentState.test.tsx} +9 -20
- package/src/__tests__/react/useQuery.test.tsx +48 -0
- package/src/__tests__/react/utils/extractStackInfoFromStackTrace.test.ts +40 -0
- package/src/__tests__/reactive.test.ts +194 -142
- package/src/__tests__/reactiveQueries/sql.test.ts +372 -0
- package/src/effect/LiveStore.ts +14 -18
- package/src/inMemoryDatabase.ts +22 -30
- package/src/index.ts +8 -6
- package/src/migrations.ts +39 -21
- package/src/react/LiveStoreProvider.tsx +13 -16
- package/src/react/index.ts +4 -8
- package/src/react/{useLiveStoreComponent.ts → useComponentState.ts} +98 -230
- package/src/react/useQuery.ts +58 -0
- package/src/react/useTemporaryQuery.ts +21 -0
- package/src/react/utils/extractStackInfoFromStackTrace.ts +47 -0
- package/src/reactive.ts +386 -267
- package/src/reactiveQueries/base-class.ts +61 -39
- package/src/reactiveQueries/graph.ts +15 -0
- package/src/reactiveQueries/graphql.ts +147 -31
- package/src/reactiveQueries/js.ts +54 -21
- package/src/reactiveQueries/sql.ts +128 -37
- package/src/schema.ts +2 -5
- package/src/storage/in-memory/index.ts +2 -2
- package/src/storage/index.ts +2 -2
- package/src/storage/tauri/index.ts +2 -2
- package/src/storage/web-worker/index.ts +6 -8
- package/src/storage/web-worker/worker.ts +2 -2
- package/src/store.ts +394 -418
- package/src/util.ts +8 -2
- package/dist/backends/base.d.ts +0 -13
- package/dist/backends/base.d.ts.map +0 -1
- package/dist/backends/base.js +0 -53
- package/dist/backends/base.js.map +0 -1
- package/dist/backends/in-memory/index.d.ts +0 -22
- package/dist/backends/in-memory/index.d.ts.map +0 -1
- package/dist/backends/in-memory/index.js +0 -45
- package/dist/backends/in-memory/index.js.map +0 -1
- package/dist/backends/index.d.ts +0 -41
- package/dist/backends/index.d.ts.map +0 -1
- package/dist/backends/index.js +0 -16
- package/dist/backends/index.js.map +0 -1
- package/dist/backends/tauri/index.d.ts +0 -21
- package/dist/backends/tauri/index.d.ts.map +0 -1
- package/dist/backends/tauri/index.js +0 -48
- package/dist/backends/tauri/index.js.map +0 -1
- package/dist/backends/utils/idb.d.ts +0 -10
- package/dist/backends/utils/idb.d.ts.map +0 -1
- package/dist/backends/utils/idb.js +0 -58
- package/dist/backends/utils/idb.js.map +0 -1
- package/dist/backends/web-worker/index.d.ts +0 -26
- package/dist/backends/web-worker/index.d.ts.map +0 -1
- package/dist/backends/web-worker/index.js +0 -63
- package/dist/backends/web-worker/index.js.map +0 -1
- package/dist/backends/web-worker/worker.d.ts +0 -17
- package/dist/backends/web-worker/worker.d.ts.map +0 -1
- package/dist/backends/web-worker/worker.js +0 -139
- package/dist/backends/web-worker/worker.js.map +0 -1
- package/dist/storage/base.d.ts +0 -10
- package/dist/storage/base.d.ts.map +0 -1
- package/dist/storage/base.js +0 -14
- package/dist/storage/base.js.map +0 -1
- package/src/react/useGlobalQuery.ts +0 -37
- package/src/react/useGraphQL.ts +0 -112
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
import { useEffect, useState } from 'react';
|
|
1
|
+
import React, { useEffect, useState } from 'react';
|
|
2
2
|
import { labelForKey } from '../componentKey.js';
|
|
3
|
-
|
|
3
|
+
import { useStore } from './LiveStoreContext.js';
|
|
4
|
+
export const useGlobalQuery = (queryDef) => {
|
|
5
|
+
const { store } = useStore();
|
|
6
|
+
const query = React.useMemo(() => queryDef(store), [store, queryDef]);
|
|
4
7
|
// We know the query has a result by the time we use it; so we can synchronously populate a default state
|
|
5
8
|
const [value, setValue] = useState(query.results$.result);
|
|
6
9
|
// Subscribe to future updates for this query
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGlobalQuery.js","sourceRoot":"","sources":["../../src/react/useGlobalQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"useGlobalQuery.js","sourceRoot":"","sources":["../../src/react/useGlobalQuery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAEhD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAEhD,MAAM,CAAC,MAAM,cAAc,GAAG,CAA2B,QAAkC,EAAkB,EAAE;IAC7G,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAA;IAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAA;IACrE,yGAAyG;IACzG,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAiB,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IAEzE,6CAA6C;IAC7C,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAC5C,4BAA4B,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,EAC5E,EAAE,EACF,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,EACnC,CAAC,IAAI,EAAE,EAAE;YACP,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAClC,KAAK,EACL,CAAC,CAAC,EAAE,EAAE;gBACJ,qEAAqE;gBACrE,kEAAkE;gBAClE,sCAAsC;gBACtC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAA;YACpB,CAAC,EACD,SAAS,EACT,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CACvB,CAAA;YACD,OAAO,GAAG,EAAE;gBACV,MAAM,EAAE,CAAA;gBACR,IAAI,CAAC,GAAG,EAAE,CAAA;YACZ,CAAC,CAAA;QACH,CAAC,CACF,CAAA;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IAEX,OAAO,KAAK,CAAA;AACd,CAAC,CAAA"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import type { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import { type ComponentKeyConfig } from './
|
|
4
|
-
export type
|
|
3
|
+
import { type ComponentKeyConfig } from './useComponentState.js';
|
|
4
|
+
export type UseComponentStateProps<TResult extends Record<string, any>, TVariables extends Record<string, any>> = {
|
|
5
5
|
query: DocumentNode<TResult, TVariables>;
|
|
6
6
|
variables: TVariables;
|
|
7
7
|
componentKey: ComponentKeyConfig;
|
|
8
8
|
reactDeps?: React.DependencyList;
|
|
9
9
|
};
|
|
10
|
-
|
|
10
|
+
type Variables = Record<string, any>;
|
|
11
|
+
export declare const useGraphQL: <TResult extends Record<string, any>, TVariables extends Variables = {}>({ query: document, variables, componentKey: componentKeyConfig, reactDeps, }: UseComponentStateProps<TResult, TVariables>) => Readonly<TResult>;
|
|
12
|
+
export {};
|
|
11
13
|
//# sourceMappingURL=useGraphQL.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGraphQL.d.ts","sourceRoot":"","sources":["../../src/react/useGraphQL.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useGraphQL.d.ts","sourceRoot":"","sources":["../../src/react/useGraphQL.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,IAAI,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAG1F,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,EAAE,KAAK,kBAAkB,EAAmB,MAAM,wBAAwB,CAAA;AAGjF,MAAM,MAAM,sBAAsB,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI;IAChH,KAAK,EAAE,YAAY,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;IACxC,SAAS,EAAE,UAAU,CAAA;IACrB,YAAY,EAAE,kBAAkB,CAAA;IAChC,SAAS,CAAC,EAAE,KAAK,CAAC,cAAc,CAAA;CACjC,CAAA;AAED,KAAK,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AAepC,eAAO,MAAM,UAAU,0NAuGtB,CAAA"}
|
package/dist/react/useGraphQL.js
CHANGED
|
@@ -2,9 +2,13 @@ import * as otel from '@opentelemetry/api';
|
|
|
2
2
|
import { isEqual } from 'lodash-es';
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { labelForKey } from '../componentKey.js';
|
|
5
|
+
import { queryGraphQL } from '../reactiveQueries/graphql.js';
|
|
5
6
|
import { useStore } from './LiveStoreContext.js';
|
|
6
|
-
import { useComponentKey } from './
|
|
7
|
+
import { useComponentKey } from './useComponentState.js';
|
|
7
8
|
import { useStateRefWithReactiveInput } from './utils/useStateRefWithReactiveInput.js';
|
|
9
|
+
// TODO get rid of the query cache in favour of the new side-effect-free query definition approach https://www.notion.so/schickling/New-query-definition-approach-1097a78ef0e9495bac25f90417374756?pvs=4
|
|
10
|
+
// NOTE we're using a nested map here since we need to resolve 2 levels of object identities (query + variables)
|
|
11
|
+
// const queryCache = new Map<DocumentNode<any, any>, Map<Variables, LiveStoreGraphQLQuery<any, any, any>>>()
|
|
8
12
|
/**
|
|
9
13
|
* This is needed because the `React.useMemo` call below, can sometimes be called multiple times 🤷,
|
|
10
14
|
* so we need to "cache" the fact that we've already started a span for this component.
|
|
@@ -13,7 +17,7 @@ import { useStateRefWithReactiveInput } from './utils/useStateRefWithReactiveInp
|
|
|
13
17
|
const spanAlreadyStartedCache = new Map();
|
|
14
18
|
// TODO 1) figure out a way to make `variables` optional if the query doesn't have any variables (probably requires positional args)
|
|
15
19
|
// TODO 2) allow `.pipe` on the resulting query (possibly as a separate optional prop)
|
|
16
|
-
export const useGraphQL = ({ query, variables, componentKey: componentKeyConfig, reactDeps = [], }) => {
|
|
20
|
+
export const useGraphQL = ({ query: document, variables, componentKey: componentKeyConfig, reactDeps = [], }) => {
|
|
17
21
|
const componentKey = useComponentKey(componentKeyConfig, reactDeps);
|
|
18
22
|
const { store } = useStore();
|
|
19
23
|
const componentKeyLabel = React.useMemo(() => labelForKey(componentKey), [componentKey]);
|
|
@@ -31,7 +35,24 @@ export const useGraphQL = ({ query, variables, componentKey: componentKeyConfig,
|
|
|
31
35
|
spanAlreadyStartedCache.delete(componentKeyLabel);
|
|
32
36
|
span.end();
|
|
33
37
|
}, [componentKeyLabel, span]);
|
|
34
|
-
const
|
|
38
|
+
const liveStoreQuery = React.useMemo(() => {
|
|
39
|
+
return queryGraphQL(document, () => variables ?? {}, {
|
|
40
|
+
/* componentKey, */
|
|
41
|
+
});
|
|
42
|
+
// NOTE I had to disable the caching below as still led to many problems
|
|
43
|
+
// We should just implement the new query definition approach instead
|
|
44
|
+
// const queryCacheForQuery = queryCache.get(query)
|
|
45
|
+
// if (queryCacheForQuery && queryCacheForQuery.has(variables)) {
|
|
46
|
+
// return queryCacheForQuery.get(variables)!
|
|
47
|
+
// }
|
|
48
|
+
// const newQuery = store.queryGraphQL(query, () => variables ?? ({} as TVariables), { componentKey, otelContext })
|
|
49
|
+
// if (queryCacheForQuery) {
|
|
50
|
+
// queryCacheForQuery.set(variables, newQuery)
|
|
51
|
+
// } else {
|
|
52
|
+
// queryCache.set(query, new Map([[variables, newQuery]]))
|
|
53
|
+
// }
|
|
54
|
+
// return newQuery
|
|
55
|
+
},
|
|
35
56
|
// NOTE: we don't include the queries function passed in by the user here;
|
|
36
57
|
// the reason is that we don't want to force them to memoize that function.
|
|
37
58
|
// Instead, we just assume that the function always has the same contents.
|
|
@@ -40,10 +61,9 @@ export const useGraphQL = ({ query, variables, componentKey: componentKeyConfig,
|
|
|
40
61
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
41
62
|
[componentKey, store]);
|
|
42
63
|
// TODO get rid of the temporary query workaround
|
|
43
|
-
const initialQueryResults = React.useMemo(() =>
|
|
64
|
+
const initialQueryResults = React.useMemo(() => liveStoreQuery.run(), [liveStoreQuery]);
|
|
44
65
|
const [queryResultsRef, setQueryResults_] = useStateRefWithReactiveInput(initialQueryResults);
|
|
45
66
|
React.useEffect(() => {
|
|
46
|
-
const liveStoreQuery = makeLiveStoreQuery();
|
|
47
67
|
const unsubscribe = store.subscribe(liveStoreQuery, (results) => {
|
|
48
68
|
if (isEqual(results, queryResultsRef.current) === false) {
|
|
49
69
|
setQueryResults_(results);
|
|
@@ -56,12 +76,12 @@ export const useGraphQL = ({ query, variables, componentKey: componentKeyConfig,
|
|
|
56
76
|
// This should probably be improved
|
|
57
77
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
58
78
|
}, [
|
|
59
|
-
|
|
79
|
+
liveStoreQuery,
|
|
60
80
|
// setQueryResults_,
|
|
61
81
|
store,
|
|
62
82
|
]);
|
|
63
83
|
// Very important: remove any queries / other resources associated w/ this component
|
|
64
|
-
React.useEffect(() => () =>
|
|
84
|
+
React.useEffect(() => () => liveStoreQuery.destroy(), [liveStoreQuery]);
|
|
65
85
|
return queryResultsRef.current;
|
|
66
86
|
};
|
|
67
87
|
//# sourceMappingURL=useGraphQL.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGraphQL.js","sourceRoot":"","sources":["../../src/react/useGraphQL.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useGraphQL.js","sourceRoot":"","sources":["../../src/react/useGraphQL.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,10 +4,10 @@ import { SqliteDsl } from 'effect-db-schema';
|
|
|
4
4
|
import type { DependencyList } from 'react';
|
|
5
5
|
import React from 'react';
|
|
6
6
|
import type { ComponentKey } from '../componentKey.js';
|
|
7
|
-
import type {
|
|
8
|
-
import type
|
|
9
|
-
import
|
|
10
|
-
import
|
|
7
|
+
import type { GetAtomResult } from '../reactiveQueries/base-class.js';
|
|
8
|
+
import { type LiveStoreGraphQLQuery } from '../reactiveQueries/graphql.js';
|
|
9
|
+
import { LiveStoreJSQuery } from '../reactiveQueries/js.js';
|
|
10
|
+
import { LiveStoreSQLQuery } from '../reactiveQueries/sql.js';
|
|
11
11
|
import type { BaseGraphQLContext, LiveStoreQuery, QueryResult } from '../store.js';
|
|
12
12
|
import type { Bindable } from '../util.js';
|
|
13
13
|
export interface QueryDefinitions {
|
|
@@ -16,13 +16,13 @@ export interface QueryDefinitions {
|
|
|
16
16
|
export type QueryResults<TQuery> = {
|
|
17
17
|
[queryName in keyof TQuery]: PrettifyFlat<QueryResult<TQuery[queryName]>>;
|
|
18
18
|
};
|
|
19
|
-
export type ReactiveSQL = <TResult>(
|
|
20
|
-
export type
|
|
19
|
+
export type ReactiveSQL = <TResult>(query: string | ((get: GetAtomResult) => string), queriedTables: string[], bindValues?: Bindable | undefined) => LiveStoreSQLQuery<TResult>;
|
|
20
|
+
export type ReactiveJS = <TResult>(query: (get: GetAtomResult) => TResult) => LiveStoreJSQuery<TResult>;
|
|
21
|
+
export type ReactiveGraphQL = <TResult extends Record<string, any>, TVariables extends Record<string, any>, TContext extends BaseGraphQLContext>(query: DocumentNode<TResult, TVariables>, variableValues: TVariables | ((get: GetAtomResult) => TVariables), label?: string) => LiveStoreGraphQLQuery<TResult, TVariables, TContext>;
|
|
21
22
|
type RegisterSubscription = <TQuery extends LiveStoreQuery>(query: TQuery, onNewValue: (value: QueryResult<TQuery>) => void, onUnsubscribe?: () => void) => void;
|
|
22
23
|
type GenQueries<TQueries, TStateResult> = (args: {
|
|
23
24
|
rxSQL: ReactiveSQL;
|
|
24
25
|
rxGraphQL: ReactiveGraphQL;
|
|
25
|
-
globalQueries: QueryDefinitions;
|
|
26
26
|
state$: LiveStoreJSQuery<TStateResult>;
|
|
27
27
|
/**
|
|
28
28
|
* Registers a subscription.
|
|
@@ -32,9 +32,9 @@ type GenQueries<TQueries, TStateResult> = (args: {
|
|
|
32
32
|
subscribe: RegisterSubscription;
|
|
33
33
|
isTemporaryQuery: boolean;
|
|
34
34
|
}) => TQueries;
|
|
35
|
-
export type UseLiveStoreComponentProps<TQueries,
|
|
36
|
-
stateSchema?: SqliteDsl.TableDefinition<string,
|
|
37
|
-
queries?: GenQueries<TQueries, SqliteDsl.FromColumns.RowDecoded<
|
|
35
|
+
export type UseLiveStoreComponentProps<TQueries, TStateColumns extends ComponentColumns> = {
|
|
36
|
+
stateSchema?: SqliteDsl.TableDefinition<string, TStateColumns>;
|
|
37
|
+
queries?: GenQueries<TQueries, SqliteDsl.FromColumns.RowDecoded<TStateColumns>>;
|
|
38
38
|
reactDeps?: React.DependencyList;
|
|
39
39
|
componentKey: ComponentKeyConfig;
|
|
40
40
|
};
|
|
@@ -59,11 +59,11 @@ export type GetStateTypeEncoded<TTableDef extends SqliteDsl.TableDefinition<any,
|
|
|
59
59
|
* @param config.componentKey A function that returns a unique key for this component.
|
|
60
60
|
* @param config.reactDeps A list of React-level dependencies that will refresh the queries.
|
|
61
61
|
*/
|
|
62
|
-
export declare const useLiveStoreComponent: <
|
|
62
|
+
export declare const useLiveStoreComponent: <TStateColumns extends ComponentColumns, TQueries extends QueryDefinitions>({ stateSchema: stateSchema_, queries: queriesDef, componentKey: componentKeyConfig, reactDeps, }: UseLiveStoreComponentProps<TQueries, TStateColumns>) => {
|
|
63
63
|
queryResults: QueryResults<TQueries>;
|
|
64
|
-
state: import("effect-db-schema").PrettifyFlat<import("effect-db-schema").Nullable<Pick<SqliteDsl.FromColumns.RowDecodedAll<
|
|
65
|
-
setState: Setters<import("effect-db-schema").PrettifyFlat<import("effect-db-schema").Nullable<Pick<SqliteDsl.FromColumns.RowDecodedAll<
|
|
66
|
-
useLiveStoreJsonState: UseLiveStoreJsonState<import("effect-db-schema").PrettifyFlat<import("effect-db-schema").Nullable<Pick<SqliteDsl.FromColumns.RowDecodedAll<
|
|
64
|
+
state: import("effect-db-schema").PrettifyFlat<import("effect-db-schema").Nullable<Pick<SqliteDsl.FromColumns.RowDecodedAll<TStateColumns>, keyof { [K in keyof TStateColumns as TStateColumns[K] extends SqliteDsl.ColumnDefinition<any, true> ? K : never]: {}; }>> & Omit<SqliteDsl.FromColumns.RowDecodedAll<TStateColumns>, keyof { [K in keyof TStateColumns as TStateColumns[K] extends SqliteDsl.ColumnDefinition<any, true> ? K : never]: {}; }>>;
|
|
65
|
+
setState: Setters<import("effect-db-schema").PrettifyFlat<import("effect-db-schema").Nullable<Pick<SqliteDsl.FromColumns.RowDecodedAll<TStateColumns>, keyof { [K in keyof TStateColumns as TStateColumns[K] extends SqliteDsl.ColumnDefinition<any, true> ? K : never]: {}; }>> & Omit<SqliteDsl.FromColumns.RowDecodedAll<TStateColumns>, keyof { [K in keyof TStateColumns as TStateColumns[K] extends SqliteDsl.ColumnDefinition<any, true> ? K : never]: {}; }>>>;
|
|
66
|
+
useLiveStoreJsonState: UseLiveStoreJsonState<import("effect-db-schema").PrettifyFlat<import("effect-db-schema").Nullable<Pick<SqliteDsl.FromColumns.RowDecodedAll<TStateColumns>, keyof { [K in keyof TStateColumns as TStateColumns[K] extends SqliteDsl.ColumnDefinition<any, true> ? K : never]: {}; }>> & Omit<SqliteDsl.FromColumns.RowDecodedAll<TStateColumns>, keyof { [K in keyof TStateColumns as TStateColumns[K] extends SqliteDsl.ColumnDefinition<any, true> ? K : never]: {}; }>>>;
|
|
67
67
|
};
|
|
68
68
|
export type Setters<TComponentState> = {
|
|
69
69
|
[k in keyof TComponentState]: (newValue: TComponentState[k]) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLiveStoreComponent.d.ts","sourceRoot":"","sources":["../../src/react/useLiveStoreComponent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,IAAI,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAC1F,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAIlE,OAAO,
|
|
1
|
+
{"version":3,"file":"useLiveStoreComponent.d.ts","sourceRoot":"","sources":["../../src/react/useLiveStoreComponent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
import { omit, shouldNeverHappen } from '@livestore/utils';
|
|
2
2
|
import { Schema } from '@livestore/utils/effect';
|
|
3
3
|
import * as otel from '@opentelemetry/api';
|
|
4
|
-
import { SqliteDsl } from 'effect-db-schema';
|
|
4
|
+
import { SqliteAst, SqliteDsl } from 'effect-db-schema';
|
|
5
5
|
import { isEqual, mapValues } from 'lodash-es';
|
|
6
6
|
import React from 'react';
|
|
7
7
|
import { v4 as uuid } from 'uuid';
|
|
8
8
|
import { labelForKey, tableNameForComponentKey } from '../componentKey.js';
|
|
9
|
+
import { migrateTable } from '../migrations.js';
|
|
10
|
+
import { queryGraphQL } from '../reactiveQueries/graphql.js';
|
|
11
|
+
import { LiveStoreJSQuery } from '../reactiveQueries/js.js';
|
|
12
|
+
import { LiveStoreSQLQuery } from '../reactiveQueries/sql.js';
|
|
13
|
+
import { SCHEMA_META_TABLE } from '../schema.js';
|
|
9
14
|
import { sql } from '../util.js';
|
|
10
15
|
import { useStore } from './LiveStoreContext.js';
|
|
11
16
|
import { useStateRefWithReactiveInput } from './utils/useStateRefWithReactiveInput.js';
|
|
@@ -26,13 +31,13 @@ const spanAlreadyStartedCache = new Map();
|
|
|
26
31
|
* @param config.componentKey A function that returns a unique key for this component.
|
|
27
32
|
* @param config.reactDeps A list of React-level dependencies that will refresh the queries.
|
|
28
33
|
*/
|
|
29
|
-
export const useLiveStoreComponent = ({ stateSchema: stateSchema_, queries = () => ({}), componentKey: componentKeyConfig, reactDeps = [], }) => {
|
|
34
|
+
export const useLiveStoreComponent = ({ stateSchema: stateSchema_, queries: queriesDef = () => ({}), componentKey: componentKeyConfig, reactDeps = [], }) => {
|
|
30
35
|
// TODO validate schema to make sure each column has a default value
|
|
31
36
|
// TODO we should clean up the state schema handling to remove this special handling for the `id` column
|
|
32
37
|
const stateSchema = React.useMemo(() => (stateSchema_ ? { ...stateSchema_, columns: omit(stateSchema_.columns, 'id') } : undefined), [stateSchema_]);
|
|
33
38
|
// performance.mark('useLiveStoreComponent:start')
|
|
34
39
|
const componentKey = useComponentKey(componentKeyConfig, reactDeps);
|
|
35
|
-
const { store
|
|
40
|
+
const { store } = useStore();
|
|
36
41
|
const componentKeyLabel = React.useMemo(() => labelForKey(componentKey), [componentKey]);
|
|
37
42
|
// The following `React.useMemo` and `React.useEffect` calls are used to start and end a span for the lifetime of this component.
|
|
38
43
|
const { span, otelContext } = React.useMemo(() => {
|
|
@@ -48,10 +53,15 @@ export const useLiveStoreComponent = ({ stateSchema: stateSchema_, queries = ()
|
|
|
48
53
|
spanAlreadyStartedCache.delete(componentKeyLabel);
|
|
49
54
|
span.end();
|
|
50
55
|
}, [componentKeyLabel, span]);
|
|
51
|
-
const generateQueries = React.useCallback(({ state$,
|
|
52
|
-
rxSQL: (genQuery, queriedTables, bindValues) =>
|
|
53
|
-
|
|
54
|
-
|
|
56
|
+
const generateQueries = React.useCallback(({ state$, registerSubscription, isTemporaryQuery, }) => queriesDef({
|
|
57
|
+
rxSQL: (genQuery, queriedTables, bindValues) => new LiveStoreSQLQuery({
|
|
58
|
+
label: 'todo',
|
|
59
|
+
genQueryString: genQuery,
|
|
60
|
+
bindValues,
|
|
61
|
+
queriedTables,
|
|
62
|
+
}),
|
|
63
|
+
rxGraphQL: (query, genVariableValues, label) => queryGraphQL(query, genVariableValues, { label }),
|
|
64
|
+
// rxJS: <T>(genQuery: (get: GetAtomResult) => T) => store.queryJS(genQuery, { componentKey, otelContext }),
|
|
55
65
|
state$,
|
|
56
66
|
subscribe: registerSubscription,
|
|
57
67
|
isTemporaryQuery,
|
|
@@ -62,7 +72,7 @@ export const useLiveStoreComponent = ({ stateSchema: stateSchema_, queries = ()
|
|
|
62
72
|
// This makes sense for LiveStore because the component config should be static.
|
|
63
73
|
// TODO: document this and consider whether it's the right API surface.
|
|
64
74
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
65
|
-
[store, componentKey
|
|
75
|
+
[store, componentKey]);
|
|
66
76
|
const defaultComponentState = React.useMemo(() => {
|
|
67
77
|
const defaultState = (stateSchema === undefined ? {} : mapValues(stateSchema.columns, (c) => c.default));
|
|
68
78
|
// @ts-expect-error TODO fix typing
|
|
@@ -70,67 +80,94 @@ export const useLiveStoreComponent = ({ stateSchema: stateSchema_, queries = ()
|
|
|
70
80
|
return defaultState;
|
|
71
81
|
}, [componentKeyConfig.id, stateSchema]);
|
|
72
82
|
const componentStateEffectSchema = React.useMemo(() => (stateSchema ? SqliteDsl.structSchemaForTable(stateSchema) : Schema.any), [stateSchema]);
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
// create state query
|
|
83
|
-
let state$;
|
|
84
|
-
if (stateSchema === undefined) {
|
|
85
|
-
// TODO don't set up a query if there's no state schema (keeps the graph more clean)
|
|
86
|
-
state$ = store.queryJS(() => ({}), {
|
|
87
|
-
componentKey,
|
|
88
|
-
otelContext,
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
else {
|
|
92
|
-
const componentTableName = tableNameForComponentKey(componentKey);
|
|
93
|
-
const whereClause = componentKey._tag === 'singleton' ? '' : `where id = '${componentKey.id}'`;
|
|
94
|
-
state$ = store
|
|
95
|
-
.querySQL(() => sql `select * from ${componentTableName} ${whereClause} limit 1`, {
|
|
96
|
-
queriedTables: [componentTableName],
|
|
97
|
-
componentKey,
|
|
98
|
-
label: `localState:query:${componentKeyLabel}`,
|
|
99
|
-
otelContext,
|
|
100
|
-
})
|
|
101
|
-
// TODO consider to instead of just returning the default value, to write the default component state to the DB
|
|
102
|
-
.pipe((results) => results.length === 1
|
|
103
|
-
? Schema.parseSync(componentStateEffectSchema)(results[0])
|
|
104
|
-
: defaultComponentState);
|
|
105
|
-
}
|
|
106
|
-
const initialComponentState = state$.results$.result;
|
|
107
|
-
const queries = generateQueries({
|
|
108
|
-
state$: state$,
|
|
109
|
-
otelContext,
|
|
110
|
-
registerSubscription: () => { },
|
|
111
|
-
isTemporaryQuery: true,
|
|
112
|
-
});
|
|
113
|
-
for (const [name, query] of Object.entries(queries)) {
|
|
114
|
-
query.label = name;
|
|
115
|
-
}
|
|
116
|
-
const initialQueryResults = mapValues(queries, (query) => query.results$.result);
|
|
117
|
-
return { initialComponentState, initialQueryResults };
|
|
118
|
-
}
|
|
119
|
-
finally {
|
|
120
|
-
span.end();
|
|
121
|
-
}
|
|
83
|
+
const state$ = React.useMemo(() => {
|
|
84
|
+
// create state query
|
|
85
|
+
if (stateSchema === undefined) {
|
|
86
|
+
// TODO don't set up a query if there's no state schema (keeps the graph more clean)
|
|
87
|
+
return new LiveStoreJSQuery({
|
|
88
|
+
fn: () => ({}),
|
|
89
|
+
label: 'empty-component-state',
|
|
90
|
+
// otelContext,
|
|
91
|
+
// otelTracer: store.otel.tracer,
|
|
122
92
|
});
|
|
123
|
-
}
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
const componentTableName = tableNameForComponentKey(componentKey);
|
|
96
|
+
const whereClause = componentKey._tag === 'singleton' ? '' : `where id = '${componentKey.id}'`;
|
|
97
|
+
// TODO find a better solution for this
|
|
98
|
+
if (store.tableRefs[componentTableName] === undefined) {
|
|
99
|
+
const schemaHash = SqliteAst.hash(stateSchema.ast);
|
|
100
|
+
const res = store.inMemoryDB.select(sql `SELECT schemaHash FROM ${SCHEMA_META_TABLE} WHERE tableName = '${componentTableName}'`);
|
|
101
|
+
if (res.length === 0 || res[0].schemaHash !== schemaHash) {
|
|
102
|
+
migrateTable({ db: store._proxyDb, tableDef: stateSchema.ast, otelContext, schemaHash });
|
|
103
|
+
}
|
|
104
|
+
store.tableRefs[componentTableName] = store.graph.makeRef(null, {
|
|
105
|
+
equal: () => false,
|
|
106
|
+
label: componentTableName,
|
|
107
|
+
meta: { liveStoreRefType: 'table' },
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
// state$ = store
|
|
111
|
+
// .querySQL(() => sql`select * from ${componentTableName} ${whereClause} limit 1`, {
|
|
112
|
+
// queriedTables: [componentTableName],
|
|
113
|
+
// componentKey,
|
|
114
|
+
// label: `localState:query:${componentKeyLabel}`,
|
|
115
|
+
// otelContext,
|
|
116
|
+
// })
|
|
117
|
+
return (new LiveStoreSQLQuery({
|
|
118
|
+
label: `localState:query:${componentKeyLabel}`,
|
|
119
|
+
// otelContext,
|
|
120
|
+
// otelTracer: store.otel.tracer,
|
|
121
|
+
genQueryString: () => sql `select * from ${componentTableName} ${whereClause} limit 1`,
|
|
122
|
+
queriedTables: [componentTableName],
|
|
123
|
+
})
|
|
124
|
+
// TODO consider to instead of just returning the default value, to write the default component state to the DB
|
|
125
|
+
.pipe((results) => results.length === 1 ? Schema.parseSync(componentStateEffectSchema)(results[0]) : defaultComponentState));
|
|
126
|
+
}
|
|
124
127
|
}, [
|
|
125
|
-
store,
|
|
126
|
-
otelContext,
|
|
127
|
-
stateSchema,
|
|
128
|
-
generateQueries,
|
|
129
128
|
componentKey,
|
|
130
129
|
componentKeyLabel,
|
|
131
130
|
componentStateEffectSchema,
|
|
132
131
|
defaultComponentState,
|
|
132
|
+
otelContext,
|
|
133
|
+
stateSchema,
|
|
134
|
+
store._proxyDb,
|
|
135
|
+
store.graph,
|
|
136
|
+
store.inMemoryDB,
|
|
137
|
+
store.tableRefs,
|
|
133
138
|
]);
|
|
139
|
+
const queries = React.useMemo(() => generateQueries({ state$, registerSubscription: () => { }, isTemporaryQuery: false }), [generateQueries, state$]);
|
|
140
|
+
// Step 1:
|
|
141
|
+
// Synchronously create state and queries for initial render pass.
|
|
142
|
+
// We do this in a temporary query context which cleans up after itself, making it idempotent
|
|
143
|
+
// TODO get rid of the temporary query workaround
|
|
144
|
+
const { initialComponentState, initialQueryResults } = React.useMemo(() => {
|
|
145
|
+
// return store.otel.tracer.startActiveSpan('LiveStore:useLiveStoreComponent:initial', {}, otelContext, (span) => {
|
|
146
|
+
// const otelContext = otel.trace.setSpan(otel.context.active(), span)
|
|
147
|
+
// NOTE `inTempQueryContext` automatically destroys the queries once the callback is done
|
|
148
|
+
// return store.inTempQueryContext(() => {
|
|
149
|
+
// try {
|
|
150
|
+
// store.graph.refresh({}, otelContext)
|
|
151
|
+
const initialComponentState = state$.run(otelContext);
|
|
152
|
+
// const queries = generateQueries({
|
|
153
|
+
// state$: state$,
|
|
154
|
+
// otelContext,
|
|
155
|
+
// registerSubscription: () => {},
|
|
156
|
+
// isTemporaryQuery: true,
|
|
157
|
+
// })
|
|
158
|
+
for (const [name, query] of Object.entries(queries)) {
|
|
159
|
+
query.label = name;
|
|
160
|
+
}
|
|
161
|
+
// store.graph.refresh({}, otelContext)
|
|
162
|
+
// TODO improve typing
|
|
163
|
+
const initialQueryResults = mapValues(queries, (query) => query.run(otelContext));
|
|
164
|
+
return { initialComponentState, initialQueryResults };
|
|
165
|
+
// } finally {
|
|
166
|
+
// span.end()
|
|
167
|
+
// }
|
|
168
|
+
// })
|
|
169
|
+
// })
|
|
170
|
+
}, [otelContext, queries, state$]);
|
|
134
171
|
// Now that we've computed the initial state synchronously,
|
|
135
172
|
// we can set up our useState calls w/ a default value populated...
|
|
136
173
|
const [componentStateRef, setComponentState_] = useStateRefWithReactiveInput(initialComponentState);
|
|
@@ -169,41 +206,60 @@ export const useLiveStoreComponent = ({ stateSchema: stateSchema_, queries = ()
|
|
|
169
206
|
return store.otel.tracer.startActiveSpan('LiveStore:useLiveStoreComponent:long-running', { attributes: {} }, otelContext, (span) => {
|
|
170
207
|
const otelContext = otel.trace.setSpan(otel.context.active(), span);
|
|
171
208
|
const unsubs = [];
|
|
172
|
-
|
|
173
|
-
let state$;
|
|
174
|
-
if (stateSchema === undefined) {
|
|
175
|
-
// TODO remove this query
|
|
176
|
-
state$ = store.queryJS(() => ({}), {
|
|
177
|
-
componentKey,
|
|
178
|
-
otelContext,
|
|
179
|
-
label: 'empty-component-state',
|
|
180
|
-
});
|
|
181
|
-
}
|
|
182
|
-
else {
|
|
183
|
-
const componentTableName = tableNameForComponentKey(componentKey);
|
|
209
|
+
if (stateSchema !== undefined) {
|
|
184
210
|
insertRowForComponentInstance({ store, componentKey, stateSchema });
|
|
185
|
-
const whereClause = componentKey._tag === 'singleton' ? '' : `where id = '${componentKey.id}'`;
|
|
186
|
-
state$ = store
|
|
187
|
-
.querySQL(() => sql `select * from ${componentTableName} ${whereClause} limit 1`, {
|
|
188
|
-
queriedTables: [componentTableName],
|
|
189
|
-
componentKey,
|
|
190
|
-
label: `localState:query:${componentKeyLabel}`,
|
|
191
|
-
otelContext,
|
|
192
|
-
})
|
|
193
|
-
// TODO consider to instead of just returning the default value, to write the default component state to the DB
|
|
194
|
-
.pipe((results) => results.length === 1 ? Schema.parseSync(componentStateEffectSchema)(results[0]) : defaultComponentState);
|
|
195
211
|
}
|
|
212
|
+
// // create state query
|
|
213
|
+
// let state$: LiveStoreJSQuery<TComponentState>
|
|
214
|
+
// if (stateSchema === undefined) {
|
|
215
|
+
// // TODO remove this query
|
|
216
|
+
// // state$ = store.queryJS(() => ({}) as TComponentState, {
|
|
217
|
+
// // componentKey,
|
|
218
|
+
// // otelContext,
|
|
219
|
+
// // label: 'empty-component-state',
|
|
220
|
+
// // })
|
|
221
|
+
// state$ = new LiveStoreJSQuery({
|
|
222
|
+
// fn: () => ({}) as TComponentState,
|
|
223
|
+
// label: 'empty-component-state',
|
|
224
|
+
// otelContext,
|
|
225
|
+
// otelTracer: store.otel.tracer,
|
|
226
|
+
// })
|
|
227
|
+
// } else {
|
|
228
|
+
// const componentTableName = tableNameForComponentKey(componentKey)
|
|
229
|
+
// insertRowForComponentInstance({ store, componentKey, stateSchema })
|
|
230
|
+
// const whereClause = componentKey._tag === 'singleton' ? '' : `where id = '${componentKey.id}'`
|
|
231
|
+
// // state$ = store
|
|
232
|
+
// // .querySQL<TComponentState>(() => sql`select * from ${componentTableName} ${whereClause} limit 1`, {
|
|
233
|
+
// // queriedTables: [componentTableName],
|
|
234
|
+
// // componentKey,
|
|
235
|
+
// // label: `localState:query:${componentKeyLabel}`,
|
|
236
|
+
// // otelContext,
|
|
237
|
+
// // })
|
|
238
|
+
// state$ = new LiveStoreSQLQuery({
|
|
239
|
+
// label: `localState:query:${componentKeyLabel}`,
|
|
240
|
+
// otelContext,
|
|
241
|
+
// otelTracer: store.otel.tracer,
|
|
242
|
+
// payload: {
|
|
243
|
+
// genQueryString: () => sql`select * from ${componentTableName} ${whereClause} limit 1`,
|
|
244
|
+
// queriedTables: [componentTableName],
|
|
245
|
+
// },
|
|
246
|
+
// })
|
|
247
|
+
// // TODO consider to instead of just returning the default value, to write the default component state to the DB
|
|
248
|
+
// .pipe<TComponentState>((results) =>
|
|
249
|
+
// results.length === 1 ? Schema.parseSync(componentStateEffectSchema)(results[0]!) : defaultComponentState,
|
|
250
|
+
// )
|
|
251
|
+
// }
|
|
196
252
|
unsubs.push(store.subscribe(state$, (results) => {
|
|
197
253
|
if (isEqual(results, componentStateRef.current) === false) {
|
|
198
254
|
setComponentState_(results);
|
|
199
255
|
}
|
|
200
256
|
}, undefined, { label: `useLiveStoreComponent:localState:subscribe:${state$.label}` }));
|
|
201
|
-
|
|
202
|
-
|
|
257
|
+
// TODO re-enable
|
|
258
|
+
const registerSubscription = (query$, callback, onUnsubscribe) => {
|
|
259
|
+
unsubs.push(store.subscribe(query$, (results) => {
|
|
203
260
|
callback(results);
|
|
204
|
-
}, onUnsubscribe, { label: `useLiveStoreComponent:query:manual-subscribe:${query
|
|
261
|
+
}, onUnsubscribe, { label: `useLiveStoreComponent:query:manual-subscribe:${query$.label}` }));
|
|
205
262
|
};
|
|
206
|
-
const queries = generateQueries({ state$, otelContext, registerSubscription, isTemporaryQuery: false });
|
|
207
263
|
for (const [key, query] of Object.entries(queries)) {
|
|
208
264
|
// Use the field name given to this query in the useQueries hook as its label
|
|
209
265
|
query.label = key;
|
|
@@ -223,7 +279,8 @@ export const useLiveStoreComponent = ({ stateSchema: stateSchema_, queries = ()
|
|
|
223
279
|
});
|
|
224
280
|
// NOTE excluding `setComponentState_` and `setQueryResults_` from the deps array as it seems to cause an infinite loop
|
|
225
281
|
// This should probably be improved
|
|
226
|
-
//
|
|
282
|
+
// TODO is this still true?
|
|
283
|
+
// // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
227
284
|
}, [
|
|
228
285
|
store,
|
|
229
286
|
componentKey,
|
|
@@ -232,8 +289,11 @@ export const useLiveStoreComponent = ({ stateSchema: stateSchema_, queries = ()
|
|
|
232
289
|
generateQueries,
|
|
233
290
|
otelContext,
|
|
234
291
|
componentStateRef,
|
|
235
|
-
|
|
236
|
-
|
|
292
|
+
state$,
|
|
293
|
+
queries,
|
|
294
|
+
queryResultsRef,
|
|
295
|
+
setComponentState_,
|
|
296
|
+
setQueryResults_,
|
|
237
297
|
]);
|
|
238
298
|
// Very important: remove any queries / other resources associated w/ this component
|
|
239
299
|
React.useEffect(() => () => store.unmountComponent(componentKey), [store, componentKey]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLiveStoreComponent.js","sourceRoot":"","sources":["../../src/react/useLiveStoreComponent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useLiveStoreComponent.js","sourceRoot":"","sources":["../../src/react/useLiveStoreComponent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useQuery.d.ts","sourceRoot":"","sources":["../../src/react/useQuery.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAKvE,eAAO,MAAM,QAAQ,uDAiDpB,CAAA"}
|