@livestore/livestore 0.4.0-dev.21 → 0.4.0-dev.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +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 +130 -2
- package/dist/effect/LiveStore.d.ts.map +1 -1
- package/dist/effect/LiveStore.js +185 -6
- 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/effect/mod.d.ts +1 -1
- package/dist/effect/mod.d.ts.map +1 -1
- package/dist/effect/mod.js +3 -1
- package/dist/effect/mod.js.map +1 -1
- 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 +2 -1
- package/dist/mod.d.ts.map +1 -1
- package/dist/mod.js +1 -0
- 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 +215 -0
- package/dist/store/StoreRegistry.d.ts.map +1 -0
- package/dist/store/StoreRegistry.js +267 -0
- package/dist/store/StoreRegistry.js.map +1 -0
- package/dist/store/StoreRegistry.test.d.ts +2 -0
- package/dist/store/StoreRegistry.test.d.ts.map +1 -0
- package/dist/store/StoreRegistry.test.js +381 -0
- package/dist/store/StoreRegistry.test.js.map +1 -0
- package/dist/store/create-store.d.ts +56 -6
- package/dist/store/create-store.d.ts.map +1 -1
- package/dist/store/create-store.js +32 -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 +16 -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 +59 -9
- 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 +102 -6
- package/dist/store/store.d.ts.map +1 -1
- package/dist/store/store.js +148 -47
- 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 +59 -18
- 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 +381 -8
- package/src/effect/mod.ts +13 -1
- 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 +2 -0
- package/src/reactive.test.ts +3 -2
- package/src/reactive.ts +22 -23
- package/src/store/StoreRegistry.test.ts +540 -0
- package/src/store/StoreRegistry.ts +418 -0
- package/src/store/create-store.ts +76 -15
- package/src/store/devtools.ts +20 -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 +64 -13
- package/src/store/store.ts +197 -60
- 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 -5
- package/docs/building-with-livestore/crud/index.md +0 -5
- package/docs/building-with-livestore/data-modeling/index.md +0 -1
- 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/index.md +0 -30
- package/docs/building-with-livestore/examples/todo-workspaces/index.md +0 -891
- package/docs/building-with-livestore/examples/turnbased-game/index.md +0 -7
- package/docs/building-with-livestore/opentelemetry/index.md +0 -208
- 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 -72
- 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 -281
- 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 -918
- 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 -736
- package/docs/getting-started/node/index.md +0 -115
- package/docs/getting-started/react-web/index.md +0 -573
- package/docs/getting-started/solid/index.md +0 -3
- package/docs/getting-started/vue/index.md +0 -471
- package/docs/index.md +0 -209
- package/docs/llms.txt +0 -147
- 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 -5
- 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 -5
- 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 -226
- package/docs/patterns/effect/index.md +0 -1495
- 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 -192
- 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 -245
- 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 -218
- 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 -511
- 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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StoreRegistry.test.js","sourceRoot":"","sources":["../../src/store/StoreRegistry.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,37 @@
|
|
|
1
|
+
import * as otel from '@opentelemetry/api';
|
|
1
2
|
import { type Adapter, type BootStatus, type ClientSessionSyncProcessorSimulationParams, LogConfig, type MigrationsReport, UnknownError } from '@livestore/common';
|
|
2
3
|
import type { LiveStoreSchema } from '@livestore/common/schema';
|
|
3
4
|
import { Context, Deferred, Effect, Layer, OtelTracer, Schema, Scope } from '@livestore/utils/effect';
|
|
4
|
-
import * as otel from '@opentelemetry/api';
|
|
5
|
-
import { Store } from './store.ts';
|
|
6
5
|
import type { LiveStoreContextRunning as LiveStoreContextRunning_, OtelOptions, ShutdownDeferred } from './store-types.ts';
|
|
6
|
+
import { Store } from './store.ts';
|
|
7
|
+
declare global {
|
|
8
|
+
/** Store instances for console debugging */
|
|
9
|
+
var __debugLiveStore: Record<string, Store<any, any>> | undefined;
|
|
10
|
+
}
|
|
7
11
|
declare const LiveStoreContextRunning_base: Context.TagClass<LiveStoreContextRunning, "@livestore/livestore/effect/LiveStoreContextRunning", LiveStoreContextRunning_>;
|
|
12
|
+
/**
|
|
13
|
+
* @deprecated Use `makeStoreContext()` from `@livestore/livestore/effect` instead.
|
|
14
|
+
* This service doesn't preserve schema types. See the Effect integration docs for migration.
|
|
15
|
+
*
|
|
16
|
+
* @example Migration
|
|
17
|
+
* ```ts
|
|
18
|
+
* // Before (untyped)
|
|
19
|
+
* import { LiveStoreContextRunning } from '@livestore/livestore/effect'
|
|
20
|
+
* const { store } = yield* LiveStoreContextRunning
|
|
21
|
+
*
|
|
22
|
+
* // After (typed)
|
|
23
|
+
* import { makeStoreContext } from '@livestore/livestore/effect'
|
|
24
|
+
* const AppStore = makeStoreContext<typeof schema>()('app')
|
|
25
|
+
* const { store } = yield* AppStore.Tag
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
8
28
|
export declare class LiveStoreContextRunning extends LiveStoreContextRunning_base {
|
|
9
29
|
static fromDeferred: Layer.Layer<LiveStoreContextRunning, UnknownError, DeferredStoreContext>;
|
|
10
30
|
}
|
|
11
31
|
declare const DeferredStoreContext_base: Context.TagClass<DeferredStoreContext, "@livestore/livestore/effect/DeferredStoreContext", Deferred.Deferred<LiveStoreContextRunning_, UnknownError>>;
|
|
32
|
+
/**
|
|
33
|
+
* @deprecated Use `StoreContext.DeferredTag` from `makeStoreContext()` instead.
|
|
34
|
+
*/
|
|
12
35
|
export declare class DeferredStoreContext extends DeferredStoreContext_base {
|
|
13
36
|
}
|
|
14
37
|
export type LiveStoreContextProps<TSchema extends LiveStoreSchema, TContext = {}, TSyncPayloadSchema extends Schema.Schema<any> = typeof Schema.JsonValue> = {
|
|
@@ -43,26 +66,51 @@ export type LiveStoreContextProps<TSchema extends LiveStoreSchema, TContext = {}
|
|
|
43
66
|
*/
|
|
44
67
|
syncPayloadSchema?: TSyncPayloadSchema;
|
|
45
68
|
/**
|
|
46
|
-
* Payload that is sent to the sync backend
|
|
69
|
+
* Payload that is sent to the sync backend when connecting
|
|
47
70
|
*
|
|
48
71
|
* - Its TypeScript type is inferred from `syncPayloadSchema` (i.e. `typeof SyncPayload.Type`).
|
|
49
72
|
* - At runtime this value is encoded with `syncPayloadSchema` before being handed to the adapter.
|
|
50
73
|
*
|
|
51
74
|
* Example:
|
|
52
75
|
* const SyncPayload = Schema.Struct({ authToken: Schema.String })
|
|
53
|
-
*
|
|
76
|
+
* useStore({ ..., syncPayloadSchema: SyncPayload, syncPayload: { authToken: '...' } })
|
|
54
77
|
*/
|
|
55
78
|
syncPayload?: Schema.Schema.Type<TSyncPayloadSchema>;
|
|
56
79
|
};
|
|
57
80
|
export interface CreateStoreOptions<TSchema extends LiveStoreSchema, TContext = {}, TSyncPayloadSchema extends Schema.Schema<any> = typeof Schema.JsonValue> extends LogConfig.WithLoggerOptions {
|
|
81
|
+
/** The LiveStore schema defining tables, events, and materializers. */
|
|
58
82
|
schema: TSchema;
|
|
83
|
+
/** Adapter used for data storage and synchronization. */
|
|
59
84
|
adapter: Adapter;
|
|
85
|
+
/**
|
|
86
|
+
* Unique identifier for the Store instance, stable for its lifetime.
|
|
87
|
+
*
|
|
88
|
+
* - **Valid characters**: Only alphanumeric characters, underscores (`_`), and hyphens (`-`)
|
|
89
|
+
* are allowed. Must match `/^[a-zA-Z0-9_-]+$/`.
|
|
90
|
+
* - **Globally unique**: Use globally unique IDs (e.g., nanoid) to prevent collisions across stores.
|
|
91
|
+
* - **Use namespaces**: Prefix to avoid collisions and for easier identification when debugging
|
|
92
|
+
* (e.g., `app-root`, `workspace-abc123`, `issue-456`)
|
|
93
|
+
*/
|
|
60
94
|
storeId: string;
|
|
95
|
+
/** User-defined context that will be attached to the created Store (e.g. for dependency injection). */
|
|
61
96
|
context?: TContext;
|
|
62
97
|
boot?: (store: Store<TSchema, TContext>, ctx: {
|
|
63
98
|
migrationsReport: MigrationsReport;
|
|
64
99
|
parentSpan: otel.Span;
|
|
65
100
|
}) => Effect.SyncOrPromiseOrEffect<void, unknown, OtelTracer.OtelTracer | LiveStoreContextRunning>;
|
|
101
|
+
onBootStatus?: (status: BootStatus) => void;
|
|
102
|
+
/**
|
|
103
|
+
* Needed in React so LiveStore can apply multiple events in a single render.
|
|
104
|
+
*
|
|
105
|
+
* @example
|
|
106
|
+
* ```ts
|
|
107
|
+
* // With React DOM
|
|
108
|
+
* import { unstable_batchedUpdates as batchUpdates } from 'react-dom'
|
|
109
|
+
*
|
|
110
|
+
* // With React Native
|
|
111
|
+
* import { unstable_batchedUpdates as batchUpdates } from 'react-native'
|
|
112
|
+
* ```
|
|
113
|
+
*/
|
|
66
114
|
batchUpdates?: (run: () => void) => void;
|
|
67
115
|
/**
|
|
68
116
|
* Whether to disable devtools.
|
|
@@ -70,7 +118,6 @@ export interface CreateStoreOptions<TSchema extends LiveStoreSchema, TContext =
|
|
|
70
118
|
* @default 'auto'
|
|
71
119
|
*/
|
|
72
120
|
disableDevtools?: boolean | 'auto';
|
|
73
|
-
onBootStatus?: (status: BootStatus) => void;
|
|
74
121
|
shutdownDeferred?: ShutdownDeferred;
|
|
75
122
|
/**
|
|
76
123
|
* Currently only used in the web adapter:
|
|
@@ -88,7 +135,7 @@ export interface CreateStoreOptions<TSchema extends LiveStoreSchema, TContext =
|
|
|
88
135
|
*/
|
|
89
136
|
syncPayloadSchema?: TSyncPayloadSchema;
|
|
90
137
|
/**
|
|
91
|
-
* Payload that is sent to the sync backend
|
|
138
|
+
* Payload that is sent to the sync backend when connecting
|
|
92
139
|
*
|
|
93
140
|
* - Its TypeScript type is inferred from `syncPayloadSchema` (i.e. `typeof SyncPayload.Type`).
|
|
94
141
|
* - At runtime this value is encoded with `syncPayloadSchema` and carried through the adapter
|
|
@@ -97,8 +144,11 @@ export interface CreateStoreOptions<TSchema extends LiveStoreSchema, TContext =
|
|
|
97
144
|
* @default undefined
|
|
98
145
|
*/
|
|
99
146
|
syncPayload?: Schema.Schema.Type<TSyncPayloadSchema>;
|
|
147
|
+
/** Options provided to the Store constructor. */
|
|
100
148
|
params?: {
|
|
149
|
+
/** Max events pushed to the leader per write batch. */
|
|
101
150
|
leaderPushBatchSize?: number;
|
|
151
|
+
/** Chunk size used when the stream replays confirmed events. */
|
|
102
152
|
eventQueryBatchSize?: number;
|
|
103
153
|
simulation?: {
|
|
104
154
|
clientSessionSyncProcessor: typeof ClientSessionSyncProcessorSimulationParams.Type;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-store.d.ts","sourceRoot":"","sources":["../../src/store/create-store.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,UAAU,EAGf,KAAK,0CAA0C,
|
|
1
|
+
{"version":3,"file":"create-store.d.ts","sourceRoot":"","sources":["../../src/store/create-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,27 @@
|
|
|
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
|
+
/**
|
|
10
|
+
* @deprecated Use `makeStoreContext()` from `@livestore/livestore/effect` instead.
|
|
11
|
+
* This service doesn't preserve schema types. See the Effect integration docs for migration.
|
|
12
|
+
*
|
|
13
|
+
* @example Migration
|
|
14
|
+
* ```ts
|
|
15
|
+
* // Before (untyped)
|
|
16
|
+
* import { LiveStoreContextRunning } from '@livestore/livestore/effect'
|
|
17
|
+
* const { store } = yield* LiveStoreContextRunning
|
|
18
|
+
*
|
|
19
|
+
* // After (typed)
|
|
20
|
+
* import { makeStoreContext } from '@livestore/livestore/effect'
|
|
21
|
+
* const AppStore = makeStoreContext<typeof schema>()('app')
|
|
22
|
+
* const { store } = yield* AppStore.Tag
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
9
25
|
export class LiveStoreContextRunning extends Context.Tag('@livestore/livestore/effect/LiveStoreContextRunning')() {
|
|
10
26
|
static fromDeferred = Effect.gen(function* () {
|
|
11
27
|
const deferred = yield* DeferredStoreContext;
|
|
@@ -13,6 +29,9 @@ export class LiveStoreContextRunning extends Context.Tag('@livestore/livestore/e
|
|
|
13
29
|
return Layer.succeed(LiveStoreContextRunning, ctx);
|
|
14
30
|
}).pipe(Layer.unwrapScoped);
|
|
15
31
|
}
|
|
32
|
+
/**
|
|
33
|
+
* @deprecated Use `StoreContext.DeferredTag` from `makeStoreContext()` instead.
|
|
34
|
+
*/
|
|
16
35
|
export class DeferredStoreContext extends Context.Tag('@livestore/livestore/effect/DeferredStoreContext')() {
|
|
17
36
|
}
|
|
18
37
|
/** Create a new LiveStore Store */
|
|
@@ -48,7 +67,7 @@ export const createStore = ({ schema, adapter, storeId, context = {}, boot, batc
|
|
|
48
67
|
const runtime = yield* Effect.runtime();
|
|
49
68
|
const shutdown = (exit) => Effect.gen(function* () {
|
|
50
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')));
|
|
51
|
-
if (shutdownDeferred) {
|
|
70
|
+
if (shutdownDeferred !== undefined) {
|
|
52
71
|
yield* Deferred.done(shutdownDeferred, exit);
|
|
53
72
|
}
|
|
54
73
|
yield* Effect.logDebug('LiveStore shutdown complete');
|
|
@@ -70,7 +89,7 @@ export const createStore = ({ schema, adapter, storeId, context = {}, boot, batc
|
|
|
70
89
|
syncPayloadSchema: resolvedSyncPayloadSchema,
|
|
71
90
|
syncPayloadEncoded,
|
|
72
91
|
}).pipe(Effect.withPerformanceMeasure('livestore:makeAdapter'), Effect.withSpan('createStore:makeAdapter'));
|
|
73
|
-
if (LS_DEV && clientSession.leaderThread.initialState.migrationsReport.migrations.length > 0) {
|
|
92
|
+
if (LS_DEV === true && clientSession.leaderThread.initialState.migrationsReport.migrations.length > 0) {
|
|
74
93
|
yield* Effect.logDebug('[@livestore/livestore:createStore] migrationsReport', ...clientSession.leaderThread.initialState.migrationsReport.migrations.map((m) => m.hashes.actual === undefined
|
|
75
94
|
? `Table '${m.tableName}' doesn't exist yet. Creating table...`
|
|
76
95
|
: `Schema hash mismatch for table '${m.tableName}' (DB: ${m.hashes.actual}, expected: ${m.hashes.expected}), migrating table...`));
|
|
@@ -83,7 +102,7 @@ export const createStore = ({ schema, adapter, storeId, context = {}, boot, batc
|
|
|
83
102
|
effectContext: { lifetimeScope, runtime },
|
|
84
103
|
// TODO find a better way to detect if we're running LiveStore in the LiveStore devtools
|
|
85
104
|
// But for now this is a good enough approximation with little downsides
|
|
86
|
-
__runningInDevtools: getDevtoolsEnabled(disableDevtools)
|
|
105
|
+
__runningInDevtools: !getDevtoolsEnabled(disableDevtools),
|
|
87
106
|
confirmUnsavedChanges,
|
|
88
107
|
// NOTE during boot we're not yet executing events in a batched context
|
|
89
108
|
// but only set the provided `batchUpdates` function after boot
|
|
@@ -108,12 +127,18 @@ export const createStore = ({ schema, adapter, storeId, context = {}, boot, batc
|
|
|
108
127
|
store[StoreInternalsSymbol].reactivityGraph.context.effectsWrapper = batchUpdates;
|
|
109
128
|
}
|
|
110
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
|
+
}));
|
|
111
136
|
return store;
|
|
112
|
-
}).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));
|
|
113
138
|
});
|
|
114
139
|
const validateStoreId = (storeId) => Effect.gen(function* () {
|
|
115
140
|
const validChars = /^[a-zA-Z0-9_-]+$/;
|
|
116
|
-
if (
|
|
141
|
+
if (validChars.test(storeId) === false) {
|
|
117
142
|
return yield* UnknownError.make({
|
|
118
143
|
cause: `Invalid storeId: ${storeId}. Only alphanumeric characters, underscores, and hyphens are allowed.`,
|
|
119
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);
|
|
@@ -170,6 +170,7 @@ export const connectDevtoolsToStore = ({ storeDevtoolsChannel, store, }) => Effe
|
|
|
170
170
|
const { subscriptionId } = decodedMessage;
|
|
171
171
|
const send = () => requestIdleCallback(() => sendToDevtools(Devtools.ClientSession.LiveQueriesRes.make({
|
|
172
172
|
liveQueries: [...store[StoreInternalsSymbol].activeQueries].map((q) => ({
|
|
173
|
+
/** TODO: include schema metadata for schema-aware rendering in devtools (e.g., schema AST/hash/identifier or table+columns for QueryBuilder-derived queries). */
|
|
173
174
|
_tag: q._tag,
|
|
174
175
|
id: q.id,
|
|
175
176
|
label: q.label,
|
|
@@ -225,6 +226,18 @@ export const connectDevtoolsToStore = ({ storeDevtoolsChannel, store, }) => Effe
|
|
|
225
226
|
break;
|
|
226
227
|
}
|
|
227
228
|
case 'LSD.ClientSession.Ping': {
|
|
229
|
+
// Check version mismatch and respond with VersionMismatch if versions don't match
|
|
230
|
+
if (decodedMessage.liveStoreVersion !== liveStoreVersion) {
|
|
231
|
+
sendToDevtools(Devtools.ClientSession.VersionMismatch.make({
|
|
232
|
+
requestId,
|
|
233
|
+
clientId,
|
|
234
|
+
sessionId,
|
|
235
|
+
liveStoreVersion,
|
|
236
|
+
appVersion: liveStoreVersion,
|
|
237
|
+
receivedVersion: decodedMessage.liveStoreVersion,
|
|
238
|
+
}));
|
|
239
|
+
break;
|
|
240
|
+
}
|
|
228
241
|
sendToDevtools(Devtools.ClientSession.Pong.make({ requestId, clientId, sessionId, liveStoreVersion }));
|
|
229
242
|
break;
|
|
230
243
|
}
|
|
@@ -236,5 +249,5 @@ export const connectDevtoolsToStore = ({ storeDevtoolsChannel, store, }) => Effe
|
|
|
236
249
|
yield* storeDevtoolsChannel.listen.pipe(
|
|
237
250
|
// Stream.tapLogWithLabel('@livestore/livestore:store:devtools:onMessage'),
|
|
238
251
|
Stream.flatten(), Stream.tapSync((message) => onMessage(message)), Stream.runDrain, Effect.withSpan('LSD.devtools.onMessage'));
|
|
239
|
-
}
|
|
252
|
+
}, UnknownError.mapToUnknownError);
|
|
240
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":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,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;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAA;AAEzD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAClH,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAEpD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAE1D,MAAM,WAAW,GAAG,MAAM,CAAC,eAAe,CAAC;IACzC,SAAS,EAAE,GAAG,EAAE,CACd,KAAK,CAAC,QAAQ,CACZ,eAAe,EACf,YAAY,CAAC,cAAc,CAAC,KAAK,EACjC,eAAe,CAAC,KAAK,EACrB,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,CACvC;CACJ,CAAC,CAAA;AAEF;;;;GAIG;AACH,MAAM,CAAC,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IACvC,MAAM,CAAC,UAAU,CAAC,gDAAgD,EAAE,CAAC,IAAI,EAAE,EAAE,CAC3E,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,KAAK,CAAC,CAAC,WAAW,CAAA;QACzD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,SAAS,EAAE,CAAA;QAChC,KAAK,CAAC,CAAC,eAAe,CAAC,OAAO,CAAA;QAE9B,MAAM,YAAY,GAAG,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACpD,MAAM,EAAE,YAAY,CAAC,cAAc,CAAC,cAAc,EAAE,mBAAmB,CAAC;SACzE,CAAC,CAAA;QAEF,iEAAiE;QACjE,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,SAAS,EAAkD,CAAA;QAE5F,KAAK,CAAC,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,IAAI,CAC9B,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,EACtD,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,UAAU,CAClB,CAAA;QAED,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;QACtF,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACnD,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;QACjD,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;QAEpD,KAAK,CAAC,CAAC,eAAe,CAAC,UAAU,CAAA;QACjC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;QACtF,MAAM,sBAAsB,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;QAC/G,MAAM,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAEnD,KAAK,CAAC,CAAC,eAAe,CAAC,OAAO,CAAA;QAC9B,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACnD,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;QACjD,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;IACtD,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAC3B,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,MAAM,WAAY,SAAQ,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,EAkBjD;CAAG;AAEN,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CAClC,WAAW,EACX,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,mBAAmB,EAAE,CAAA;IACpD,MAAM,gBAAgB,GAAG,KAAK,CAAC,CAAC,oBAAoB,CAAA;IAEpD,MAAM,SAAS,GAAyC,CAAC,IAAI,EAAE,EAAE;QAC/D,MAAM,OAAO,GAAG,mBAAmB,CAAC;YAClC,IAAI,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE;YACjF,GAAG,cAAc,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;SAC9C,CAAC,CAAA;QACF,OAAO,WAAW,CAAC;YACjB,MAAM,EAAE,MAAyB;YACjC,OAAO;YACP,OAAO,EAAE,MAAM,EAAE;YACjB,gBAAgB;YAChB,GAAG,cAAc,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;SACxC,CAAC,CAAA;IACJ,CAAC,CAAA;IAED,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,gBAAgB,EAAE,CAAA;AACzD,CAAC,CAAC,CACH,CAAA"}
|
|
@@ -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';
|
|
@@ -17,25 +17,31 @@ import type { Store } from './store.ts';
|
|
|
17
17
|
* - `running`: Store is active and ready for queries/commits
|
|
18
18
|
* - `error`: Store failed during boot or operation
|
|
19
19
|
* - `shutdown`: Store was intentionally shut down or interrupted
|
|
20
|
+
*
|
|
21
|
+
* @typeParam TSchema - The LiveStore schema type. Defaults to `LiveStoreSchema.Any`.
|
|
20
22
|
*/
|
|
21
|
-
export type LiveStoreContext = LiveStoreContextRunning | {
|
|
23
|
+
export type LiveStoreContext<TSchema extends LiveStoreSchema = LiveStoreSchema.Any> = LiveStoreContextRunning<TSchema> | {
|
|
22
24
|
stage: 'error';
|
|
23
|
-
error:
|
|
25
|
+
error: unknown;
|
|
24
26
|
} | {
|
|
25
27
|
stage: 'shutdown';
|
|
26
|
-
cause: IntentionalShutdownCause | StoreInterrupted |
|
|
28
|
+
cause: IntentionalShutdownCause | StoreInterrupted | UnknownError;
|
|
27
29
|
};
|
|
28
|
-
export type ShutdownDeferred = Deferred.Deferred<IntentionalShutdownCause, UnknownError |
|
|
30
|
+
export type ShutdownDeferred = Deferred.Deferred<IntentionalShutdownCause, UnknownError | StoreInterrupted | MaterializeError | BackendIdMismatchError>;
|
|
29
31
|
export declare const makeShutdownDeferred: Effect.Effect<ShutdownDeferred>;
|
|
30
32
|
/**
|
|
31
33
|
* Context state when the Store is active and ready for use.
|
|
32
34
|
*
|
|
33
35
|
* This is the normal operating state where you can query data, commit events,
|
|
34
36
|
* and subscribe to changes.
|
|
37
|
+
*
|
|
38
|
+
* @typeParam TSchema - The LiveStore schema type. Defaults to `LiveStoreSchema.Any`
|
|
39
|
+
* for backwards compatibility, but prefer providing the concrete schema type
|
|
40
|
+
* for full type safety.
|
|
35
41
|
*/
|
|
36
|
-
export type LiveStoreContextRunning = {
|
|
42
|
+
export type LiveStoreContextRunning<TSchema extends LiveStoreSchema = LiveStoreSchema.Any> = {
|
|
37
43
|
stage: 'running';
|
|
38
|
-
store: Store
|
|
44
|
+
store: Store<TSchema>;
|
|
39
45
|
};
|
|
40
46
|
export type OtelOptions = {
|
|
41
47
|
tracer: otel.Tracer;
|
|
@@ -124,7 +130,13 @@ export type StoreInternals = {
|
|
|
124
130
|
*/
|
|
125
131
|
isShutdown: boolean;
|
|
126
132
|
};
|
|
127
|
-
|
|
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 = {}> = {
|
|
128
140
|
clientSession: ClientSession;
|
|
129
141
|
schema: TSchema;
|
|
130
142
|
storeId: string;
|
|
@@ -313,4 +325,42 @@ export declare const isLiveQueryInstance: (value: unknown) => value is LiveQuery
|
|
|
313
325
|
* ```
|
|
314
326
|
*/
|
|
315
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
|
+
};
|
|
316
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,EAC/B,KAAK,0CAA0C,EAC/C,KAAK,wBAAwB,
|
|
1
|
+
{"version":3,"file":"store-types.d.ts","sourceRoot":"","sources":["../../src/store/store-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAE/C,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,0BAA0B,EAC/B,KAAK,0CAA0C,EAC/C,KAAK,wBAAwB,EAE7B,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,YAAY,EAClB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAA;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC/E,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAC7E,OAAO,EAAE,QAAQ,EAAa,MAAM,yBAAyB,CAAA;AAE7D,OAAO,KAAK,EACV,SAAS,EACT,YAAY,EACZ,eAAe,EACf,sBAAsB,EACtB,SAAS,EACV,MAAM,+BAA+B,CAAA;AAEtC,OAAO,KAAK,EAAE,sBAAsB,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAEvC;;;;;;;;;GASG;AACH,MAAM,MAAM,gBAAgB,CAAC,OAAO,SAAS,eAAe,GAAG,eAAe,CAAC,GAAG,IAC9E,uBAAuB,CAAC,OAAO,CAAC,GAChC;IACE,KAAK,EAAE,OAAO,CAAA;IACd,KAAK,EAAE,OAAO,CAAA;CACf,GACD;IACE,KAAK,EAAE,UAAU,CAAA;IACjB,KAAK,EAAE,wBAAwB,GAAG,gBAAgB,GAAG,YAAY,CAAA;CAClE,CAAA;AAEL,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAC9C,wBAAwB,EACxB,YAAY,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,sBAAsB,CAC5E,CAAA;AACD,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAG9D,CAAA;AAEH;;;;;;;;;GASG;AACH,MAAM,MAAM,uBAAuB,CAAC,OAAO,SAAS,eAAe,GAAG,eAAe,CAAC,GAAG,IAAI;IAC3F,KAAK,EAAE,SAAS,CAAA;IAChB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;IACnB,eAAe,EAAE,IAAI,CAAC,OAAO,CAAA;CAC9B,CAAA;AAED,eAAO,MAAM,oBAAoB,eAAyC,CAAA;AAC1E,MAAM,MAAM,oBAAoB,GAAG,OAAO,oBAAoB,CAAA;AAE9D;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAEjG;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAA;IAErC;;;OAGG;IACH,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAA;IAEzC;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,EAAE;QACtB,mEAAmE;QACnE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAC9C,kEAAkE;QAClE,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC,KAAK,CAAA;KACpC,CAAA;IAED;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;IAExB;;;;OAIG;IACH,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAA;IAEzC;;;;;;;OAOG;IACH,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,sBAAsB,EAAE,aAAa,CAAC,CAAC,CAAC,CAAA;IAE9F;;;OAGG;IACH,QAAQ,CAAC,aAAa,EAAE,mBAAmB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAA;IAE3D;;;OAGG;IACH,QAAQ,CAAC,aAAa,EAAE,0BAA0B,CAAA;IAElD;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;IAE7D;;;OAGG;IACH,UAAU,EAAE,OAAO,CAAA;CACpB,CAAA;AAED;;;;;GAKG;AACH,MAAM,MAAM,sBAAsB,CAAC,OAAO,SAAS,eAAe,GAAG,eAAe,CAAC,GAAG,EAAE,QAAQ,GAAG,EAAE,IAAI;IACzG,aAAa,EAAE,aAAa,CAAA;IAC5B,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,QAAQ,CAAA;IACjB,WAAW,EAAE,WAAW,CAAA;IACxB,aAAa,EAAE;QACb,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACrC,aAAa,EAAE,KAAK,CAAC,KAAK,CAAA;KAC3B,CAAA;IACD,qBAAqB,EAAE,OAAO,CAAA;IAC9B,YAAY,EAAE,CAAC,UAAU,EAAE,MAAM,IAAI,KAAK,IAAI,CAAA;IAC9C,MAAM,EAAE;QACN,mBAAmB,EAAE,MAAM,CAAA;QAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAA;QAC5B,UAAU,CAAC,EAAE;YACX,0BAA0B,EAAE,OAAO,0CAA0C,CAAC,IAAI,CAAA;SACnF,CAAA;KACF,CAAA;IACD,mBAAmB,EAAE,OAAO,CAAA;CAC7B,CAAA;AAED;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GACrB,sBAAsB,GACtB;IACE,IAAI,EAAE,QAAQ,CAAA;IACd,mCAAmC;IACnC,MAAM,EAAE,aAAa,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAEnF,mDAAmD;IACnD,WAAW,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CACnC,GACD;IAEE,IAAI,EAAE,OAAO,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB,GACD;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5C;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAEtC;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,wDAAwD;IACxD,IAAI,EAAE,MAAM,CAAA;IACZ,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAA;IACb,2DAA2D;IAC3D,KAAK,EAAE,MAAM,CAAA;IACb,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;IACnB,eAAe,EAAE,IAAI,CAAC,OAAO,CAAA;IAC7B,kBAAkB,EAAE,IAAI,CAAC,OAAO,CAAA;IAChC,kBAAkB,EAAE,IAAI,CAAC,OAAO,CAAA;CACjC,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,SAAS,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,CAAA;IACvB,WAAW,CAAC,EAAE,IAAI,CAAC,OAAO,CAAA;CAC3B,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,kBAAkB,CAAC,OAAO,SAAS,eAAe,IAAI,IAAI,CACpE,mBAAmB,EACnB,QAAQ,GAAG,mBAAmB,CAC/B,GAAG;IACF;;;OAGG;IACH,MAAM,CAAC,EAAE,aAAa,CAAC,MAAM,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAA;CAC1D,CAAA;AAED;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,IAAI,CAAA;AAEpC;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,CAAC,OAAO,IAAI;IACtC,+FAA+F;IAC/F,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,CAAA;IAClD,2DAA2D;IAC3D,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAA;IAC7B,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,iEAAiE;IACjE,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,wCAAwC;IACxC,WAAW,CAAC,EAAE,IAAI,CAAC,OAAO,CAAA;IAC1B,0DAA0D;IAC1D,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB,CAAA;AAED,gFAAgF;AAChF,MAAM,MAAM,SAAS,CAAC,OAAO,IACzB,YAAY,CAAC,OAAO,CAAC,GACrB,SAAS,CAAC,OAAO,CAAC,GAClB,SAAS,CAAC,OAAO,CAAC,GAClB,YAAY,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAEnC;;;;GAIG;AACH,yBAAiB,SAAS,CAAC;IACzB;;;;;;;;OAQG;IACH,KAAY,MAAM,CAAC,UAAU,SAAS,SAAS,CAAC,GAAG,CAAC,IAAI,UAAU,SAAS,SAAS,CAAC,MAAM,OAAO,CAAC,GAAG,OAAO,GAAG,KAAK,CAAA;CACtH;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,cAAc,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CA0BzF,CAAA;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,mBAAmB,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,SAAS,CAAC,GAAG,CAAyC,CAAA;AAEpH;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,WAAW,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,SAAS,CAAC,OAAO,CACO,CAAA;AAE9E;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAA;IACjB;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAA;IACpB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAA;IACpB;;;OAGG;IACH,QAAQ,EAAE,OAAO,CAAA;CAClB,CAAA"}
|
|
@@ -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"}
|