@livestore/livestore 0.0.13 → 0.0.16
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/__tests__/react/fixture.d.ts.map +1 -1
- package/dist/__tests__/react/fixture.js +8 -9
- package/dist/__tests__/react/fixture.js.map +1 -1
- package/dist/__tests__/reactive.test.js +3 -4
- package/dist/__tests__/reactive.test.js.map +1 -1
- 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 +15 -19
- 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 +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -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 +1 -1
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +1 -1
- package/dist/react/index.js.map +1 -1
- package/dist/react/useGraphQL.d.ts +3 -1
- package/dist/react/useGraphQL.d.ts.map +1 -1
- package/dist/react/useGraphQL.js +19 -1
- package/dist/react/useGraphQL.js.map +1 -1
- package/dist/react/useLiveStoreComponent.d.ts +12 -12
- package/dist/react/useLiveStoreComponent.d.ts.map +1 -1
- package/dist/react/useLiveStoreComponent.js +23 -7
- 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 +38 -0
- package/dist/react/useQuery.js.map +1 -0
- package/dist/reactive.d.ts.map +1 -1
- package/dist/reactive.js +3 -3
- package/dist/reactive.js.map +1 -1
- package/dist/reactiveQueries/base-class.d.ts +6 -3
- package/dist/reactiveQueries/base-class.d.ts.map +1 -1
- package/dist/reactiveQueries/base-class.js +1 -0
- package/dist/reactiveQueries/base-class.js.map +1 -1
- package/dist/reactiveQueries/graphql.d.ts +4 -4
- package/dist/reactiveQueries/graphql.d.ts.map +1 -1
- package/dist/reactiveQueries/graphql.js.map +1 -1
- package/dist/reactiveQueries/js.d.ts +2 -2
- package/dist/reactiveQueries/js.d.ts.map +1 -1
- package/dist/reactiveQueries/js.js.map +1 -1
- package/dist/reactiveQueries/sql.d.ts +5 -5
- package/dist/reactiveQueries/sql.d.ts.map +1 -1
- package/dist/reactiveQueries/sql.js +2 -2
- 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 +14 -7
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +80 -46
- 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 +1 -1
- package/src/__tests__/react/fixture.tsx +9 -9
- package/src/__tests__/reactive.test.ts +3 -4
- package/src/effect/LiveStore.ts +14 -18
- package/src/inMemoryDatabase.ts +20 -28
- package/src/index.ts +10 -4
- package/src/migrations.ts +39 -21
- package/src/react/LiveStoreProvider.tsx +13 -16
- package/src/react/index.ts +1 -1
- package/src/react/useGraphQL.ts +28 -2
- package/src/react/useLiveStoreComponent.ts +50 -24
- package/src/react/useQuery.ts +56 -0
- package/src/reactive.ts +6 -4
- package/src/reactiveQueries/base-class.ts +9 -3
- package/src/reactiveQueries/graphql.ts +4 -4
- package/src/reactiveQueries/js.ts +2 -2
- package/src/reactiveQueries/sql.ts +6 -6
- 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 +99 -59
- 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/react/useGlobalQuery.d.ts +0 -3
- package/dist/react/useGlobalQuery.d.ts.map +0 -1
- package/dist/react/useGlobalQuery.js +0 -23
- package/dist/react/useGlobalQuery.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
|
@@ -13,6 +13,7 @@ export class LiveStoreQueryBase {
|
|
|
13
13
|
unsubscribe();
|
|
14
14
|
}
|
|
15
15
|
};
|
|
16
|
+
this.subscribe = (onNewValue, onSubsubscribe, options) => this.store.subscribe(this, onNewValue, onSubsubscribe, options);
|
|
16
17
|
this.componentKey = componentKey;
|
|
17
18
|
this.label = label;
|
|
18
19
|
this.store = store;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-class.js","sourceRoot":"","sources":["../../src/reactiveQueries/base-class.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAO1C,MAAM,OAAgB,kBAAkB;IAatC,YAAY,EACV,YAAY,EACZ,KAAK,EACL,KAAK,EACL,WAAW,GAMZ;QAbD,uEAAuE;QACvE,wBAAmB,GAAkC,IAAI,GAAG,EAAE,CAAA;QAmB9D,YAAO,GAAG,GAAG,EAAE;YACb,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAE,CAAA;YAClD,IAAI,CAAC,GAAG,EAAE,CAAA;YAEV,kGAAkG;YAClG,gFAAgF;YAChF,KAAK,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,IAAI,CAAC,mBAAmB,EAAE;gBAC1D,6BAA6B;gBAC7B,WAAW,EAAE,CAAA;aACd;QACH,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"base-class.js","sourceRoot":"","sources":["../../src/reactiveQueries/base-class.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAO1C,MAAM,OAAgB,kBAAkB;IAatC,YAAY,EACV,YAAY,EACZ,KAAK,EACL,KAAK,EACL,WAAW,GAMZ;QAbD,uEAAuE;QACvE,wBAAmB,GAAkC,IAAI,GAAG,EAAE,CAAA;QAmB9D,YAAO,GAAG,GAAG,EAAE;YACb,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAE,CAAA;YAClD,IAAI,CAAC,GAAG,EAAE,CAAA;YAEV,kGAAkG;YAClG,gFAAgF;YAChF,KAAK,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,IAAI,CAAC,mBAAmB,EAAE;gBAC1D,6BAA6B;gBAC7B,WAAW,EAAE,CAAA;aACd;QACH,CAAC,CAAA;QAED,cAAS,GAAG,CACV,UAAoC,EACpC,cAA2B,EAC3B,OAAwC,EAC1B,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAW,EAAE,UAAiB,EAAE,cAAc,EAAE,OAAO,CAAC,CAAA;QAtB9F,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;IAChC,CAAC;CAmBF"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';
|
|
2
2
|
import type * as otel from '@opentelemetry/api';
|
|
3
3
|
import type { ComponentKey } from '../componentKey.js';
|
|
4
|
-
import type {
|
|
5
|
-
import type { BaseGraphQLContext, Store } from '../store.js';
|
|
4
|
+
import type { Thunk } from '../reactive.js';
|
|
5
|
+
import type { BaseGraphQLContext, GetAtomResult, Store } from '../store.js';
|
|
6
6
|
import { LiveStoreQueryBase } from './base-class.js';
|
|
7
7
|
import type { LiveStoreJSQuery } from './js.js';
|
|
8
|
-
export declare class LiveStoreGraphQLQuery<TResult extends Record<string, any>, VariableValues extends Record<string, any>, TContext extends BaseGraphQLContext> extends LiveStoreQueryBase {
|
|
8
|
+
export declare class LiveStoreGraphQLQuery<TResult extends Record<string, any>, VariableValues extends Record<string, any>, TContext extends BaseGraphQLContext> extends LiveStoreQueryBase<TResult> {
|
|
9
9
|
_tag: 'graphql';
|
|
10
10
|
/** The abstract GraphQL query */
|
|
11
11
|
document: DocumentNode<TResult, VariableValues>;
|
|
@@ -20,6 +20,6 @@ export declare class LiveStoreGraphQLQuery<TResult extends Record<string, any>,
|
|
|
20
20
|
store: Store<TContext>;
|
|
21
21
|
otelContext: otel.Context;
|
|
22
22
|
});
|
|
23
|
-
pipe: <U>(f: (x: TResult, get:
|
|
23
|
+
pipe: <U>(f: (x: TResult, get: GetAtomResult) => U) => LiveStoreJSQuery<U>;
|
|
24
24
|
}
|
|
25
25
|
//# sourceMappingURL=graphql.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphql.d.ts","sourceRoot":"","sources":["../../src/reactiveQueries/graphql.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,IAAI,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAC1F,OAAO,KAAK,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAE/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"graphql.d.ts","sourceRoot":"","sources":["../../src/reactiveQueries/graphql.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,IAAI,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAC1F,OAAO,KAAK,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAE/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAE/C,qBAAa,qBAAqB,CAChC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACnC,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1C,QAAQ,SAAS,kBAAkB,CACnC,SAAQ,kBAAkB,CAAC,OAAO,CAAC;IACnC,IAAI,EAAE,SAAS,CAAY;IAE3B,iCAAiC;IACjC,QAAQ,EAAE,YAAY,CAAC,OAAO,EAAE,cAAc,CAAC,CAAA;IAE/C,sDAAsD;IACtD,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;gBAEZ,EACV,QAAQ,EACR,QAAQ,EACR,GAAG,SAAS,EACb,EAAE;QACD,QAAQ,EAAE,YAAY,CAAC,OAAO,EAAE,cAAc,CAAC,CAAA;QAC/C,OAAO,EAAE,QAAQ,CAAA;QACjB,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;QACxB,YAAY,EAAE,YAAY,CAAA;QAC1B,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;QACtB,WAAW,EAAE,IAAI,CAAC,OAAO,CAAA;KAC1B;IAOD,IAAI,aAAc,OAAO,OAAO,aAAa,+BAW1C;CACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphql.js","sourceRoot":"","sources":["../../src/reactiveQueries/graphql.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAGpD,MAAM,OAAO,qBAIX,SAAQ,
|
|
1
|
+
{"version":3,"file":"graphql.js","sourceRoot":"","sources":["../../src/reactiveQueries/graphql.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAGpD,MAAM,OAAO,qBAIX,SAAQ,kBAA2B;IASnC,YAAY,EACV,QAAQ,EACR,QAAQ,EACR,GAAG,SAAS,EASb;QACC,KAAK,CAAC,SAAS,CAAC,CAAA;QArBlB,SAAI,GAAc,SAAS,CAAA;QA2B3B,SAAI,GAAG,CAAI,CAAwC,EAAuB,EAAE,CAC1E,IAAI,CAAC,KAAK,CAAC,OAAO,CAChB,CAAC,GAAG,EAAE,EAAE;YACN,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAClC,OAAO,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QACxB,CAAC,EACD;YACE,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,KAAK;YACzB,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CACF,CAAA;QAfD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;CAcF"}
|
|
@@ -3,7 +3,7 @@ import type { ComponentKey } from '../componentKey.js';
|
|
|
3
3
|
import type { GetAtom, Thunk } from '../reactive.js';
|
|
4
4
|
import type { Store } from '../store.js';
|
|
5
5
|
import { LiveStoreQueryBase } from './base-class.js';
|
|
6
|
-
export declare class LiveStoreJSQuery<TResult> extends LiveStoreQueryBase {
|
|
6
|
+
export declare class LiveStoreJSQuery<TResult> extends LiveStoreQueryBase<TResult> {
|
|
7
7
|
_tag: 'js';
|
|
8
8
|
/** A reactive thunk representing the query results */
|
|
9
9
|
results$: Thunk<TResult>;
|
|
@@ -11,7 +11,7 @@ export declare class LiveStoreJSQuery<TResult> extends LiveStoreQueryBase {
|
|
|
11
11
|
results$: Thunk<TResult>;
|
|
12
12
|
componentKey: ComponentKey;
|
|
13
13
|
label: string;
|
|
14
|
-
store: Store
|
|
14
|
+
store: Store;
|
|
15
15
|
otelContext: otel.Context;
|
|
16
16
|
});
|
|
17
17
|
pipe: <U>(f: (x: TResult, get: GetAtom) => U) => LiveStoreJSQuery<U>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"js.d.ts","sourceRoot":"","sources":["../../src/reactiveQueries/js.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAE/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAEpD,qBAAa,gBAAgB,CAAC,OAAO,CAAE,SAAQ,kBAAkB;
|
|
1
|
+
{"version":3,"file":"js.d.ts","sourceRoot":"","sources":["../../src/reactiveQueries/js.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAE/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAEpD,qBAAa,gBAAgB,CAAC,OAAO,CAAE,SAAQ,kBAAkB,CAAC,OAAO,CAAC;IACxE,IAAI,EAAE,IAAI,CAAO;IACjB,sDAAsD;IACtD,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;gBAEZ,EACV,QAAQ,EACR,GAAG,SAAS,EACb,EAAE;QACD,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;QACxB,YAAY,EAAE,YAAY,CAAA;QAC1B,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,KAAK,CAAA;QACZ,WAAW,EAAE,IAAI,CAAC,OAAO,CAAA;KAC1B;IAMD,IAAI,aAAc,OAAO,OAAO,OAAO,+BAOpC;CACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"js.js","sourceRoot":"","sources":["../../src/reactiveQueries/js.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAEpD,MAAM,OAAO,gBAA0B,SAAQ,
|
|
1
|
+
{"version":3,"file":"js.js","sourceRoot":"","sources":["../../src/reactiveQueries/js.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAEpD,MAAM,OAAO,gBAA0B,SAAQ,kBAA2B;IAKxE,YAAY,EACV,QAAQ,EACR,GAAG,SAAS,EAOb;QACC,KAAK,CAAC,SAAS,CAAC,CAAA;QAdlB,SAAI,GAAS,IAAI,CAAA;QAmBjB,SAAI,GAAG,CAAI,CAAkC,EAAuB,EAAE,CACpE,IAAI,CAAC,KAAK,CAAC,OAAO,CAChB,CAAC,GAAG,EAAE,EAAE;YACN,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAClC,OAAO,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QACxB,CAAC,EACD,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAC9F,CAAA;QAVD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;CAUF"}
|
|
@@ -4,25 +4,25 @@ import type { GetAtom, Thunk } from '../reactive.js';
|
|
|
4
4
|
import type { Store } from '../store.js';
|
|
5
5
|
import { LiveStoreQueryBase } from './base-class.js';
|
|
6
6
|
import type { LiveStoreJSQuery } from './js.js';
|
|
7
|
-
export declare class LiveStoreSQLQuery<Row> extends LiveStoreQueryBase {
|
|
7
|
+
export declare class LiveStoreSQLQuery<Row> extends LiveStoreQueryBase<Row> {
|
|
8
8
|
_tag: 'sql';
|
|
9
9
|
/** A reactive thunk representing the query text */
|
|
10
10
|
queryString$: Thunk<string>;
|
|
11
11
|
/** A reactive thunk representing the query results */
|
|
12
|
-
results$: Thunk<Row
|
|
12
|
+
results$: Thunk<ReadonlyArray<Row>>;
|
|
13
13
|
constructor({ queryString$, results$, ...baseProps }: {
|
|
14
14
|
queryString$: Thunk<string>;
|
|
15
|
-
results$: Thunk<Row
|
|
15
|
+
results$: Thunk<ReadonlyArray<Row>>;
|
|
16
16
|
componentKey: ComponentKey;
|
|
17
17
|
label: string;
|
|
18
|
-
store: Store
|
|
18
|
+
store: Store;
|
|
19
19
|
otelContext: otel.Context;
|
|
20
20
|
});
|
|
21
21
|
/**
|
|
22
22
|
* Returns a new reactive query that contains the result of
|
|
23
23
|
* running an arbitrary JS computation on the results of this SQL query.
|
|
24
24
|
*/
|
|
25
|
-
pipe: <U>(
|
|
25
|
+
pipe: <U>(fn: (result: ReadonlyArray<Row>, get: GetAtom) => U) => LiveStoreJSQuery<U>;
|
|
26
26
|
/** Returns a reactive query */
|
|
27
27
|
getFirstRow: (args?: {
|
|
28
28
|
defaultValue?: Row;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sql.d.ts","sourceRoot":"","sources":["../../src/reactiveQueries/sql.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAE/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAG/C,qBAAa,iBAAiB,CAAC,GAAG,CAAE,SAAQ,kBAAkB;
|
|
1
|
+
{"version":3,"file":"sql.d.ts","sourceRoot":"","sources":["../../src/reactiveQueries/sql.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAE/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAG/C,qBAAa,iBAAiB,CAAC,GAAG,CAAE,SAAQ,kBAAkB,CAAC,GAAG,CAAC;IACjE,IAAI,EAAE,KAAK,CAAQ;IACnB,mDAAmD;IACnD,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IAC3B,sDAAsD;IACtD,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAA;gBAEvB,EACV,YAAY,EACZ,QAAQ,EACR,GAAG,SAAS,EACb,EAAE;QACD,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;QAC3B,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAA;QACnC,YAAY,EAAE,YAAY,CAAA;QAC1B,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,KAAK,CAAA;QACZ,WAAW,EAAE,IAAI,CAAC,OAAO,CAAA;KAC1B;IAOD;;;OAGG;IACH,IAAI,mBAAoB,cAAc,GAAG,CAAC,OAAO,OAAO,+BAWrD;IAEH,gCAAgC;IAChC,WAAW,UAAW;QAAE,YAAY,CAAC,EAAE,GAAG,CAAA;KAAE,2BAWzC;CACJ"}
|
|
@@ -8,9 +8,9 @@ export class LiveStoreSQLQuery extends LiveStoreQueryBase {
|
|
|
8
8
|
* Returns a new reactive query that contains the result of
|
|
9
9
|
* running an arbitrary JS computation on the results of this SQL query.
|
|
10
10
|
*/
|
|
11
|
-
this.pipe = (
|
|
11
|
+
this.pipe = (fn) => this.store.queryJS((get) => {
|
|
12
12
|
const results = get(this.results$);
|
|
13
|
-
return
|
|
13
|
+
return fn(results, get);
|
|
14
14
|
}, {
|
|
15
15
|
componentKey: this.componentKey,
|
|
16
16
|
label: `${this.label}:js`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sql.js","sourceRoot":"","sources":["../../src/reactiveQueries/sql.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAGpD,kDAAkD;AAClD,MAAM,OAAO,iBAAuB,SAAQ,
|
|
1
|
+
{"version":3,"file":"sql.js","sourceRoot":"","sources":["../../src/reactiveQueries/sql.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAGpD,kDAAkD;AAClD,MAAM,OAAO,iBAAuB,SAAQ,kBAAuB;IAOjE,YAAY,EACV,YAAY,EACZ,QAAQ,EACR,GAAG,SAAS,EAQb;QACC,KAAK,CAAC,SAAS,CAAC,CAAA;QAlBlB,SAAI,GAAU,KAAK,CAAA;QAwBnB;;;WAGG;QACH,SAAI,GAAG,CAAI,EAAmD,EAAuB,EAAE,CACrF,IAAI,CAAC,KAAK,CAAC,OAAO,CAChB,CAAC,GAAG,EAAE,EAAE;YACN,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAClC,OAAO,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QACzB,CAAC,EACD;YACE,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,KAAK;YACzB,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CACF,CAAA;QAEH,gCAAgC;QAChC,gBAAW,GAAG,CAAC,IAA6B,EAAE,EAAE,CAC9C,IAAI,CAAC,KAAK,CAAC,OAAO,CAChB,CAAC,GAAG,EAAE,EAAE;YACN,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAClC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,EAAE,YAAY,KAAK,SAAS,EAAE;gBAC5D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAA;gBAC9E,MAAM,IAAI,KAAK,CAAC,kBAAkB,UAAU,gCAAgC,CAAC,CAAA;aAC9E;YACD,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,YAAY,CAAQ,CAAA;QAClD,CAAC,EACD,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CACjG,CAAA;QAjCD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;CAgCF"}
|
package/dist/schema.d.ts
CHANGED
|
@@ -49,7 +49,6 @@ export type MaterializedViewDefinitions = {
|
|
|
49
49
|
export type ActionDefinitions<TArgsMap extends Record<string, any>> = {
|
|
50
50
|
[key in keyof TArgsMap]: ActionDefinition<TArgsMap[key]>;
|
|
51
51
|
};
|
|
52
|
-
export declare const EVENT_CURSOR_TABLE = "__livestore_event_cursor";
|
|
53
52
|
export declare const SCHEMA_META_TABLE = "__livestore_schema";
|
|
54
53
|
declare const schemaMetaTable: SqliteDsl.TableDefinition<"__livestore_schema", {
|
|
55
54
|
tableName: SqliteDsl.ColumnDefinition<SqliteDsl.FieldType.FieldTypeText<string, string>, false>;
|
|
@@ -59,7 +58,6 @@ declare const schemaMetaTable: SqliteDsl.TableDefinition<"__livestore_schema", {
|
|
|
59
58
|
}>;
|
|
60
59
|
export type SchemaMetaRow = SqliteDsl.FromTable.RowDecoded<typeof schemaMetaTable>;
|
|
61
60
|
export declare const systemTables: {
|
|
62
|
-
__livestore_event_cursor: SqliteAst.Table;
|
|
63
61
|
__livestore_schema: SqliteAst.Table;
|
|
64
62
|
};
|
|
65
63
|
export declare const defineTables: <T extends TableDefinitions>(tables: T) => T;
|
package/dist/schema.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAEpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAI5C,MAAM,MAAM,KAAK,GAAG;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAGD,eAAO,MAAM,oBAAoB,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC,KAAK,CAAA;CAAO,CAAA;AAE1E,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE;QACN,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;KACzD,CAAA;IACD,iBAAiB,CAAC,EAAE,2BAA2B,CAAA;IAC/C,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAA;CAChC,CAAA;AAED,eAAO,MAAM,UAAU,oDAAmD,MAKrD,CAAA;AAErB,MAAM,MAAM,oBAAoB,GAAG,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG;IAEvE,QAAQ,EAAE,MAAM,IAAI,CAAA;CACrB,CAAA;AAGD,eAAO,MAAM,0BAA0B;
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
|
package/dist/schema.js
CHANGED
|
@@ -9,7 +9,9 @@ export const makeSchema = (schema) => ({
|
|
|
9
9
|
actions: schema.actions,
|
|
10
10
|
});
|
|
11
11
|
// TODO get rid of "side effect" in this function (via explicit register fn)
|
|
12
|
-
export const defineComponentStateSchema = (
|
|
12
|
+
export const defineComponentStateSchema = (
|
|
13
|
+
// TODO get rid of the `name` param here and use the `componentKey` name instead
|
|
14
|
+
name, columns) => {
|
|
13
15
|
const tablePath = `components__${name}`;
|
|
14
16
|
if (Object.keys(componentStateTables).includes(tablePath)) {
|
|
15
17
|
// throw new Error(`Can't register duplicate component: ${name}`)
|
|
@@ -22,7 +24,6 @@ export const defineComponentStateSchema = (name, columns) => {
|
|
|
22
24
|
componentStateTables[tablePath] = tableDef.ast;
|
|
23
25
|
return tableDef;
|
|
24
26
|
};
|
|
25
|
-
export const EVENT_CURSOR_TABLE = '__livestore_event_cursor';
|
|
26
27
|
export const SCHEMA_META_TABLE = '__livestore_schema';
|
|
27
28
|
const schemaMetaTable = SqliteDsl.table(SCHEMA_META_TABLE, {
|
|
28
29
|
tableName: SqliteDsl.text({ primaryKey: true }),
|
|
@@ -36,10 +37,6 @@ export const systemTables = {
|
|
|
36
37
|
// type: SqliteDsl.text({ nullable: false }),
|
|
37
38
|
// args: SqliteDsl.text({ nullable: false }),
|
|
38
39
|
// }).ast,
|
|
39
|
-
[EVENT_CURSOR_TABLE]: SqliteDsl.table(EVENT_CURSOR_TABLE, {
|
|
40
|
-
id: SqliteDsl.text({ primaryKey: true }),
|
|
41
|
-
cursor: SqliteDsl.text({ nullable: false }),
|
|
42
|
-
}).ast,
|
|
43
40
|
[SCHEMA_META_TABLE]: schemaMetaTable.ast,
|
|
44
41
|
};
|
|
45
42
|
export const defineTables = (tables) => tables;
|
package/dist/schema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAGlD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAE5C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AASrC,yFAAyF;AACzF,MAAM,CAAC,MAAM,oBAAoB,GAAuC,EAAE,CAAA;AAU1E,MAAM,CAAC,MAAM,UAAU,GAAG,CAA8B,MAAe,EAAU,EAAE,CACjF,CAAC;IACC,MAAM,EAAE,EAAE,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,YAAY,EAAE;IAChG,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,IAAI,EAAE;IACjD,OAAO,EAAE,MAAM,CAAC,OAAO;CACxB,CAAkB,CAAA;AAOrB,4EAA4E;AAC5E,MAAM,CAAC,MAAM,0BAA0B,GAAG,
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAGlD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAE5C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AASrC,yFAAyF;AACzF,MAAM,CAAC,MAAM,oBAAoB,GAAuC,EAAE,CAAA;AAU1E,MAAM,CAAC,MAAM,UAAU,GAAG,CAA8B,MAAe,EAAU,EAAE,CACjF,CAAC;IACC,MAAM,EAAE,EAAE,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,YAAY,EAAE;IAChG,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,IAAI,EAAE;IACjD,OAAO,EAAE,MAAM,CAAC,OAAO;CACxB,CAAkB,CAAA;AAOrB,4EAA4E;AAC5E,MAAM,CAAC,MAAM,0BAA0B,GAAG;AACxC,gFAAgF;AAChF,IAAW,EACX,OAAiB,EAIjB,EAAE;IACF,MAAM,SAAS,GAAG,eAAe,IAAI,EAAW,CAAA;IAChD,IAAI,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;QACzD,iEAAiE;QACjE,OAAO,CAAC,KAAK,CAAC,uCAAuC,SAAS,EAAE,CAAC,CAAA;KAClE;IAED,MAAM,YAAY,GAAG,OAIpB,CAAA;IAED,YAAY,CAAC,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;IAErD,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,SAAS,EAAE,YAAY,EAAE,EAAE,CAAC,CAAA;IAE7D,6BAA6B;IAC7B,oBAAoB,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAA;IAE9C,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AA4BD,MAAM,CAAC,MAAM,iBAAiB,GAAG,oBAAoB,CAAA;AAErD,MAAM,eAAe,GAAG,SAAS,CAAC,KAAK,CAAC,iBAAiB,EAAE;IACzD,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAC/C,UAAU,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAClD,sBAAsB;IACtB,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;CAC/C,CAAC,CAAA;AAIF,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,4DAA4D;IAC5D,8CAA8C;IAC9C,+CAA+C;IAC/C,+CAA+C;IAC/C,UAAU;IACV,CAAC,iBAAiB,CAAC,EAAE,eAAe,CAAC,GAAG;CACd,CAAA;AAE5B,MAAM,CAAC,MAAM,YAAY,GAAG,CAA6B,MAAS,EAAE,EAAE,CAAC,MAAM,CAAA;AAE7E,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAwC,iBAAoB,EAAE,EAAE,CACrG,iBAAiB,CAAA;AAEnB,MAAM,CAAC,MAAM,aAAa,GAAG,CAAmC,OAAU,EAAE,EAAE,CAAC,OAAO,CAAA;AACtF,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,MAA+B,EACN,EAAE,CAAC,MAAM,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type * as otel from '@opentelemetry/api';
|
|
2
|
-
import type {
|
|
2
|
+
import type { PreparedBindValues } from '../../util.js';
|
|
3
3
|
import type { Storage, StorageOtelProps } from '../index.js';
|
|
4
4
|
export type StorageOptionsWebInMemory = {
|
|
5
5
|
type: 'web-in-memory';
|
|
@@ -9,7 +9,7 @@ export declare class InMemoryStorage implements Storage {
|
|
|
9
9
|
readonly otelTracer: otel.Tracer;
|
|
10
10
|
constructor(otelTracer: otel.Tracer);
|
|
11
11
|
static load: (_options?: StorageOptionsWebInMemory) => Promise<({ otelTracer }: StorageOtelProps) => InMemoryStorage>;
|
|
12
|
-
execute: (_query: string, _bindValues?:
|
|
12
|
+
execute: (_query: string, _bindValues?: PreparedBindValues) => void;
|
|
13
13
|
getPersistedData: () => Promise<Uint8Array>;
|
|
14
14
|
}
|
|
15
15
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/in-memory/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAE/C,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/in-memory/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAE/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AACvD,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAE5D,MAAM,MAAM,yBAAyB,GAAG;IACtC,IAAI,EAAE,eAAe,CAAA;CACtB,CAAA;AAED,4DAA4D;AAC5D,qBAAa,eAAgB,YAAW,OAAO;IACjC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM;gBAAvB,UAAU,EAAE,IAAI,CAAC,MAAM;IAE5C,MAAM,CAAC,IAAI,cAAqB,yBAAyB,8BAC/B,gBAAgB,sBACzC;IAED,OAAO,WAAY,MAAM,gBAAgB,kBAAkB,KAAG,IAAI,CAAM;IAExE,gBAAgB,QAAa,QAAQ,UAAU,CAAC,CAAoB;CACrE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/storage/in-memory/index.ts"],"names":[],"mappings":";AASA,4DAA4D;AAC5D,MAAM,OAAO,eAAe;IAC1B,YAAqB,UAAuB;QAAvB,eAAU,GAAV,UAAU,CAAa;QAM5C,YAAO,GAAG,CAAC,MAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/storage/in-memory/index.ts"],"names":[],"mappings":";AASA,4DAA4D;AAC5D,MAAM,OAAO,eAAe;IAC1B,YAAqB,UAAuB;QAAvB,eAAU,GAAV,UAAU,CAAa;QAM5C,YAAO,GAAG,CAAC,MAAc,EAAE,WAAgC,EAAQ,EAAE,GAAE,CAAC,CAAA;QAExE,qBAAgB,GAAG,KAAK,IAAyB,EAAE,CAAC,IAAI,UAAU,EAAE,CAAA;IARrB,CAAC;;;AAEzC,oBAAI,GAAG,KAAK,EAAE,QAAoC,EAAE,EAAE;IAC3D,OAAO,CAAC,EAAE,UAAU,EAAoB,EAAE,EAAE,CAAC,IAAI,EAAe,CAAC,UAAU,CAAC,CAAA;AAC9E,CAAC,AAFU,CAEV"}
|
package/dist/storage/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type * as otel from '@opentelemetry/api';
|
|
2
|
-
import type {
|
|
2
|
+
import type { PreparedBindValues } from '../util.js';
|
|
3
3
|
export type StorageInit = (otelProps: StorageOtelProps) => Promise<Storage> | Storage;
|
|
4
4
|
export interface Storage {
|
|
5
|
-
execute(query: string, bindValues?:
|
|
5
|
+
execute(query: string, bindValues?: PreparedBindValues, parentSpan?: otel.Span): void;
|
|
6
6
|
/** Return a snapshot of persisted data from the storage */
|
|
7
7
|
getPersistedData(parentSpan?: otel.Span): Promise<Uint8Array>;
|
|
8
8
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAE/C,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAE/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAEpD,MAAM,MAAM,WAAW,GAAG,CAAC,SAAS,EAAE,gBAAgB,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAA;AAErF,MAAM,WAAW,OAAO;IACtB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,kBAAkB,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAErF,2DAA2D;IAC3D,gBAAgB,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;CAC9D;AAED,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,KAAK,GAAG,eAAe,CAAA;AAE3D,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,IAAI,CAAC,MAAM,CAAA;IACvB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAA;CACtB,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type * as otel from '@opentelemetry/api';
|
|
2
|
-
import type {
|
|
2
|
+
import type { PreparedBindValues } from '../../util.js';
|
|
3
3
|
import type { Storage, StorageOtelProps } from '../index.js';
|
|
4
4
|
export type StorageOptionsTauri = {
|
|
5
5
|
dbDirPath: string;
|
|
@@ -12,7 +12,7 @@ export declare class TauriStorage implements Storage {
|
|
|
12
12
|
readonly parentSpan: otel.Span;
|
|
13
13
|
constructor(dbFilePath: string, dbDirPath: string, otelTracer: otel.Tracer, parentSpan: otel.Span);
|
|
14
14
|
static load: ({ dbDirPath, appDbFileName }: StorageOptionsTauri) => ({ otelTracer, parentSpan }: StorageOtelProps) => Promise<TauriStorage>;
|
|
15
|
-
execute: (query: string, bindValues?:
|
|
15
|
+
execute: (query: string, bindValues?: PreparedBindValues, parentSpan?: otel.Span) => void;
|
|
16
16
|
getPersistedData: (parentSpan?: otel.Span) => Promise<Uint8Array>;
|
|
17
17
|
private getOtelData;
|
|
18
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/tauri/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAG/C,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/tauri/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAG/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAEvD,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAE5D,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,qBAAa,YAAa,YAAW,OAAO;IAExC,QAAQ,CAAC,UAAU,EAAE,MAAM;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM;IAC1B,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM;IAChC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI;gBAHrB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,IAAI,CAAC,MAAM,EACvB,UAAU,EAAE,IAAI,CAAC,IAAI;IAGhC,MAAM,CAAC,IAAI,iCACsB,mBAAmB,kCACf,gBAAgB,2BAKlD;IAEH,OAAO,UAAW,MAAM,eAAe,kBAAkB,eAAe,KAAK,IAAI,KAAG,IAAI,CAQvF;IAED,gBAAgB,gBAAuB,KAAK,IAAI,KAAG,QAAQ,UAAU,CAAC,CAOrE;IAED,OAAO,CAAC,WAAW,CAA2E;CAC/F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/storage/tauri/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAEvD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAGxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAQjD,MAAM,OAAO,YAAY;IACvB,YACW,UAAkB,EAClB,SAAiB,EACjB,UAAuB,EACvB,UAAqB;QAHrB,eAAU,GAAV,UAAU,CAAQ;QAClB,cAAS,GAAT,SAAS,CAAQ;QACjB,eAAU,GAAV,UAAU,CAAa;QACvB,eAAU,GAAV,UAAU,CAAW;QAYhC,YAAO,GAAG,CAAC,KAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/storage/tauri/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAEvD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAGxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAQjD,MAAM,OAAO,YAAY;IACvB,YACW,UAAkB,EAClB,SAAiB,EACjB,UAAuB,EACvB,UAAqB;QAHrB,eAAU,GAAV,UAAU,CAAQ;QAClB,cAAS,GAAT,SAAS,CAAQ;QACjB,eAAU,GAAV,UAAU,CAAa;QACvB,eAAU,GAAV,UAAU,CAAW;QAYhC,YAAO,GAAG,CAAC,KAAa,EAAE,UAA+B,EAAE,UAAsB,EAAQ,EAAE;YACzF,2FAA2F;YAC3F,KAAK,MAAM,CAAC,SAAS,EAAE;gBACrB,MAAM,EAAE,IAAI,CAAC,UAAU;gBACvB,KAAK;gBACL,MAAM,EAAE,iBAAiB,CAAC,UAAU,IAAI,EAAE,EAAE,KAAK,CAAC;gBAClD,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;aACvC,CAAC,CAAA;QACJ,CAAC,CAAA;QAED,qBAAgB,GAAG,KAAK,EAAE,UAAsB,EAAuB,EAAE;YACvE,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;YAC7B,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,oBAAoB,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAA;YAE/E,OAAO,KAAK,CAAC,uDAAuD,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CACtG,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAC9E,CAAA;QACH,CAAC,CAAA;QAEO,gBAAW,GAAG,CAAC,UAAsB,EAAE,EAAE,CAAC,YAAY,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAE,CAAA;IA9B3F,CAAC;;;AAEG,iBAAI,GACT,CAAC,EAAE,SAAS,EAAE,aAAa,EAAuB,EAAE,EAAE,CACtD,KAAK,EAAE,EAAE,UAAU,EAAE,UAAU,EAAoB,EAAE,EAAE;IACrD,MAAM,UAAU,GAAG,GAAG,SAAS,IAAI,aAAa,EAAE,CAAA;IAClD,MAAM,MAAM,CAAC,uBAAuB,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;IAEjG,OAAO,IAAI,EAAY,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAA;AACxE,CAAC,AAPQ,CAOR;AAwBL,MAAM,YAAY,GAAG,CAAC,UAAiC,EAAE,EAAE;IACzD,MAAM,WAAW,GAAG,UAAU,EAAE,WAAW,EAAE,CAAA;IAC7C,OAAO,WAAW,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;AACjG,CAAC,CAAA"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import type * as otel from '@opentelemetry/api';
|
|
2
2
|
import * as Comlink from 'comlink';
|
|
3
|
-
import type {
|
|
3
|
+
import type { PreparedBindValues } from '../../util.js';
|
|
4
4
|
import type { Storage, StorageOtelProps } from '../index.js';
|
|
5
5
|
import type { WrappedWorker } from './worker.js';
|
|
6
6
|
export type StorageType = 'opfs' | 'indexeddb';
|
|
7
7
|
export type StorageOptionsWeb = {
|
|
8
8
|
/** Specifies where to persist data for this storage */
|
|
9
9
|
type: StorageType;
|
|
10
|
-
|
|
10
|
+
fileName: string;
|
|
11
11
|
};
|
|
12
12
|
export declare class WebWorkerStorage implements Storage {
|
|
13
13
|
worker: Comlink.Remote<WrappedWorker>;
|
|
@@ -15,12 +15,12 @@ export declare class WebWorkerStorage implements Storage {
|
|
|
15
15
|
otelTracer: otel.Tracer;
|
|
16
16
|
executionBacklog: {
|
|
17
17
|
query: string;
|
|
18
|
-
bindValues?:
|
|
18
|
+
bindValues?: PreparedBindValues;
|
|
19
19
|
}[];
|
|
20
20
|
executionPromise: Promise<void> | undefined;
|
|
21
21
|
private constructor();
|
|
22
22
|
static load: (options: StorageOptionsWeb) => ({ otelTracer }: StorageOtelProps) => WebWorkerStorage;
|
|
23
|
-
execute: (query: string,
|
|
23
|
+
execute: (query: string, bindValues?: PreparedBindValues) => void;
|
|
24
24
|
private executeBacklog;
|
|
25
25
|
getPersistedData: (_parentSpan?: otel.Span) => Promise<Uint8Array>;
|
|
26
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/web-worker/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAC/C,OAAO,KAAK,OAAO,MAAM,SAAS,CAAA;AAElC,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/web-worker/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAC/C,OAAO,KAAK,OAAO,MAAM,SAAS,CAAA;AAElC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AACvD,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAE5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,WAAW,CAAA;AAE9C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,uDAAuD;IACvD,IAAI,EAAE,WAAW,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,qBAAa,gBAAiB,YAAW,OAAO;IAC9C,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;IACrC,OAAO,EAAE,iBAAiB,CAAA;IAC1B,UAAU,EAAE,IAAI,CAAC,MAAM,CAAA;IAEvB,gBAAgB,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,kBAAkB,CAAA;KAAE,EAAE,CAAK;IAC3E,gBAAgB,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAA;IAE3C,OAAO;IAmBP,MAAM,CAAC,IAAI,YAAa,iBAAiB,sBASf,gBAAgB,sBAOzC;IAED,OAAO,UAAW,MAAM,eAAe,kBAAkB,UAaxD;IAED,OAAO,CAAC,cAAc,CAIrB;IAED,gBAAgB,iBAAwB,KAAK,IAAI,KAAG,QAAQ,UAAU,CAAC,CAAkC;CAC1G"}
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import { casesHandled } from '@livestore/utils';
|
|
2
2
|
import * as Comlink from 'comlink';
|
|
3
|
-
import { prepareBindValues } from '../../util.js';
|
|
4
3
|
import { IDB } from '../utils/idb.js';
|
|
5
4
|
export class WebWorkerStorage {
|
|
6
5
|
constructor({ worker, options, otelTracer, executionPromise, }) {
|
|
7
6
|
this.executionBacklog = [];
|
|
8
|
-
this.execute = (query,
|
|
9
|
-
const bindValues = prepareBindValues(bindValues_ ?? {}, query);
|
|
7
|
+
this.execute = (query, bindValues) => {
|
|
10
8
|
this.executionBacklog.push({ query, bindValues });
|
|
11
9
|
// Instead of sending the queries to the worker immediately, we wait a bit and batch them up (which reduces the number of messages sent to the worker)
|
|
12
10
|
if (this.executionPromise === undefined) {
|
|
@@ -51,7 +49,7 @@ const getPersistedData = async (options) => {
|
|
|
51
49
|
case 'opfs': {
|
|
52
50
|
try {
|
|
53
51
|
const rootHandle = await navigator.storage.getDirectory();
|
|
54
|
-
const fileHandle = await rootHandle.getFileHandle(options.
|
|
52
|
+
const fileHandle = await rootHandle.getFileHandle(options.fileName + '.db');
|
|
55
53
|
const file = await fileHandle.getFile();
|
|
56
54
|
const buffer = await file.arrayBuffer();
|
|
57
55
|
const data = new Uint8Array(buffer);
|
|
@@ -65,7 +63,7 @@ const getPersistedData = async (options) => {
|
|
|
65
63
|
}
|
|
66
64
|
}
|
|
67
65
|
case 'indexeddb': {
|
|
68
|
-
const idb = new IDB(options.
|
|
66
|
+
const idb = new IDB(options.fileName);
|
|
69
67
|
return (await idb.get('db')) ?? new Uint8Array();
|
|
70
68
|
}
|
|
71
69
|
default: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/storage/web-worker/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAE/C,OAAO,KAAK,OAAO,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/storage/web-worker/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,7 +30,7 @@ const initialize = async (options) => {
|
|
|
30
30
|
switch (options.type) {
|
|
31
31
|
case 'opfs': {
|
|
32
32
|
try {
|
|
33
|
-
db = new sqlite3.oo1.OpfsDb(fullyQualifiedFilename(options.
|
|
33
|
+
db = new sqlite3.oo1.OpfsDb(fullyQualifiedFilename(options.fileName)); // , 'c'
|
|
34
34
|
}
|
|
35
35
|
catch (e) {
|
|
36
36
|
debugger;
|
|
@@ -40,7 +40,7 @@ const initialize = async (options) => {
|
|
|
40
40
|
case 'indexeddb': {
|
|
41
41
|
try {
|
|
42
42
|
db = new sqlite3.oo1.DB({ filename: ':memory:', flags: 'c' });
|
|
43
|
-
idb = new IDB(options.
|
|
43
|
+
idb = new IDB(options.fileName);
|
|
44
44
|
const bytes = await idb.get('db');
|
|
45
45
|
if (bytes !== undefined) {
|
|
46
46
|
// Based on https://sqlite.org/forum/forumpost/2119230da8ac5357a13b731f462dc76e08621a4a29724f7906d5f35bb8508465
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/storage/web-worker/worker.ts"],"names":[],"mappings":"AAAA,sDAAsD;AAEtD,4EAA4E;AAC5E,+CAA+C;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,KAAK,OAAO,MAAM,SAAS,CAAA;AAElC,OAAO,iBAAiB,MAAM,YAAY,CAAA;AAI1C,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAA;AAGrC,qDAAqD;AACrD,8BAA8B;AAC9B,IAAI,EAA0B,CAAA;AAE9B,IAAI,OAAiC,CAAA;AAErC,kEAAkE;AAClE,IAAI,GAAoB,CAAA;AAExB,iEAAiE;AACjE,IAAI,QAA2B,CAAA;AAE/B,MAAM,mBAAmB,GAAG,GAAG,EAAE,CAC/B,EAAE,CAAC,IAAI,CAAC,GAAG,CAAA;;;;GAIV,CAAC,CAAA;AAEJ,4CAA4C;AAC5C,MAAM,sBAAsB,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,GAAG,IAAI,KAAK,CAAA;AAE7D,MAAM,UAAU,GAAG,KAAK,EAAE,OAA0B,EAAE,EAAE;IACtD,QAAQ,GAAG,OAAO,CAAA;IAElB,OAAO,GAAG,MAAM,iBAAiB,CAAC;QAChC,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,OAAO,EAAE,CAAC;QAC1D,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,OAAO,EAAE,CAAC;KAChE,CAAC,CAAA;IAEF,QAAQ,OAAO,CAAC,IAAI,EAAE;QACpB,KAAK,MAAM,CAAC,CAAC;YACX,IAAI;gBACF,EAAE,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,sBAAsB,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/storage/web-worker/worker.ts"],"names":[],"mappings":"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"}
|
package/dist/store.d.ts
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import type { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';
|
|
2
2
|
import * as otel from '@opentelemetry/api';
|
|
3
3
|
import type { GraphQLSchema } from 'graphql';
|
|
4
|
+
import type * as Sqlite from 'sqlite-esm';
|
|
4
5
|
import type { ComponentKey } from './componentKey.js';
|
|
6
|
+
import type { QueryDefinition } from './effect/LiveStore.js';
|
|
5
7
|
import type { LiveStoreEvent } from './events.js';
|
|
6
8
|
import { InMemoryDatabase } from './inMemoryDatabase.js';
|
|
7
|
-
import type {
|
|
9
|
+
import type { Atom, Ref } from './reactive.js';
|
|
8
10
|
import { ReactiveGraph } from './reactive.js';
|
|
9
11
|
import { LiveStoreGraphQLQuery } from './reactiveQueries/graphql.js';
|
|
10
12
|
import { LiveStoreJSQuery } from './reactiveQueries/js.js';
|
|
@@ -12,13 +14,13 @@ import { LiveStoreSQLQuery } from './reactiveQueries/sql.js';
|
|
|
12
14
|
import type { GetActionArgs, Schema } from './schema.js';
|
|
13
15
|
import type { Storage, StorageInit } from './storage/index.js';
|
|
14
16
|
import type { Bindable, ParamsObject } from './util.js';
|
|
17
|
+
export type GetAtomResult = <T>(atom: Atom<T> | LiveStoreJSQuery<T>) => T;
|
|
15
18
|
export type LiveStoreQuery<TResult extends Record<string, any> = any> = LiveStoreSQLQuery<TResult> | LiveStoreJSQuery<TResult> | LiveStoreGraphQLQuery<TResult, any, any>;
|
|
16
19
|
export type BaseGraphQLContext = {
|
|
17
20
|
queriedTables: Set<string>;
|
|
18
21
|
/** Needed by Pothos Otel plugin for resolver tracing to work */
|
|
19
22
|
otelContext?: otel.Context;
|
|
20
23
|
};
|
|
21
|
-
export declare const RESET_DB_LOCAL_STORAGE_KEY = "livestore-reset";
|
|
22
24
|
export type QueryResult<TQuery> = TQuery extends LiveStoreSQLQuery<infer R> ? ReadonlyArray<Readonly<R>> : TQuery extends LiveStoreJSQuery<infer S> ? Readonly<S> : TQuery extends LiveStoreGraphQLQuery<infer Result, any, any> ? Readonly<Result> : never;
|
|
23
25
|
export type GraphQLOptions<TContext> = {
|
|
24
26
|
schema: GraphQLSchema;
|
|
@@ -26,6 +28,8 @@ export type GraphQLOptions<TContext> = {
|
|
|
26
28
|
};
|
|
27
29
|
export type StoreOptions<TGraphQLContext extends BaseGraphQLContext> = {
|
|
28
30
|
db: InMemoryDatabase;
|
|
31
|
+
/** A `Proxy`d version of `db` except that it also mirrors `execute` calls to the storage */
|
|
32
|
+
dbProxy: InMemoryDatabase;
|
|
29
33
|
schema: Schema;
|
|
30
34
|
storage?: Storage;
|
|
31
35
|
graphQLOptions?: GraphQLOptions<TGraphQLContext>;
|
|
@@ -64,9 +68,10 @@ export type StoreOtel = {
|
|
|
64
68
|
applyEventsSpanContext: otel.Context;
|
|
65
69
|
queriesSpanContext: otel.Context;
|
|
66
70
|
};
|
|
67
|
-
export declare class Store<TGraphQLContext extends BaseGraphQLContext> {
|
|
71
|
+
export declare class Store<TGraphQLContext extends BaseGraphQLContext = BaseGraphQLContext> {
|
|
68
72
|
graph: ReactiveGraph<RefreshReason, QueryDebugInfo>;
|
|
69
73
|
inMemoryDB: InMemoryDatabase;
|
|
74
|
+
_proxyDb: InMemoryDatabase;
|
|
70
75
|
schema: Schema;
|
|
71
76
|
graphQLSchema?: GraphQLSchema;
|
|
72
77
|
graphQLContext?: TGraphQLContext;
|
|
@@ -88,7 +93,7 @@ export declare class Store<TGraphQLContext extends BaseGraphQLContext> {
|
|
|
88
93
|
*
|
|
89
94
|
* NOTE The query is actually running (even if no one has subscribed to it yet) and will be kept up to date.
|
|
90
95
|
*/
|
|
91
|
-
querySQL: <TResult>(genQueryString: (get:
|
|
96
|
+
querySQL: <TResult>(genQueryString: string | ((get: GetAtomResult) => string), { queriedTables, bindValues, componentKey, label, otelContext, }: {
|
|
92
97
|
/**
|
|
93
98
|
* List of tables that are queried in this query;
|
|
94
99
|
* used to determine reactive dependencies.
|
|
@@ -101,12 +106,12 @@ export declare class Store<TGraphQLContext extends BaseGraphQLContext> {
|
|
|
101
106
|
label?: string | undefined;
|
|
102
107
|
otelContext?: otel.Context | undefined;
|
|
103
108
|
}) => LiveStoreSQLQuery<TResult>;
|
|
104
|
-
queryJS: <TResult>(genResults: (get:
|
|
109
|
+
queryJS: <TResult>(genResults: (get: GetAtomResult) => TResult, { componentKey, label, otelContext, }: {
|
|
105
110
|
componentKey?: ComponentKey | undefined;
|
|
106
111
|
label?: string | undefined;
|
|
107
112
|
otelContext?: otel.Context | undefined;
|
|
108
113
|
}) => LiveStoreJSQuery<TResult>;
|
|
109
|
-
queryGraphQL: <TResult extends Record<string, any>, TVariableValues extends Record<string, any>>(document: DocumentNode<TResult, TVariableValues>, genVariableValues: (get:
|
|
114
|
+
queryGraphQL: <TResult extends Record<string, any>, TVariableValues extends Record<string, any>>(document: DocumentNode<TResult, TVariableValues>, genVariableValues: TVariableValues | ((get: GetAtomResult) => TVariableValues), { componentKey, label, otelContext, }: {
|
|
110
115
|
componentKey: ComponentKey;
|
|
111
116
|
label?: string | undefined;
|
|
112
117
|
otelContext?: otel.Context | undefined;
|
|
@@ -166,6 +171,7 @@ export declare class Store<TGraphQLContext extends BaseGraphQLContext> {
|
|
|
166
171
|
manualRefresh: (options?: {
|
|
167
172
|
label?: string;
|
|
168
173
|
}) => void;
|
|
174
|
+
runOnce: <TQueryDef extends QueryDefinition>(queryDef: TQueryDef) => QueryResult<ReturnType<TQueryDef>>;
|
|
169
175
|
/**
|
|
170
176
|
* Apply an event to the store.
|
|
171
177
|
* Returns the tables that were affected by the event.
|
|
@@ -181,12 +187,13 @@ export declare class Store<TGraphQLContext extends BaseGraphQLContext> {
|
|
|
181
187
|
execute: (query: string, params?: ParamsObject, writeTables?: string[]) => Promise<void>;
|
|
182
188
|
}
|
|
183
189
|
/** Create a new LiveStore Store */
|
|
184
|
-
export declare const createStore: <TGraphQLContext extends BaseGraphQLContext>({ schema, loadStorage, graphQLOptions, otelTracer, otelRootSpanContext, boot, }: {
|
|
190
|
+
export declare const createStore: <TGraphQLContext extends BaseGraphQLContext>({ schema, loadStorage, graphQLOptions, otelTracer, otelRootSpanContext, boot, sqlite3, }: {
|
|
185
191
|
schema: Schema;
|
|
186
192
|
loadStorage: () => StorageInit | Promise<StorageInit>;
|
|
187
193
|
graphQLOptions?: GraphQLOptions<TGraphQLContext> | undefined;
|
|
188
194
|
otelTracer?: otel.Tracer | undefined;
|
|
189
195
|
otelRootSpanContext?: otel.Context | undefined;
|
|
190
196
|
boot?: ((db: InMemoryDatabase, parentSpan: otel.Span) => unknown | Promise<unknown>) | undefined;
|
|
197
|
+
sqlite3: Sqlite.Sqlite3Static;
|
|
191
198
|
}) => Promise<Store<TGraphQLContext>>;
|
|
192
199
|
//# sourceMappingURL=store.d.ts.map
|
package/dist/store.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,IAAI,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAG1F,OAAO,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
|