@livestore/livestore 0.4.0-dev.22 → 0.4.0-dev.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -1
- package/dist/.tsbuildinfo +1 -1
- package/dist/QueryCache.js +1 -1
- package/dist/QueryCache.js.map +1 -1
- package/dist/SqliteDbWrapper.d.ts +5 -5
- package/dist/SqliteDbWrapper.d.ts.map +1 -1
- package/dist/SqliteDbWrapper.js +8 -8
- package/dist/SqliteDbWrapper.js.map +1 -1
- package/dist/SqliteDbWrapper.test.js +2 -2
- package/dist/SqliteDbWrapper.test.js.map +1 -1
- package/dist/effect/LiveStore.d.ts +14 -7
- package/dist/effect/LiveStore.d.ts.map +1 -1
- package/dist/effect/LiveStore.js +0 -15
- package/dist/effect/LiveStore.js.map +1 -1
- package/dist/effect/LiveStore.test.d.ts +2 -0
- package/dist/effect/LiveStore.test.d.ts.map +1 -0
- package/dist/effect/LiveStore.test.js +42 -0
- package/dist/effect/LiveStore.test.js.map +1 -0
- package/dist/live-queries/base-class.d.ts +3 -3
- package/dist/live-queries/base-class.d.ts.map +1 -1
- package/dist/live-queries/base-class.js +2 -2
- package/dist/live-queries/base-class.js.map +1 -1
- package/dist/live-queries/client-document-get-query.d.ts +1 -1
- package/dist/live-queries/client-document-get-query.d.ts.map +1 -1
- package/dist/live-queries/client-document-get-query.js +1 -1
- package/dist/live-queries/client-document-get-query.js.map +1 -1
- package/dist/live-queries/computed.d.ts.map +1 -1
- package/dist/live-queries/computed.js +2 -2
- package/dist/live-queries/computed.js.map +1 -1
- package/dist/live-queries/db-query.js +14 -14
- package/dist/live-queries/db-query.js.map +1 -1
- package/dist/live-queries/db-query.test.js +2 -2
- package/dist/live-queries/db-query.test.js.map +1 -1
- package/dist/live-queries/signal.test.js +2 -2
- package/dist/live-queries/signal.test.js.map +1 -1
- package/dist/mod.d.ts +1 -1
- package/dist/mod.d.ts.map +1 -1
- package/dist/mod.js.map +1 -1
- package/dist/reactive.d.ts +9 -9
- package/dist/reactive.d.ts.map +1 -1
- package/dist/reactive.js +9 -26
- package/dist/reactive.js.map +1 -1
- package/dist/reactive.test.js +2 -2
- package/dist/reactive.test.js.map +1 -1
- package/dist/store/StoreRegistry.d.ts +30 -5
- package/dist/store/StoreRegistry.d.ts.map +1 -1
- package/dist/store/StoreRegistry.js +54 -31
- package/dist/store/StoreRegistry.js.map +1 -1
- package/dist/store/StoreRegistry.test.js +251 -250
- package/dist/store/StoreRegistry.test.js.map +1 -1
- package/dist/store/create-store.d.ts +6 -2
- package/dist/store/create-store.d.ts.map +1 -1
- package/dist/store/create-store.js +13 -7
- package/dist/store/create-store.js.map +1 -1
- package/dist/store/devtools.d.ts +1 -1
- package/dist/store/devtools.d.ts.map +1 -1
- package/dist/store/devtools.js +3 -3
- package/dist/store/devtools.js.map +1 -1
- package/dist/store/store-eventstream.test.js +2 -2
- package/dist/store/store-eventstream.test.js.map +1 -1
- package/dist/store/store-types.d.ts +70 -5
- package/dist/store/store-types.d.ts.map +1 -1
- package/dist/store/store-types.js.map +1 -1
- package/dist/store/store-types.test.js +1 -1
- package/dist/store/store-types.test.js.map +1 -1
- package/dist/store/store.d.ts +81 -2
- package/dist/store/store.d.ts.map +1 -1
- package/dist/store/store.js +128 -45
- package/dist/store/store.js.map +1 -1
- package/dist/utils/dev.js.map +1 -1
- package/dist/utils/stack-info.js +2 -2
- package/dist/utils/stack-info.js.map +1 -1
- package/dist/utils/tests/fixture.d.ts +1 -1
- package/dist/utils/tests/fixture.d.ts.map +1 -1
- package/dist/utils/tests/fixture.js.map +1 -1
- package/dist/utils/tests/otel.d.ts.map +1 -1
- package/dist/utils/tests/otel.js +5 -5
- package/dist/utils/tests/otel.js.map +1 -1
- package/package.json +58 -17
- package/src/QueryCache.ts +1 -1
- package/src/SqliteDbWrapper.test.ts +4 -2
- package/src/SqliteDbWrapper.ts +12 -11
- package/src/ambient.d.ts +0 -7
- package/src/effect/LiveStore.test.ts +61 -0
- package/src/effect/LiveStore.ts +17 -26
- package/src/live-queries/__snapshots__/db-query.test.ts.snap +336 -231
- package/src/live-queries/base-class.ts +7 -6
- package/src/live-queries/client-document-get-query.ts +4 -2
- package/src/live-queries/computed.ts +3 -2
- package/src/live-queries/db-query.test.ts +3 -2
- package/src/live-queries/db-query.ts +15 -15
- package/src/live-queries/signal.test.ts +3 -2
- package/src/mod.ts +1 -0
- package/src/reactive.test.ts +3 -2
- package/src/reactive.ts +22 -23
- package/src/store/StoreRegistry.test.ts +317 -293
- package/src/store/StoreRegistry.ts +63 -38
- package/src/store/create-store.ts +26 -11
- package/src/store/devtools.ts +5 -6
- package/src/store/store-eventstream.test.ts +4 -2
- package/src/store/store-types.test.ts +3 -1
- package/src/store/store-types.ts +47 -8
- package/src/store/store.ts +172 -55
- package/src/utils/dev.ts +2 -2
- package/src/utils/stack-info.ts +2 -2
- package/src/utils/tests/fixture.ts +2 -1
- package/src/utils/tests/otel.ts +8 -7
- package/docs/api/index.md +0 -3
- package/docs/building-with-livestore/complex-ui-state/index.md +0 -3
- package/docs/building-with-livestore/crud/index.md +0 -3
- package/docs/building-with-livestore/data-modeling/index.md +0 -30
- package/docs/building-with-livestore/debugging/index.md +0 -17
- package/docs/building-with-livestore/devtools/index.md +0 -79
- package/docs/building-with-livestore/events/index.md +0 -355
- package/docs/building-with-livestore/examples/ai-agent/index.md +0 -5
- package/docs/building-with-livestore/examples/todo-workspaces/index.md +0 -885
- package/docs/building-with-livestore/examples/turnbased-game/index.md +0 -7
- package/docs/building-with-livestore/opentelemetry/index.md +0 -227
- package/docs/building-with-livestore/production-checklist/index.md +0 -5
- package/docs/building-with-livestore/reactivity-system/index.md +0 -202
- package/docs/building-with-livestore/rules-for-ai-agents/index.md +0 -9
- package/docs/building-with-livestore/state/materializers/index.md +0 -300
- package/docs/building-with-livestore/state/sql-queries/index.md +0 -94
- package/docs/building-with-livestore/state/sqlite/index.md +0 -45
- package/docs/building-with-livestore/state/sqlite-schema/index.md +0 -306
- package/docs/building-with-livestore/state/sqlite-schema-effect/index.md +0 -300
- package/docs/building-with-livestore/store/index.md +0 -625
- package/docs/building-with-livestore/syncing/index.md +0 -136
- package/docs/building-with-livestore/tools/cli/index.md +0 -177
- package/docs/building-with-livestore/tools/mcp/index.md +0 -187
- package/docs/examples/cloudflare-adapter/index.md +0 -44
- package/docs/examples/expo-adapter/index.md +0 -44
- package/docs/examples/index.md +0 -55
- package/docs/examples/node-adapter/index.md +0 -44
- package/docs/examples/web-adapter/index.md +0 -52
- package/docs/framework-integrations/custom-elements/index.md +0 -142
- package/docs/framework-integrations/react-integration/index.md +0 -937
- package/docs/framework-integrations/solid-integration/index.md +0 -293
- package/docs/framework-integrations/svelte-integration/index.md +0 -42
- package/docs/framework-integrations/vue-integration/index.md +0 -294
- package/docs/getting-started/expo/index.md +0 -882
- package/docs/getting-started/node/index.md +0 -115
- package/docs/getting-started/react-web/index.md +0 -626
- package/docs/getting-started/solid/index.md +0 -3
- package/docs/getting-started/vue/index.md +0 -471
- package/docs/index.md +0 -208
- package/docs/llms.txt +0 -146
- package/docs/misc/CODE_OF_CONDUCT/index.md +0 -133
- package/docs/misc/FAQ/index.md +0 -37
- package/docs/misc/community/index.md +0 -88
- package/docs/misc/credits/index.md +0 -14
- package/docs/misc/design-partners/index.md +0 -13
- package/docs/misc/package-management/index.md +0 -21
- package/docs/misc/performance/index.md +0 -25
- package/docs/misc/resources/index.md +0 -46
- package/docs/misc/state-of-the-project/index.md +0 -37
- package/docs/misc/troubleshooting/index.md +0 -82
- package/docs/overview/concepts/index.md +0 -78
- package/docs/overview/how-livestore-works/index.md +0 -56
- package/docs/overview/introduction/index.md +0 -413
- package/docs/overview/technology-comparison/index.md +0 -40
- package/docs/overview/when-livestore/index.md +0 -81
- package/docs/overview/why-livestore/index.md +0 -111
- package/docs/patterns/ai/index.md +0 -15
- package/docs/patterns/anonymous-user-transition/index.md +0 -10
- package/docs/patterns/app-evolution/index.md +0 -72
- package/docs/patterns/auth/index.md +0 -377
- package/docs/patterns/effect/index.md +0 -1505
- package/docs/patterns/encryption/index.md +0 -6
- package/docs/patterns/external-data/index.md +0 -5
- package/docs/patterns/file-management/index.md +0 -11
- package/docs/patterns/file-structure/index.md +0 -14
- package/docs/patterns/list-ordering/index.md +0 -369
- package/docs/patterns/offline/index.md +0 -32
- package/docs/patterns/orm/index.md +0 -18
- package/docs/patterns/presence/index.md +0 -11
- package/docs/patterns/rich-text-editing/index.md +0 -11
- package/docs/patterns/server-side-clients/index.md +0 -97
- package/docs/patterns/side-effects/index.md +0 -11
- package/docs/patterns/state-machines/index.md +0 -11
- package/docs/patterns/storybook/index.md +0 -209
- package/docs/patterns/undo-redo/index.md +0 -9
- package/docs/patterns/version-control/index.md +0 -8
- package/docs/platform-adapters/cloudflare-durable-object-adapter/index.md +0 -453
- package/docs/platform-adapters/electron-adapter/index.md +0 -15
- package/docs/platform-adapters/expo-adapter/index.md +0 -262
- package/docs/platform-adapters/node-adapter/index.md +0 -160
- package/docs/platform-adapters/tauri-adapter/index.md +0 -15
- package/docs/platform-adapters/web-adapter/index.md +0 -287
- package/docs/sustainable-open-source/contributing/docs/index.md +0 -94
- package/docs/sustainable-open-source/contributing/info/index.md +0 -63
- package/docs/sustainable-open-source/contributing/monorepo/index.md +0 -195
- package/docs/sustainable-open-source/sponsoring/index.md +0 -104
- package/docs/sync-providers/cloudflare/index.md +0 -773
- package/docs/sync-providers/custom/index.md +0 -65
- package/docs/sync-providers/electricsql/index.md +0 -159
- package/docs/sync-providers/s2/index.md +0 -230
- package/docs/tutorial/0-welcome/index.md +0 -48
- package/docs/tutorial/1-setup-starter-project/index.md +0 -105
- package/docs/tutorial/2-deploy-to-cloudflare/index.md +0 -195
- package/docs/tutorial/3-read-and-write-todos-via-livestore/index.md +0 -530
- package/docs/tutorial/4-sync-data-via-cloudflare/index.md +0 -210
- package/docs/tutorial/5-expand-business-logic/index.md +0 -174
- package/docs/tutorial/6-persist-ui-state/index.md +0 -453
- package/docs/tutorial/7-next-steps/index.md +0 -22
- package/docs/understanding-livestore/design-decisions/index.md +0 -33
- package/docs/understanding-livestore/event-sourcing/index.md +0 -40
package/dist/QueryCache.js
CHANGED
|
@@ -12,7 +12,7 @@ export default class QueryCache {
|
|
|
12
12
|
return sql;
|
|
13
13
|
}
|
|
14
14
|
const formatValue = (value) => (value === SessionIdSymbol ? 'SessionIdSymbol' : String(value));
|
|
15
|
-
if (Array.isArray(bindValues)) {
|
|
15
|
+
if (Array.isArray(bindValues) === true) {
|
|
16
16
|
return `${sql}\n${bindValues.map(formatValue).join('\n')}`;
|
|
17
17
|
}
|
|
18
18
|
return (sql +
|
package/dist/QueryCache.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryCache.js","sourceRoot":"","sources":["../src/QueryCache.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEvE,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;AAClC,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;AAUpC,MAAM,MAAM,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,CAAC,CAAA;AAEtE,yDAAyD;AACzD,MAAM,SAAS,GAAG,GAAG,CAAA;AACrB,MAAM,CAAC,OAAO,OAAO,UAAU;IAC7B,QAAQ,GAAG,IAAI,QAAQ,CAAgB,SAAS,CAAC,CAAA;IACjD,aAAa,GAAG,IAAI,GAAG,EAAiC,CAAA;IAExD,MAAM,GAAG,CAAC,GAAW,EAAE,UAAqB,EAAY,EAAE;QACxD,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;YACvB,OAAO,GAAe,CAAA;QACxB,CAAC;QAED,MAAM,WAAW,GAAG,CAAC,KAAU,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,eAAe,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;QAEnG,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"QueryCache.js","sourceRoot":"","sources":["../src/QueryCache.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { type DebugInfo, type MutableDebugInfo, type PreparedBindValues, type PreparedStatement, type SqliteDb, type SqliteDbChangeset, type SqliteDbSession } from '@livestore/common';
|
|
2
1
|
import type * as otel from '@opentelemetry/api';
|
|
2
|
+
import { type DebugInfo, type MutableDebugInfo, type PreparedBindValues, type PreparedStatement, type SqliteDb, type SqliteDbChangeset, type SqliteDbSession } from '@livestore/common';
|
|
3
3
|
export declare const emptyDebugInfo: () => DebugInfo;
|
|
4
4
|
/**
|
|
5
5
|
* This class is mostly adding result caching around a SqliteDb which is used to speed up
|
|
@@ -43,7 +43,7 @@ export declare class SqliteDbWrapper implements SqliteDb {
|
|
|
43
43
|
};
|
|
44
44
|
rollback(changeset: Uint8Array<ArrayBuffer>): void;
|
|
45
45
|
getTablesUsed(query: string): Set<string>;
|
|
46
|
-
cachedExecute(queryStr: string, bindValues?: PreparedBindValues
|
|
46
|
+
cachedExecute(queryStr: string, bindValues?: PreparedBindValues, options?: {
|
|
47
47
|
hasNoEffects?: boolean;
|
|
48
48
|
otelContext?: otel.Context;
|
|
49
49
|
writeTables?: ReadonlySet<string>;
|
|
@@ -52,7 +52,7 @@ export declare class SqliteDbWrapper implements SqliteDb {
|
|
|
52
52
|
durationMs: number;
|
|
53
53
|
};
|
|
54
54
|
execute: {
|
|
55
|
-
(queryStr: string, bindValues?: PreparedBindValues
|
|
55
|
+
(queryStr: string, bindValues?: PreparedBindValues, options?: {
|
|
56
56
|
onRowsChanged?: (rowsChanged: number) => void;
|
|
57
57
|
}): void;
|
|
58
58
|
(queryBuilder: import("@livestore/common").QueryBuilder.Any, options?: {
|
|
@@ -60,10 +60,10 @@ export declare class SqliteDbWrapper implements SqliteDb {
|
|
|
60
60
|
}): void;
|
|
61
61
|
};
|
|
62
62
|
select: {
|
|
63
|
-
<T>(queryStr: string, bindValues?: PreparedBindValues
|
|
63
|
+
<T>(queryStr: string, bindValues?: PreparedBindValues): ReadonlyArray<T>;
|
|
64
64
|
<T>(queryBuilder: import("@livestore/common").QueryBuilder<T, any, any>): T;
|
|
65
65
|
};
|
|
66
|
-
cachedSelect<T = any>(queryStr: string, bindValues?: PreparedBindValues
|
|
66
|
+
cachedSelect<T = any>(queryStr: string, bindValues?: PreparedBindValues, options?: {
|
|
67
67
|
queriedTables?: ReadonlySet<string>;
|
|
68
68
|
skipCache?: boolean;
|
|
69
69
|
otelContext?: otel.Context;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SqliteDbWrapper.d.ts","sourceRoot":"","sources":["../src/SqliteDbWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,SAAS,EAGd,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,QAAQ,EACb,KAAK,iBAAiB,EAEtB,KAAK,eAAe,EAGrB,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"SqliteDbWrapper.d.ts","sourceRoot":"","sources":["../src/SqliteDbWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAE/C,OAAO,EAGL,KAAK,SAAS,EAGd,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,QAAQ,EACb,KAAK,iBAAiB,EAEtB,KAAK,eAAe,EAGrB,MAAM,mBAAmB,CAAA;AAK1B,eAAO,MAAM,cAAc,QAAO,SAKhC,CAAA;AAEF;;;GAGG;AACH,qBAAa,eAAgB,YAAW,QAAQ;IAC9C,IAAI,EAAG,UAAU,CAAS;IAE1B,OAAO,CAAC,WAAW,CAA+C;IAClE,OAAO,CAAC,eAAe,CAAyC;IAChE,OAAO,CAAC,WAAW,CAAmB;IACtC,OAAO,CAAC,EAAE,CAAU;IACpB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,mBAAmB,CAAc;IACzC,OAAO,CAAC,cAAc,CAAA;IACf,SAAS,EAAE,gBAAgB,CAAmB;gBAEzC,EACV,EAAE,EACF,IAAI,GACL,EAAE;QACD,EAAE,EAAE,QAAQ,CAAA;QACZ,IAAI,EAAE;YACJ,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;YACnB,eAAe,EAAE,IAAI,CAAC,OAAO,CAAA;SAC9B,CAAA;KACF;IAaD,IAAI,KAAK,gDAER;IACD,IAAI,QAAQ,QAEX;IACD,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB;IAG5C,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAGzD,KAAK,IAAI,IAAI;IAGb,OAAO,IAAI,IAAI;IAGf,OAAO,IAAI,eAAe;IAG1B,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,iBAAiB;IAI/D,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAqBrC,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG;QACzC,MAAM,EAAE,IAAI,CAAA;QACZ,SAAS,EAAE;YAAE,IAAI,EAAE,kBAAkB,CAAC;YAAC,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;YAAC,KAAK,EAAE,GAAG,CAAA;SAAE,GAAG;YAAE,IAAI,EAAE,OAAO,CAAA;SAAE,CAAA;KACvG;IAaD,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC,WAAW,CAAC;IAK3C,aAAa,CAAC,KAAK,EAAE,MAAM;IA4B3B,aAAa,CACX,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,kBAAkB,EAC/B,OAAO,CAAC,EAAE;QACR,YAAY,CAAC,EAAE,OAAO,CAAA;QACtB,WAAW,CAAC,EAAE,IAAI,CAAC,OAAO,CAAA;QAC1B,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;QACjC,aAAa,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAA;KAC9C,GACA;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE;IAwDzB,OAAO;;yBA/L+B,CAAC;;;yBAEZ,CAAC;;MA6L4E;IAExG,MAAM;;;MAA+F;IAErG,YAAY,CAAC,CAAC,GAAG,GAAG,EAClB,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,kBAAkB,EAC/B,OAAO,CAAC,EAAE;QACR,aAAa,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;QACnC,SAAS,CAAC,EAAE,OAAO,CAAA;QACnB,WAAW,CAAC,EAAE,IAAI,CAAC,OAAO,CAAA;KAC3B,GACA,aAAa,CAAC,CAAC,CAAC;IA+DnB,MAAM;CAQP"}
|
package/dist/SqliteDbWrapper.js
CHANGED
|
@@ -66,7 +66,7 @@ export class SqliteDbWrapper {
|
|
|
66
66
|
this.execute(sql `rollback;`);
|
|
67
67
|
throw e;
|
|
68
68
|
}
|
|
69
|
-
if (
|
|
69
|
+
if (errored === false) {
|
|
70
70
|
this.execute(sql `commit;`);
|
|
71
71
|
}
|
|
72
72
|
return result;
|
|
@@ -78,7 +78,7 @@ export class SqliteDbWrapper {
|
|
|
78
78
|
session.finish();
|
|
79
79
|
return {
|
|
80
80
|
result,
|
|
81
|
-
changeset: changeset ? { _tag: 'sessionChangeset', data: changeset, debug: null } : { _tag: 'no-op' },
|
|
81
|
+
changeset: changeset !== undefined ? { _tag: 'sessionChangeset', data: changeset, debug: null } : { _tag: 'no-op' },
|
|
82
82
|
};
|
|
83
83
|
}
|
|
84
84
|
rollback(changeset) {
|
|
@@ -93,7 +93,7 @@ export class SqliteDbWrapper {
|
|
|
93
93
|
return new Set([tableNameFromPlainDeleteQuery]);
|
|
94
94
|
}
|
|
95
95
|
const cached = this.tablesUsedCache.get(query);
|
|
96
|
-
if (cached) {
|
|
96
|
+
if (cached !== undefined) {
|
|
97
97
|
return cached;
|
|
98
98
|
}
|
|
99
99
|
const stmt = this.tablesUsedStmt;
|
|
@@ -123,7 +123,7 @@ export class SqliteDbWrapper {
|
|
|
123
123
|
this.cachedStmts.set(queryStr, stmt);
|
|
124
124
|
}
|
|
125
125
|
stmt.execute(bindValues);
|
|
126
|
-
if (options?.hasNoEffects !== true &&
|
|
126
|
+
if (options?.hasNoEffects !== true && this.resultCache.ignoreQuery(queryStr) === false) {
|
|
127
127
|
// TODO use write tables instead
|
|
128
128
|
// check what queries actually end up here.
|
|
129
129
|
this.resultCache.invalidate(options?.writeTables ?? this.getTablesUsed(queryStr));
|
|
@@ -132,7 +132,7 @@ export class SqliteDbWrapper {
|
|
|
132
132
|
const durationMs = getDurationMsFromSpan(span);
|
|
133
133
|
this.debugInfo.queryFrameDuration += durationMs;
|
|
134
134
|
this.debugInfo.queryFrameCount++;
|
|
135
|
-
if (durationMs > 5 && isDevEnv()) {
|
|
135
|
+
if (durationMs > 5 && isDevEnv() === true) {
|
|
136
136
|
this.debugInfo.slowQueries.push({
|
|
137
137
|
queryStr,
|
|
138
138
|
bindValues,
|
|
@@ -147,8 +147,8 @@ export class SqliteDbWrapper {
|
|
|
147
147
|
catch (cause) {
|
|
148
148
|
span.recordException(cause);
|
|
149
149
|
span.end();
|
|
150
|
-
if (LS_DEV) {
|
|
151
|
-
//
|
|
150
|
+
if (LS_DEV === true) {
|
|
151
|
+
// oxlint-disable-next-line eslint(no-debugger) -- intentional breakpoint for SQL errors during development
|
|
152
152
|
debugger;
|
|
153
153
|
}
|
|
154
154
|
throw new SqliteError({ cause, query: { bindValues: bindValues ?? {}, sql: queryStr } });
|
|
@@ -186,7 +186,7 @@ export class SqliteDbWrapper {
|
|
|
186
186
|
this.debugInfo.queryFrameDuration += durationMs;
|
|
187
187
|
this.debugInfo.queryFrameCount++;
|
|
188
188
|
// TODO also enable in non-dev mode
|
|
189
|
-
if (durationMs > 5 && isDevEnv()) {
|
|
189
|
+
if (durationMs > 5 && isDevEnv() === true) {
|
|
190
190
|
this.debugInfo.slowQueries.push({
|
|
191
191
|
queryStr,
|
|
192
192
|
bindValues,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SqliteDbWrapper.js","sourceRoot":"","sources":["../src/SqliteDbWrapper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SqliteDbWrapper.js","sourceRoot":"","sources":["../src/SqliteDbWrapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Effect } from '@livestore/utils/effect';
|
|
2
|
-
import { Vitest } from '@livestore/utils-dev/node-vitest';
|
|
3
1
|
import { expect } from 'vitest';
|
|
2
|
+
import { Vitest } from '@livestore/utils-dev/node-vitest';
|
|
3
|
+
import { Effect } from '@livestore/utils/effect';
|
|
4
4
|
import { StoreInternalsSymbol } from "./store/store-types.js";
|
|
5
5
|
import { makeTodoMvc } from "./utils/tests/fixture.js";
|
|
6
6
|
Vitest.describe('SqliteDbWrapper', () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SqliteDbWrapper.test.js","sourceRoot":"","sources":["../src/SqliteDbWrapper.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"SqliteDbWrapper.test.js","sourceRoot":"","sources":["../src/SqliteDbWrapper.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAA;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAEtD,MAAM,CAAC,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IACtC,MAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QACpC,MAAM,aAAa,GAAG,CAAC,KAAa,EAAE,EAAE,CACtC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;YACpC,OAAO,KAAK,CAAC,oBAAoB,CAAC,CAAC,eAAe,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QACzE,CAAC,CAAC,CAAA;QAEJ,MAAM,CAAC,UAAU,CAAC,uCAAuC,EAAE,CAAC,KAAK,EAAE,EAAE,CACnE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAA;YAC9D,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QAChD,CAAC,CAAC,CACH,CAAA;QAED,MAAM,CAAC,UAAU,CAAC,0DAA0D,EAAE,CAAC,KAAK,EAAE,EAAE,CACtF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAA;YAC5D,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QAChD,CAAC,CAAC,CACH,CAAA;QAED,MAAM,CAAC,UAAU,CAAC,8CAA8C,EAAE,CAAC,KAAK,EAAE,EAAE,CAC1E,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,aAAa,CACrC,iGAAiG,CAClG,CAAA;YACD,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QAChD,CAAC,CAAC,CACH,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -48,11 +48,18 @@ export type StoreLayerProps<TSchema extends LiveStoreSchema, TContext = {}> = Om
|
|
|
48
48
|
*
|
|
49
49
|
* Note: This uses a type alias with a new() signature to make it extendable.
|
|
50
50
|
*/
|
|
51
|
-
|
|
51
|
+
/**
|
|
52
|
+
* Type for a Store.Tag class. Uses self-referential identifier so that `yield*`
|
|
53
|
+
* and method R channels resolve to the same type, enabling proper layer composition.
|
|
54
|
+
*
|
|
55
|
+
* Uses `interface` (not `type`) to allow the self-referential identifier without
|
|
56
|
+
* triggering TS2456 (circular type alias).
|
|
57
|
+
*/
|
|
58
|
+
export interface StoreTagClass<TSchema extends LiveStoreSchema, TStoreId extends string> extends Context.Tag<StoreTagClass<TSchema, TStoreId>, LiveStoreContextRunningType<TSchema>> {
|
|
52
59
|
/** Constructor signature (makes the type extendable as a class) */
|
|
53
|
-
new (): Context.Tag<
|
|
60
|
+
new (): Context.Tag<StoreTagClass<TSchema, TStoreId>, LiveStoreContextRunningType<TSchema>>;
|
|
54
61
|
/** Tag identity type (from Context.Tag) */
|
|
55
|
-
readonly Id:
|
|
62
|
+
readonly Id: StoreTagClass<TSchema, TStoreId>;
|
|
56
63
|
/** Service type (from Context.Tag) */
|
|
57
64
|
readonly Type: LiveStoreContextRunningType<TSchema>;
|
|
58
65
|
/** The LiveStore schema for this store */
|
|
@@ -60,11 +67,11 @@ export type StoreTagClass<TSchema extends LiveStoreSchema, TStoreId extends stri
|
|
|
60
67
|
/** Unique identifier for this store */
|
|
61
68
|
readonly storeId: TStoreId;
|
|
62
69
|
/** Creates a layer that initializes the store */
|
|
63
|
-
layer<TContext
|
|
70
|
+
layer<TContext>(props: StoreLayerProps<TSchema, TContext>): Layer.Layer<StoreTagClass<TSchema, TStoreId>, UnknownError | Cause.TimeoutException, OtelTracer.OtelTracer>;
|
|
64
71
|
/** Deferred store tag for async initialization patterns */
|
|
65
72
|
readonly Deferred: Context.Tag<DeferredContextId<TStoreId>, Deferred.Deferred<LiveStoreContextRunningType<TSchema>, UnknownError>>;
|
|
66
73
|
/** Layer that provides the Deferred tag */
|
|
67
|
-
readonly DeferredLayer: Layer.Layer<DeferredContextId<TStoreId
|
|
74
|
+
readonly DeferredLayer: Layer.Layer<DeferredContextId<TStoreId>>;
|
|
68
75
|
/** Layer that waits for Deferred and provides the running store */
|
|
69
76
|
readonly fromDeferred: Layer.Layer<StoreTagClass<TSchema, TStoreId>, UnknownError, DeferredContextId<TStoreId>>;
|
|
70
77
|
/** Query the store. Returns an Effect that yields the query result. */
|
|
@@ -73,7 +80,7 @@ export type StoreTagClass<TSchema extends LiveStoreSchema, TStoreId extends stri
|
|
|
73
80
|
commit(...eventInputs: LiveStoreEvent.Input.ForSchema<TSchema>[]): Effect.Effect<void, never, StoreTagClass<TSchema, TStoreId>>;
|
|
74
81
|
/** Use the store with a callback function. */
|
|
75
82
|
use<A, E, R>(f: (ctx: LiveStoreContextRunningType<TSchema>) => Effect.Effect<A, E, R>): Effect.Effect<A, E, R | StoreTagClass<TSchema, TStoreId>>;
|
|
76
|
-
}
|
|
83
|
+
}
|
|
77
84
|
/**
|
|
78
85
|
* Store utilities for Effect integration.
|
|
79
86
|
*
|
|
@@ -111,7 +118,7 @@ export interface StoreContext<TSchema extends LiveStoreSchema, TStoreId extends
|
|
|
111
118
|
readonly Tag: Context.Tag<StoreContextId<TSchema, TStoreId>, LiveStoreContextRunningType<TSchema>>;
|
|
112
119
|
readonly DeferredTag: Context.Tag<DeferredContextId<TStoreId>, Deferred.Deferred<LiveStoreContextRunningType<TSchema>, UnknownError>>;
|
|
113
120
|
readonly Layer: <TContext = {}>(props: Omit<LiveStoreContextProps<TSchema, TContext>, 'storeId'>) => Layer.Layer<StoreContextId<TSchema, TStoreId>, UnknownError | Cause.TimeoutException, OtelTracer.OtelTracer>;
|
|
114
|
-
readonly DeferredLayer: Layer.Layer<DeferredContextId<TStoreId
|
|
121
|
+
readonly DeferredLayer: Layer.Layer<DeferredContextId<TStoreId>>;
|
|
115
122
|
readonly fromDeferred: Layer.Layer<StoreContextId<TSchema, TStoreId>, UnknownError, DeferredContextId<TStoreId>>;
|
|
116
123
|
}
|
|
117
124
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LiveStore.d.ts","sourceRoot":"","sources":["../../src/effect/LiveStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAE/E,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AACvE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAY,MAAM,EAAE,KAAK,EAAQ,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"LiveStore.d.ts","sourceRoot":"","sources":["../../src/effect/LiveStore.ts"],"names":[],"mappings":"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"}
|
package/dist/effect/LiveStore.js
CHANGED
|
@@ -9,11 +9,6 @@ export const makeLiveStoreContext = ({ schema, storeId = 'default', context, boo
|
|
|
9
9
|
batchUpdates,
|
|
10
10
|
...omitUndefineds({ context, boot, disableDevtools, onBootStatus, syncPayload, syncPayloadSchema }),
|
|
11
11
|
});
|
|
12
|
-
globalThis.__debugLiveStore ??= {};
|
|
13
|
-
if (Object.keys(globalThis.__debugLiveStore).length === 0) {
|
|
14
|
-
globalThis.__debugLiveStore._ = store;
|
|
15
|
-
}
|
|
16
|
-
globalThis.__debugLiveStore[storeId] = store;
|
|
17
12
|
return { stage: 'running', store };
|
|
18
13
|
}), Effect.tapErrorCause((cause) => Effect.flatMap(DeferredStoreContext, (def) => Deferred.failCause(def, cause))), Effect.tap((storeCtx) => Effect.flatMap(DeferredStoreContext, (def) => Deferred.succeed(def, storeCtx))),
|
|
19
14
|
// This can take quite a while.
|
|
@@ -111,11 +106,6 @@ const makeStoreTag = (schema, storeId) => {
|
|
|
111
106
|
syncPayloadSchema: props.syncPayloadSchema,
|
|
112
107
|
}),
|
|
113
108
|
});
|
|
114
|
-
globalThis.__debugLiveStore ??= {};
|
|
115
|
-
if (Object.keys(globalThis.__debugLiveStore).length === 0) {
|
|
116
|
-
globalThis.__debugLiveStore._ = store;
|
|
117
|
-
}
|
|
118
|
-
globalThis.__debugLiveStore[storeId] = store;
|
|
119
109
|
const ctx = { stage: 'running', store: store };
|
|
120
110
|
// Also fulfill the deferred if it exists in context
|
|
121
111
|
yield* Effect.flatMap(Effect.serviceOption(_DeferredTag), (optDeferred) => optDeferred._tag === 'Some' ? Deferred.succeed(optDeferred.value, ctx) : Effect.void);
|
|
@@ -191,11 +181,6 @@ export const makeStoreContext = () => (storeId) => {
|
|
|
191
181
|
syncPayloadSchema: props.syncPayloadSchema,
|
|
192
182
|
}),
|
|
193
183
|
});
|
|
194
|
-
globalThis.__debugLiveStore ??= {};
|
|
195
|
-
if (Object.keys(globalThis.__debugLiveStore).length === 0) {
|
|
196
|
-
globalThis.__debugLiveStore._ = store;
|
|
197
|
-
}
|
|
198
|
-
globalThis.__debugLiveStore[storeId] = store;
|
|
199
184
|
const ctx = { stage: 'running', store: store };
|
|
200
185
|
// Also fulfill the deferred if it exists in context
|
|
201
186
|
yield* Effect.flatMap(Effect.serviceOption(DeferredTag), (optDeferred) => optDeferred._tag === 'Some' ? Deferred.succeed(optDeferred.value, ctx) : Effect.void);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LiveStore.js","sourceRoot":"","sources":["../../src/effect/LiveStore.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"LiveStore.js","sourceRoot":"","sources":["../../src/effect/LiveStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LiveStore.test.d.ts","sourceRoot":"","sources":["../../src/effect/LiveStore.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { describe, it } from 'vitest';
|
|
2
|
+
import { Effect, Layer } from '@livestore/utils/effect';
|
|
3
|
+
import { schema } from "../utils/tests/fixture.js";
|
|
4
|
+
import { Store } from "./LiveStore.js";
|
|
5
|
+
/**
|
|
6
|
+
* Regression test for https://github.com/livestorejs/livestore/issues/1103
|
|
7
|
+
*
|
|
8
|
+
* `yield* MyStore` and `MyStore.query(...)` must produce the same R channel type
|
|
9
|
+
* so that a single layer provision satisfies both.
|
|
10
|
+
*/
|
|
11
|
+
describe('Store.Tag R channel consistency', () => {
|
|
12
|
+
class MainStore extends Store.Tag(schema, 'main') {
|
|
13
|
+
}
|
|
14
|
+
const storeLayer = MainStore.layer({ adapter: {}, batchUpdates: (_) => { } });
|
|
15
|
+
it('yield* and method R channels unify so layer provision eliminates all requirements', () => {
|
|
16
|
+
const prog = Effect.gen(function* () {
|
|
17
|
+
const { store } = yield* MainStore;
|
|
18
|
+
void store;
|
|
19
|
+
const _queryResult = yield* MainStore.query({ get: () => 42 });
|
|
20
|
+
void _queryResult;
|
|
21
|
+
yield* MainStore.commit();
|
|
22
|
+
});
|
|
23
|
+
/** Providing the store layer must fully eliminate MainStore from R */
|
|
24
|
+
const _provided = prog.pipe(Effect.provide(storeLayer));
|
|
25
|
+
void _provided;
|
|
26
|
+
});
|
|
27
|
+
it('use() helper R channel is satisfied by the same layer', () => {
|
|
28
|
+
const prog = MainStore.use(({ store }) => Effect.succeed(store));
|
|
29
|
+
const _provided = prog.pipe(Effect.provide(storeLayer));
|
|
30
|
+
void _provided;
|
|
31
|
+
});
|
|
32
|
+
it('fromDeferred layer output satisfies the same R channel', () => {
|
|
33
|
+
const prog = Effect.gen(function* () {
|
|
34
|
+
yield* MainStore;
|
|
35
|
+
});
|
|
36
|
+
/** fromDeferred + DeferredLayer should satisfy MainStore in R */
|
|
37
|
+
const _provided = prog.pipe(Effect.provide(Layer.merge(MainStore.fromDeferred, MainStore.DeferredLayer)));
|
|
38
|
+
const _check = true;
|
|
39
|
+
void _check;
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
//# sourceMappingURL=LiveStore.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LiveStore.test.js","sourceRoot":"","sources":["../../src/effect/LiveStore.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAEvD,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAClD,OAAO,EAAE,KAAK,EAAsB,MAAM,gBAAgB,CAAA;AAE1D;;;;;GAKG;AACH,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;IAC/C,MAAM,SAAU,SAAQ,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;KAAG;IAEpD,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,EAAS,EAAE,YAAY,EAAE,CAAC,CAAa,EAAE,EAAE,GAAE,CAAC,EAAE,CAAC,CAAA;IAE/F,EAAE,CAAC,mFAAmF,EAAE,GAAG,EAAE;QAC3F,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAC/B,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC,SAAS,CAAA;YAClC,KAAK,KAAK,CAAA;YAEV,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,EAAS,CAAC,CAAA;YACrE,KAAK,YAAY,CAAA;YAEjB,KAAK,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAA;QAC3B,CAAC,CAAC,CAAA;QAEF,sEAAsE;QACtE,MAAM,SAAS,GAAwD,IAAI,CAAC,IAAI,CAC9E,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAC3B,CAAA;QACD,KAAK,SAAS,CAAA;IAChB,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAA;QAEhE,MAAM,SAAS,GAA2D,IAAI,CAAC,IAAI,CACjF,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAC3B,CAAA;QACD,KAAK,SAAS,CAAA;IAChB,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAC/B,KAAK,CAAC,CAAC,SAAS,CAAA;QAClB,CAAC,CAAC,CAAA;QAEF,iEAAiE;QACjE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CACzB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,YAAY,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC,CAC7E,CAAA;QAKD,MAAM,MAAM,GAAqB,IAAI,CAAA;QACrC,KAAK,MAAM,CAAA;IACb,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { Equal, Hash } from '@livestore/utils/effect';
|
|
2
1
|
import type * as otel from '@opentelemetry/api';
|
|
2
|
+
import { Equal, Hash } from '@livestore/utils/effect';
|
|
3
3
|
import * as RG from '../reactive.ts';
|
|
4
|
-
import type { Store } from '../store/store.ts';
|
|
5
4
|
import type { QueryDebugInfo, RefreshReason } from '../store/store-types.ts';
|
|
5
|
+
import type { Store } from '../store/store.ts';
|
|
6
6
|
import type { StackInfo } from '../utils/stack-info.ts';
|
|
7
7
|
export type ReactivityGraph = RG.ReactiveGraph<RefreshReason, QueryDebugInfo, ReactivityGraphContext>;
|
|
8
8
|
export declare const makeReactivityGraph: () => ReactivityGraph;
|
|
@@ -205,7 +205,7 @@ export declare abstract class LiveStoreQueryBase<TResult> implements LiveQuery<T
|
|
|
205
205
|
* })
|
|
206
206
|
* ```
|
|
207
207
|
*/
|
|
208
|
-
export type GetAtomResult = <T>(atom: RG.Atom<T, any, RefreshReason> | LiveQueryDef<T> | LiveQuery<T> | ISignal<T> | SignalDef<T>, otelContext?: otel.Context
|
|
208
|
+
export type GetAtomResult = <T>(atom: RG.Atom<T, any, RefreshReason> | LiveQueryDef<T> | LiveQuery<T> | ISignal<T> | SignalDef<T>, otelContext?: otel.Context, debugRefreshReason?: RefreshReason) => T;
|
|
209
209
|
export type DependencyQueriesRef = Set<RcRef<LiveQuery.Any | ISignal<any>>>;
|
|
210
210
|
export declare const makeGetAtomResult: (get: RG.GetAtom, ctx: ReactivityGraphContext, otelContext: otel.Context, dependencyQueriesRef: DependencyQueriesRef) => GetAtomResult;
|
|
211
211
|
export declare const withRCMap: <T extends LiveQuery.Any | ISignal<any>>(id: string, make: (ctx: ReactivityGraphContext, otelContext?: otel.Context) => T) => ((ctx: ReactivityGraphContext, otelContext?: otel.Context) => RcRef<T>);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-class.d.ts","sourceRoot":"","sources":["../../src/live-queries/base-class.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"base-class.d.ts","sourceRoot":"","sources":["../../src/live-queries/base-class.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,7 +43,7 @@ export const makeGetAtomResult = (get, ctx, otelContext, dependencyQueriesRef) =
|
|
|
43
43
|
return getAtom(query.value, _otelContext, debugRefreshReason);
|
|
44
44
|
}
|
|
45
45
|
// Signal case
|
|
46
|
-
if (atom._tag === 'signal' && Predicate.hasProperty(atom, 'ref')) {
|
|
46
|
+
if (atom._tag === 'signal' && Predicate.hasProperty(atom, 'ref') === true) {
|
|
47
47
|
return get(atom.ref, otelContext, debugRefreshReason);
|
|
48
48
|
}
|
|
49
49
|
// LiveQuery case
|
|
@@ -54,7 +54,7 @@ export const makeGetAtomResult = (get, ctx, otelContext, dependencyQueriesRef) =
|
|
|
54
54
|
export const withRCMap = (id, make) => {
|
|
55
55
|
return (ctx, otelContext) => {
|
|
56
56
|
let item = ctx.defRcMap.get(id);
|
|
57
|
-
if (item) {
|
|
57
|
+
if (item !== undefined) {
|
|
58
58
|
item.rc++;
|
|
59
59
|
return item;
|
|
60
60
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-class.js","sourceRoot":"","sources":["../../src/live-queries/base-class.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"base-class.js","sourceRoot":"","sources":["../../src/live-queries/base-class.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import type * as otel from '@opentelemetry/api';
|
|
1
2
|
import { SessionIdSymbol } from '@livestore/common';
|
|
2
3
|
import { State } from '@livestore/common/schema';
|
|
3
|
-
import type * as otel from '@opentelemetry/api';
|
|
4
4
|
import type { ReactivityGraphContext } from './base-class.ts';
|
|
5
5
|
export declare const rowQueryLabel: (table: State.SQLite.ClientDocumentTableDef.Any, id: string | SessionIdSymbol | undefined) => string;
|
|
6
6
|
export declare const makeExecBeforeFirstRun: ({ id, explicitDefaultValues, table, otelContext: otelContext_, }: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-document-get-query.d.ts","sourceRoot":"","sources":["../../src/live-queries/client-document-get-query.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client-document-get-query.d.ts","sourceRoot":"","sources":["../../src/live-queries/client-document-get-query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAG/C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAIhD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AAE7D,eAAO,MAAM,aAAa,GACxB,OAAO,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,GAAG,EAC9C,IAAI,MAAM,GAAG,eAAe,GAAG,SAAS,WAC2E,CAAA;AAErH,eAAO,MAAM,sBAAsB,GAChC,kEAKE;IACD,EAAE,CAAC,EAAE,MAAM,GAAG,eAAe,CAAA;IAC7B,qBAAqB,CAAC,EAAE,GAAG,CAAA;IAC3B,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,YAAY,CAAA;IAChC,WAAW,EAAE,IAAI,CAAC,OAAO,GAAG,SAAS,CAAA;CACtC,MACA,WAAW,sBAAsB,cA0BjC,CAAA"}
|
|
@@ -10,7 +10,7 @@ export const makeExecBeforeFirstRun = ({ id, explicitDefaultValues, table, otelC
|
|
|
10
10
|
const otelContext = otelContext_ ?? store[StoreInternalsSymbol].otel.queriesSpanContext;
|
|
11
11
|
const idVal = id === SessionIdSymbol ? store.sessionId : id;
|
|
12
12
|
const rowExists = store[StoreInternalsSymbol].sqliteDbWrapper.cachedSelect(`SELECT 1 FROM '${table.sqliteDef.name}' WHERE id = ?`, [idVal], { otelContext }).length === 1;
|
|
13
|
-
if (rowExists)
|
|
13
|
+
if (rowExists === true)
|
|
14
14
|
return;
|
|
15
15
|
// It's important that we only commit and don't refresh here, as this function might be called during a render
|
|
16
16
|
// and otherwise we might end up in a "reactive loop"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-document-get-query.js","sourceRoot":"","sources":["../../src/live-queries/client-document-get-query.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client-document-get-query.js","sourceRoot":"","sources":["../../src/live-queries/client-document-get-query.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAEpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAG9D,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,KAA8C,EAC9C,EAAwC,EACxC,EAAE,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,QAAQ,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;AAErH,MAAM,CAAC,MAAM,sBAAsB,GACjC,CAAC,EACC,EAAE,EACF,qBAAqB,EACrB,KAAK,EACL,WAAW,EAAE,YAAY,GAM1B,EAAE,EAAE,CACL,CAAC,EAAE,KAAK,EAA0B,EAAE,EAAE;IACpC,IAAI,KAAK,CAAC,MAAM,CAAC,0BAA0B,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE,CAAC;QAC7D,OAAO,iBAAiB,CACtB,gCAAgC,KAAK,CAAC,SAAS,CAAC,IAAI,gDAAgD,CACrG,CAAA;IACH,CAAC;IAED,MAAM,WAAW,GAAG,YAAY,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAA;IAEvF,MAAM,KAAK,GAAG,EAAE,KAAK,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAG,CAAA;IAC5D,MAAM,SAAS,GACb,KAAK,CAAC,oBAAoB,CAAC,CAAC,eAAe,CAAC,YAAY,CACtD,kBAAkB,KAAK,CAAC,SAAS,CAAC,IAAI,gBAAgB,EACtD,CAAC,KAAK,CAA8B,EACpC,EAAE,WAAW,EAAE,CAChB,CAAC,MAAM,KAAK,CAAC,CAAA;IAEhB,IAAI,SAAS,KAAK,IAAI;QAAE,OAAM;IAE9B,8GAA8G;IAC9G,qDAAqD;IAErD,KAAK,CAAC,MAAM,CACV,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,QAAQ,KAAK,EAAE,EAAE,EACjF,KAAK,CAAC,GAAG,CAAC,qBAAqB,EAAE,KAAa,CAAC,CAChD,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"computed.d.ts","sourceRoot":"","sources":["../../src/live-queries/computed.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"computed.d.ts","sourceRoot":"","sources":["../../src/live-queries/computed.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAE5D,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AACnH,OAAO,EAAgB,kBAAkB,EAAgC,MAAM,iBAAiB,CAAA;AAEhG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,eAAO,MAAM,QAAQ,GAAI,OAAO,EAC9B,IAAI,CAAC,GAAG,EAAE,aAAa,KAAK,OAAO,EACnC,UAAU;IACR,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,KACA,YAAY,CAAC,OAAO,CA+BtB,CAAA;AAED;;;;;;GAMG;AACH,qBAAa,sBAAsB,CAAC,OAAO,CAAE,SAAQ,kBAAkB,CAAC,OAAO,CAAC;IAC9E,IAAI,EAAG,UAAU,CAAS;IAE1B,sDAAsD;IACtD,QAAQ,EAAE,KAAK,CAAC,OAAO,EAAE,sBAAsB,EAAE,aAAa,CAAC,CAAA;IAE/D,KAAK,EAAE,MAAM,CAAA;IAEb,eAAe,EAAE,eAAe,CAAA;IAChC,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC,CAAA;gBAEd,EACV,EAAE,EACF,KAAK,EACL,eAAe,EACf,GAAG,GACJ,EAAE;QACD,KAAK,EAAE,MAAM,CAAA;QACb,EAAE,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,OAAO,CAAA;QACnC,eAAe,EAAE,eAAe,CAAA;QAChC,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC,CAAA;KAC3B;IA6BD,OAAO,aAQN;CACF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import * as otel from '@opentelemetry/api';
|
|
1
2
|
import { getDurationMsFromSpan } from '@livestore/common';
|
|
2
3
|
import { Equal, Hash } from '@livestore/utils/effect';
|
|
3
|
-
import * as otel from '@opentelemetry/api';
|
|
4
4
|
import { isValidFunctionString } from "../utils/function-string.js";
|
|
5
5
|
import { depsToString, LiveStoreQueryBase, makeGetAtomResult, withRCMap } from "./base-class.js";
|
|
6
6
|
/**
|
|
@@ -53,7 +53,7 @@ import { depsToString, LiveStoreQueryBase, makeGetAtomResult, withRCMap } from "
|
|
|
53
53
|
* @returns A query definition usable with `store.query()`, `store.subscribe()`, and as a dependency in other queries
|
|
54
54
|
*/
|
|
55
55
|
export const computed = (fn, options) => {
|
|
56
|
-
const hash = options?.deps ? depsToString(options.deps) : fn.toString();
|
|
56
|
+
const hash = options?.deps !== undefined ? depsToString(options.deps) : fn.toString();
|
|
57
57
|
if (isValidFunctionString(hash)._tag === 'invalid') {
|
|
58
58
|
throw new Error(`On Expo/React Native, computed queries must provide a \`deps\` option`);
|
|
59
59
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"computed.js","sourceRoot":"","sources":["../../src/live-queries/computed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AACzD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"computed.js","sourceRoot":"","sources":["../../src/live-queries/computed.ts"],"names":[],"mappings":"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"}
|