@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
|
@@ -1,11 +1,11 @@
|
|
|
1
|
+
import * as otel from '@opentelemetry/api';
|
|
1
2
|
import { LogConfig, provideOtel, UnknownError, } from '@livestore/common';
|
|
2
3
|
import { isDevEnv, LS_DEV, omitUndefineds } from '@livestore/utils';
|
|
3
4
|
import { Context, Deferred, Effect, Exit, Fiber, identity, Layer, OtelTracer, Queue, Runtime, Schema, Scope, TaskTracing, } from '@livestore/utils/effect';
|
|
4
5
|
import { nanoid } from '@livestore/utils/nanoid';
|
|
5
|
-
import * as otel from '@opentelemetry/api';
|
|
6
6
|
import { connectDevtoolsToStore } from "./devtools.js";
|
|
7
|
-
import { STORE_DEFAULT_PARAMS, Store } from "./store.js";
|
|
8
7
|
import { StoreInternalsSymbol } from "./store-types.js";
|
|
8
|
+
import { STORE_DEFAULT_PARAMS, Store } from "./store.js";
|
|
9
9
|
/**
|
|
10
10
|
* @deprecated Use `makeStoreContext()` from `@livestore/livestore/effect` instead.
|
|
11
11
|
* This service doesn't preserve schema types. See the Effect integration docs for migration.
|
|
@@ -67,7 +67,7 @@ export const createStore = ({ schema, adapter, storeId, context = {}, boot, batc
|
|
|
67
67
|
const runtime = yield* Effect.runtime();
|
|
68
68
|
const shutdown = (exit) => Effect.gen(function* () {
|
|
69
69
|
yield* Scope.close(lifetimeScope, exit).pipe(Effect.logWarnIfTakesLongerThan({ label: '@livestore/livestore:shutdown', duration: 500 }), Effect.timeout(1000), Effect.catchTag('TimeoutException', () => Effect.logError('@livestore/livestore:shutdown: Timed out after 1 second')));
|
|
70
|
-
if (shutdownDeferred) {
|
|
70
|
+
if (shutdownDeferred !== undefined) {
|
|
71
71
|
yield* Deferred.done(shutdownDeferred, exit);
|
|
72
72
|
}
|
|
73
73
|
yield* Effect.logDebug('LiveStore shutdown complete');
|
|
@@ -89,7 +89,7 @@ export const createStore = ({ schema, adapter, storeId, context = {}, boot, batc
|
|
|
89
89
|
syncPayloadSchema: resolvedSyncPayloadSchema,
|
|
90
90
|
syncPayloadEncoded,
|
|
91
91
|
}).pipe(Effect.withPerformanceMeasure('livestore:makeAdapter'), Effect.withSpan('createStore:makeAdapter'));
|
|
92
|
-
if (LS_DEV && clientSession.leaderThread.initialState.migrationsReport.migrations.length > 0) {
|
|
92
|
+
if (LS_DEV === true && clientSession.leaderThread.initialState.migrationsReport.migrations.length > 0) {
|
|
93
93
|
yield* Effect.logDebug('[@livestore/livestore:createStore] migrationsReport', ...clientSession.leaderThread.initialState.migrationsReport.migrations.map((m) => m.hashes.actual === undefined
|
|
94
94
|
? `Table '${m.tableName}' doesn't exist yet. Creating table...`
|
|
95
95
|
: `Schema hash mismatch for table '${m.tableName}' (DB: ${m.hashes.actual}, expected: ${m.hashes.expected}), migrating table...`));
|
|
@@ -102,7 +102,7 @@ export const createStore = ({ schema, adapter, storeId, context = {}, boot, batc
|
|
|
102
102
|
effectContext: { lifetimeScope, runtime },
|
|
103
103
|
// TODO find a better way to detect if we're running LiveStore in the LiveStore devtools
|
|
104
104
|
// But for now this is a good enough approximation with little downsides
|
|
105
|
-
__runningInDevtools: getDevtoolsEnabled(disableDevtools)
|
|
105
|
+
__runningInDevtools: !getDevtoolsEnabled(disableDevtools),
|
|
106
106
|
confirmUnsavedChanges,
|
|
107
107
|
// NOTE during boot we're not yet executing events in a batched context
|
|
108
108
|
// but only set the provided `batchUpdates` function after boot
|
|
@@ -127,12 +127,18 @@ export const createStore = ({ schema, adapter, storeId, context = {}, boot, batc
|
|
|
127
127
|
store[StoreInternalsSymbol].reactivityGraph.context.effectsWrapper = batchUpdates;
|
|
128
128
|
}
|
|
129
129
|
yield* Deferred.succeed(storeDeferred, store);
|
|
130
|
+
// Expose store on globalThis for console debugging
|
|
131
|
+
globalThis.__debugLiveStore ??= {};
|
|
132
|
+
globalThis.__debugLiveStore[storeId] = store;
|
|
133
|
+
yield* Effect.addFinalizer(() => Effect.sync(() => {
|
|
134
|
+
delete globalThis.__debugLiveStore?.[storeId];
|
|
135
|
+
}));
|
|
130
136
|
return store;
|
|
131
|
-
}).pipe(Effect.withSpan('createStore', { attributes: { debugInstanceId, storeId } }), Effect.annotateLogs({ debugInstanceId, storeId }), LS_DEV ? TaskTracing.withAsyncTaggingTracing((name) => console.createTask(name)) : identity, Scope.extend(lifetimeScope));
|
|
137
|
+
}).pipe(Effect.withSpan('createStore', { attributes: { debugInstanceId, storeId } }), Effect.annotateLogs({ debugInstanceId, storeId }), LS_DEV === true ? TaskTracing.withAsyncTaggingTracing((name) => console.createTask(name)) : identity, Scope.extend(lifetimeScope));
|
|
132
138
|
});
|
|
133
139
|
const validateStoreId = (storeId) => Effect.gen(function* () {
|
|
134
140
|
const validChars = /^[a-zA-Z0-9_-]+$/;
|
|
135
|
-
if (
|
|
141
|
+
if (validChars.test(storeId) === false) {
|
|
136
142
|
return yield* UnknownError.make({
|
|
137
143
|
cause: `Invalid storeId: ${storeId}. Only alphanumeric characters, underscores, and hyphens are allowed.`,
|
|
138
144
|
payload: { storeId },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-store.js","sourceRoot":"","sources":["../../src/store/create-store.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"create-store.js","sourceRoot":"","sources":["../../src/store/create-store.ts"],"names":[],"mappings":"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"}
|
package/dist/store/devtools.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { Devtools, UnknownError } from '@livestore/common';
|
|
|
2
2
|
import type { WebChannel } from '@livestore/utils/effect';
|
|
3
3
|
import { Effect } from '@livestore/utils/effect';
|
|
4
4
|
import type { Store } from './store.ts';
|
|
5
|
-
export declare const connectDevtoolsToStore: (
|
|
5
|
+
export declare const connectDevtoolsToStore: (args_0: {
|
|
6
6
|
storeDevtoolsChannel: WebChannel.WebChannel<Devtools.ClientSession.MessageToApp, Devtools.ClientSession.MessageFromApp>;
|
|
7
7
|
store: Store;
|
|
8
8
|
}) => Effect.Effect<void, UnknownError, import("effect/Scope").Scope>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"devtools.d.ts","sourceRoot":"","sources":["../../src/store/devtools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAoB,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAE5E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,MAAM,EAAU,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"devtools.d.ts","sourceRoot":"","sources":["../../src/store/devtools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAoB,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAE5E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,MAAM,EAAU,MAAM,yBAAyB,CAAA;AAMxD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAevC,eAAO,MAAM,sBAAsB;0BAIX,UAAU,CAAC,UAAU,CACzC,QAAQ,CAAC,aAAa,CAAC,YAAY,EACnC,QAAQ,CAAC,aAAa,CAAC,cAAc,CACtC;WACM,KAAK;qEA2ToB,CAAA"}
|
package/dist/store/devtools.js
CHANGED
|
@@ -10,7 +10,7 @@ const requestNextTick = globalThis.requestAnimationFrame === undefined
|
|
|
10
10
|
? (cb) => setTimeout(cb, 1000)
|
|
11
11
|
: globalThis.requestAnimationFrame;
|
|
12
12
|
const cancelTick = globalThis.cancelAnimationFrame === undefined ? (id) => clearTimeout(id) : globalThis.cancelAnimationFrame;
|
|
13
|
-
export const connectDevtoolsToStore = ({ storeDevtoolsChannel, store, })
|
|
13
|
+
export const connectDevtoolsToStore = Effect.fn('LSD.devtools.connectStoreToDevtools')(function* ({ storeDevtoolsChannel, store, }) {
|
|
14
14
|
const reactivityGraphSubcriptions = new Map();
|
|
15
15
|
const liveQueriesSubscriptions = new Map();
|
|
16
16
|
const debugInfoHistorySubscriptions = new Map();
|
|
@@ -60,7 +60,7 @@ export const connectDevtoolsToStore = ({ storeDevtoolsChannel, store, }) => Effe
|
|
|
60
60
|
// So far I could only observe this problem with webmesh proxy channels (e.g. for Expo)
|
|
61
61
|
// Proof: https://share.cleanshot.com/V9G87B0B
|
|
62
62
|
// Also see `leader-worker-devtools.ts` for same problem
|
|
63
|
-
if (handledRequestIds.has(requestId)) {
|
|
63
|
+
if (handledRequestIds.has(requestId) === true) {
|
|
64
64
|
return;
|
|
65
65
|
}
|
|
66
66
|
handledRequestIds.add(requestId);
|
|
@@ -249,5 +249,5 @@ export const connectDevtoolsToStore = ({ storeDevtoolsChannel, store, }) => Effe
|
|
|
249
249
|
yield* storeDevtoolsChannel.listen.pipe(
|
|
250
250
|
// Stream.tapLogWithLabel('@livestore/livestore:store:devtools:onMessage'),
|
|
251
251
|
Stream.flatten(), Stream.tapSync((message) => onMessage(message)), Stream.runDrain, Effect.withSpan('LSD.devtools.onMessage'));
|
|
252
|
-
}
|
|
252
|
+
}, UnknownError.mapToUnknownError);
|
|
253
253
|
//# sourceMappingURL=devtools.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"devtools.js","sourceRoot":"","sources":["../../src/store/devtools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAE3C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,EAAE,cAAc,IAAI,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"devtools.js","sourceRoot":"","sources":["../../src/store/devtools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
+
import { expect } from 'vitest';
|
|
1
2
|
import { makeInMemoryAdapter } from '@livestore/adapter-web';
|
|
2
3
|
import { makeMockSyncBackend } from '@livestore/common';
|
|
3
4
|
import { EventFactory } from '@livestore/common/testing';
|
|
4
5
|
import { createStore, makeShutdownDeferred } from '@livestore/livestore';
|
|
5
6
|
import { omitUndefineds } from '@livestore/utils';
|
|
7
|
+
import { Vitest } from '@livestore/utils-dev/node-vitest';
|
|
6
8
|
import { Context, Effect, FetchHttpClient, Layer, Logger, LogLevel, Queue, Stream } from '@livestore/utils/effect';
|
|
7
9
|
import { nanoid } from '@livestore/utils/nanoid';
|
|
8
10
|
import { PlatformNode } from '@livestore/utils/node';
|
|
9
|
-
import { Vitest } from '@livestore/utils-dev/node-vitest';
|
|
10
|
-
import { expect } from 'vitest';
|
|
11
11
|
import { events, schema } from "../utils/tests/fixture.js";
|
|
12
12
|
const withTestCtx = Vitest.makeWithTestCtx({
|
|
13
13
|
makeLayer: () => Layer.mergeAll(TestContextLive, PlatformNode.NodeFileSystem.layer, FetchHttpClient.layer, Logger.minimumLogLevel(LogLevel.Debug)),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store-eventstream.test.js","sourceRoot":"","sources":["../../src/store/store-eventstream.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAE5D,OAAO,EAAuC,mBAAmB,EAAqB,MAAM,mBAAmB,CAAA;AAE/G,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAExD,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"store-eventstream.test.js","sourceRoot":"","sources":["../../src/store/store-eventstream.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import type * as otel from '@opentelemetry/api';
|
|
2
|
+
import { type ClientSession, type ClientSessionSyncProcessor, type ClientSessionSyncProcessorSimulationParams, type IntentionalShutdownCause, type MaterializeError, type QueryBuilder, type StoreInterrupted, type BackendIdMismatchError, type UnknownError } from '@livestore/common';
|
|
2
3
|
import type { StreamEventsOptions } from '@livestore/common/leader-thread';
|
|
3
4
|
import type { LiveStoreEvent, LiveStoreSchema } from '@livestore/common/schema';
|
|
4
5
|
import type { Effect, Runtime, Schema, Scope } from '@livestore/utils/effect';
|
|
5
6
|
import { Deferred } from '@livestore/utils/effect';
|
|
6
|
-
import type * as otel from '@opentelemetry/api';
|
|
7
7
|
import type { LiveQuery, LiveQueryDef, ReactivityGraph, ReactivityGraphContext, SignalDef } from '../live-queries/base-class.ts';
|
|
8
8
|
import type { DebugRefreshReasonBase, Ref } from '../reactive.ts';
|
|
9
9
|
import type { SqliteDbWrapper } from '../SqliteDbWrapper.ts';
|
|
@@ -22,12 +22,12 @@ import type { Store } from './store.ts';
|
|
|
22
22
|
*/
|
|
23
23
|
export type LiveStoreContext<TSchema extends LiveStoreSchema = LiveStoreSchema.Any> = LiveStoreContextRunning<TSchema> | {
|
|
24
24
|
stage: 'error';
|
|
25
|
-
error:
|
|
25
|
+
error: unknown;
|
|
26
26
|
} | {
|
|
27
27
|
stage: 'shutdown';
|
|
28
|
-
cause: IntentionalShutdownCause | StoreInterrupted |
|
|
28
|
+
cause: IntentionalShutdownCause | StoreInterrupted | UnknownError;
|
|
29
29
|
};
|
|
30
|
-
export type ShutdownDeferred = Deferred.Deferred<IntentionalShutdownCause, UnknownError |
|
|
30
|
+
export type ShutdownDeferred = Deferred.Deferred<IntentionalShutdownCause, UnknownError | StoreInterrupted | MaterializeError | BackendIdMismatchError>;
|
|
31
31
|
export declare const makeShutdownDeferred: Effect.Effect<ShutdownDeferred>;
|
|
32
32
|
/**
|
|
33
33
|
* Context state when the Store is active and ready for use.
|
|
@@ -130,6 +130,33 @@ export type StoreInternals = {
|
|
|
130
130
|
*/
|
|
131
131
|
isShutdown: boolean;
|
|
132
132
|
};
|
|
133
|
+
/**
|
|
134
|
+
* Parameters for constructing a Store instance.
|
|
135
|
+
*
|
|
136
|
+
* @internal This type is used by the Store constructor and is not part of the public API.
|
|
137
|
+
* For creating stores, use `createStore()` or `StoreRegistry` instead.
|
|
138
|
+
*/
|
|
139
|
+
export type StoreConstructorParams<TSchema extends LiveStoreSchema = LiveStoreSchema.Any, TContext = {}> = {
|
|
140
|
+
clientSession: ClientSession;
|
|
141
|
+
schema: TSchema;
|
|
142
|
+
storeId: string;
|
|
143
|
+
context: TContext;
|
|
144
|
+
otelOptions: OtelOptions;
|
|
145
|
+
effectContext: {
|
|
146
|
+
runtime: Runtime.Runtime<Scope.Scope>;
|
|
147
|
+
lifetimeScope: Scope.Scope;
|
|
148
|
+
};
|
|
149
|
+
confirmUnsavedChanges: boolean;
|
|
150
|
+
batchUpdates: (runUpdates: () => void) => void;
|
|
151
|
+
params: {
|
|
152
|
+
leaderPushBatchSize: number;
|
|
153
|
+
eventQueryBatchSize?: number;
|
|
154
|
+
simulation?: {
|
|
155
|
+
clientSessionSyncProcessor: typeof ClientSessionSyncProcessorSimulationParams.Type;
|
|
156
|
+
};
|
|
157
|
+
};
|
|
158
|
+
__runningInDevtools: boolean;
|
|
159
|
+
};
|
|
133
160
|
/**
|
|
134
161
|
* Tagged union describing why a reactive refresh occurred.
|
|
135
162
|
*
|
|
@@ -298,4 +325,42 @@ export declare const isLiveQueryInstance: (value: unknown) => value is LiveQuery
|
|
|
298
325
|
* ```
|
|
299
326
|
*/
|
|
300
327
|
export declare const isQueryable: (value: unknown) => value is Queryable<unknown>;
|
|
328
|
+
/**
|
|
329
|
+
* Represents the current synchronization status of the store.
|
|
330
|
+
*
|
|
331
|
+
* This provides visibility into the sync state between the client session
|
|
332
|
+
* and the leader thread, allowing applications to show sync indicators
|
|
333
|
+
* or determine backend health.
|
|
334
|
+
*
|
|
335
|
+
* @example
|
|
336
|
+
* ```ts
|
|
337
|
+
* const status = store.syncStatus()
|
|
338
|
+
* if (status.isSynced) {
|
|
339
|
+
* console.log('All changes synced')
|
|
340
|
+
* } else {
|
|
341
|
+
* console.log(`${status.pendingCount} events pending sync`)
|
|
342
|
+
* }
|
|
343
|
+
* ```
|
|
344
|
+
*/
|
|
345
|
+
export type SyncStatus = {
|
|
346
|
+
/**
|
|
347
|
+
* The local head sequence number (most recent event in the client session).
|
|
348
|
+
* Represented as a string in the format "e{global}.{client}" (e.g., "e5.2").
|
|
349
|
+
*/
|
|
350
|
+
localHead: string;
|
|
351
|
+
/**
|
|
352
|
+
* The upstream head sequence number (what the leader thread has confirmed).
|
|
353
|
+
* Represented as a string in the format "e{global}" (e.g., "e3").
|
|
354
|
+
*/
|
|
355
|
+
upstreamHead: string;
|
|
356
|
+
/**
|
|
357
|
+
* Number of events pending synchronization to the leader thread.
|
|
358
|
+
*/
|
|
359
|
+
pendingCount: number;
|
|
360
|
+
/**
|
|
361
|
+
* Whether the client session is fully synced with the leader thread.
|
|
362
|
+
* True when there are no pending events (pendingCount === 0).
|
|
363
|
+
*/
|
|
364
|
+
isSynced: boolean;
|
|
365
|
+
};
|
|
301
366
|
//# sourceMappingURL=store-types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store-types.d.ts","sourceRoot":"","sources":["../../src/store/store-types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,0BAA0B,
|
|
1
|
+
{"version":3,"file":"store-types.d.ts","sourceRoot":"","sources":["../../src/store/store-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store-types.js","sourceRoot":"","sources":["../../src/store/store-types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"store-types.js","sourceRoot":"","sources":["../../src/store/store-types.ts"],"names":[],"mappings":"AAEA,OAAO,EAKL,cAAc,GAMf,MAAM,mBAAmB,CAAA;AAI1B,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAS7D,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAgCtD,MAAM,CAAC,MAAM,oBAAoB,GAAoC,QAAQ,CAAC,IAAI,EAG/E,CAAA;AAsBH,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAA;AA8P1E;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAc,EAA+C,EAAE;IAC5F,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,GAAG,GAAI,KAA4C,CAAC,IAAI,CAAA;IAC9D,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,YAAY,EAAE,CAAC;QAC1C,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,SAAS,GAAG,KAA0B,CAAA;IAC5C,IAAI,OAAO,SAAS,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACzC,4EAA4E;QAC5E,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAI,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,SAAS,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9E,6EAA6E;QAC7E,OAAO,KAAK,CAAA;IACd,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAc,EAA2B,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;AAEpH;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAc,EAA+B,EAAE,CACzE,cAAc,CAAC,KAAK,CAAC,IAAI,mBAAmB,CAAC,KAAK,CAAC,IAAI,cAAc,CAAC,KAAK,CAAC,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { describe, expect, it } from 'vitest';
|
|
1
2
|
import { QueryBuilderTypeId } from '@livestore/common';
|
|
2
3
|
import { Schema } from '@livestore/utils/effect';
|
|
3
|
-
import { describe, expect, it } from 'vitest';
|
|
4
4
|
import { TypeId } from "../live-queries/base-class.js";
|
|
5
5
|
import { queryDb, signal } from "../live-queries/mod.js";
|
|
6
6
|
import { isQueryable } from "./store-types.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store-types.test.js","sourceRoot":"","sources":["../../src/store/store-types.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"store-types.test.js","sourceRoot":"","sources":["../../src/store/store-types.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAG7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,MAAM,gBAAgB,GAAG,GAAgC,EAAE,CACzD,CAAC;IACC,CAAC,kBAAkB,CAAC,EAAE,kBAAkB;IACxC,UAAU,EAAE,IAAI;IAChB,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,GAAG,EAAU,EAAE,CAAC;IACnF,QAAQ,EAAE,GAAG,EAAE,CAAC,UAAU;CAC3B,CAA2C,CAAA;AAE9C,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,GAAG,GAAG,OAAO,CAAC;YAClB,KAAK,EAAE,mBAAmB;YAC1B,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;SAC9D,CAAC,CAAA;QAEF,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACrC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA;QAEzC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACrC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,aAAa,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAW,CAAA;QAEnD,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC/C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,EAAE,GAAG,gBAAgB,EAAE,CAAA;QAE7B,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACpC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACrC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC1C,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACrC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
package/dist/store/store.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { type Bindable, type ClientSession, MaterializeError, type StorageMode, UnknownError } from '@livestore/common';
|
|
1
|
+
import { type Bindable, type ClientSession, MaterializeError, type StorageMode, type SyncState, UnknownError } from '@livestore/common';
|
|
2
2
|
import type { LiveStoreSchema } from '@livestore/common/schema';
|
|
3
3
|
import { LiveStoreEvent } from '@livestore/common/schema';
|
|
4
4
|
import { Cause, Effect, Inspectable, Schema, Stream } from '@livestore/utils/effect';
|
|
5
5
|
import * as otel from '@opentelemetry/api';
|
|
6
6
|
import type { SignalDef } from '../live-queries/base-class.ts';
|
|
7
|
-
import { type Queryable, type RefreshReason, type StoreCommitOptions, type StoreConstructorParams, type StoreEventsOptions, type StoreInternals, StoreInternalsSymbol, type SubscribeOptions, type Unsubscribe } from './store-types.ts';
|
|
7
|
+
import { type Queryable, type RefreshReason, type StoreCommitOptions, type StoreConstructorParams, type StoreEventsOptions, type StoreInternals, StoreInternalsSymbol, type SubscribeOptions, type SyncStatus, type Unsubscribe } from './store-types.ts';
|
|
8
8
|
export type SubscribeFn = {
|
|
9
9
|
<TResult>(query: Queryable<TResult>, onUpdate: (value: TResult) => void, options?: SubscribeOptions<TResult>): Unsubscribe;
|
|
10
10
|
<TResult>(query: Queryable<TResult>, options?: SubscribeOptions<TResult>): AsyncIterable<TResult>;
|
|
@@ -289,6 +289,65 @@ export declare class Store<TSchema extends LiveStoreSchema = LiveStoreSchema.Any
|
|
|
289
289
|
* See `store.events` for details on options and behaviour.
|
|
290
290
|
*/
|
|
291
291
|
eventsStream: (options?: StoreEventsOptions<TSchema>) => Stream.Stream<LiveStoreEvent.Client.ForSchema<TSchema>, UnknownError>;
|
|
292
|
+
/**
|
|
293
|
+
* Returns the current synchronization status of the store.
|
|
294
|
+
*
|
|
295
|
+
* This is a synchronous operation that returns the sync state between the
|
|
296
|
+
* client session and the leader thread. Use this to display sync indicators
|
|
297
|
+
* or check if local changes have been pushed to the leader.
|
|
298
|
+
*
|
|
299
|
+
* @example
|
|
300
|
+
* ```ts
|
|
301
|
+
* const status = store.syncStatus()
|
|
302
|
+
* console.log(status.isSynced ? 'Synced' : `${status.pendingCount} pending`)
|
|
303
|
+
* ```
|
|
304
|
+
*
|
|
305
|
+
* @example
|
|
306
|
+
* ```ts
|
|
307
|
+
* // Health check for backend connectivity
|
|
308
|
+
* const status = store.syncStatus()
|
|
309
|
+
* if (!status.isSynced && status.pendingCount > 100) {
|
|
310
|
+
* console.warn('Large backlog of unsynced events')
|
|
311
|
+
* }
|
|
312
|
+
* ```
|
|
313
|
+
*/
|
|
314
|
+
syncStatus: () => SyncStatus;
|
|
315
|
+
/**
|
|
316
|
+
* Returns an Effect Stream of sync status updates.
|
|
317
|
+
*
|
|
318
|
+
* Emits the current status immediately and then whenever the sync state changes.
|
|
319
|
+
* Use this for Effect-based workflows or when you need more control over the stream.
|
|
320
|
+
*
|
|
321
|
+
* @example
|
|
322
|
+
* ```ts
|
|
323
|
+
* store.syncStatusStream().pipe(
|
|
324
|
+
* Stream.tap((status) => Effect.log(`Sync status: ${status.isSynced}`)),
|
|
325
|
+
* Stream.runDrain,
|
|
326
|
+
* )
|
|
327
|
+
* ```
|
|
328
|
+
*/
|
|
329
|
+
syncStatusStream: () => Stream.Stream<SyncStatus>;
|
|
330
|
+
/**
|
|
331
|
+
* Subscribes to sync status changes.
|
|
332
|
+
*
|
|
333
|
+
* The callback is invoked immediately with the current status and then
|
|
334
|
+
* whenever the sync state changes (e.g., when events are pushed or confirmed).
|
|
335
|
+
*
|
|
336
|
+
* @param onUpdate - Callback invoked with the current sync status
|
|
337
|
+
* @returns Unsubscribe function to stop receiving updates
|
|
338
|
+
*
|
|
339
|
+
* @example
|
|
340
|
+
* ```ts
|
|
341
|
+
* const unsubscribe = store.subscribeSyncStatus((status) => {
|
|
342
|
+
* updateUI(status.isSynced ? 'Synced' : 'Syncing...')
|
|
343
|
+
* })
|
|
344
|
+
*
|
|
345
|
+
* // Later, stop listening
|
|
346
|
+
* unsubscribe()
|
|
347
|
+
* ```
|
|
348
|
+
*/
|
|
349
|
+
subscribeSyncStatus: (onUpdate: (status: SyncStatus) => void) => Unsubscribe;
|
|
350
|
+
private makeSyncStatus;
|
|
292
351
|
/**
|
|
293
352
|
* This can be used in combination with `skipRefresh` when committing events.
|
|
294
353
|
* We might need a better solution for this. Let's see.
|
|
@@ -308,6 +367,26 @@ export declare class Store<TSchema extends LiveStoreSchema = LiveStoreSchema.Any
|
|
|
308
367
|
* This is called automatically when the store was created using the React or Effect API.
|
|
309
368
|
*/
|
|
310
369
|
shutdown: (cause?: Cause.Cause<UnknownError | MaterializeError>) => Effect.Effect<void>;
|
|
370
|
+
/**
|
|
371
|
+
* Helper methods useful during development
|
|
372
|
+
*
|
|
373
|
+
* @internal
|
|
374
|
+
*/
|
|
375
|
+
_dev: {
|
|
376
|
+
downloadDb: (source?: "local" | "leader") => void;
|
|
377
|
+
downloadEventlogDb: () => void;
|
|
378
|
+
hardReset: (mode?: "all-data" | "only-app-db") => void;
|
|
379
|
+
overrideNetworkStatus: (status: "online" | "offline") => void;
|
|
380
|
+
syncStates: () => Promise<{
|
|
381
|
+
session: SyncState.SyncState;
|
|
382
|
+
leader: SyncState.SyncState;
|
|
383
|
+
}>;
|
|
384
|
+
printSyncStates: () => void;
|
|
385
|
+
version: string;
|
|
386
|
+
otel: {
|
|
387
|
+
rootSpanContext: () => otel.SpanContext | undefined;
|
|
388
|
+
};
|
|
389
|
+
};
|
|
311
390
|
toJSON: () => {
|
|
312
391
|
_tag: string;
|
|
313
392
|
reactivityGraph: import("../reactive.ts").ReactiveGraphSnapshot;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,aAAa,EAQlB,gBAAgB,EAOhB,KAAK,WAAW,EAChB,YAAY,EACb,MAAM,mBAAmB,CAAA;AAE1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":"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"}
|