@livestore/livestore 0.0.0-snapshot-df546e17f0470b8f4f9bd33aad8c4fca65ec6355 → 0.0.0-snapshot-3b921bf0919e38fd218b5ef2926920c8c4806157

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.
Files changed (70) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/effect/LiveStore.d.ts +1 -2
  3. package/dist/effect/LiveStore.d.ts.map +1 -1
  4. package/dist/effect/LiveStore.js +1 -1
  5. package/dist/effect/LiveStore.js.map +1 -1
  6. package/dist/index.d.ts +5 -4
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +4 -3
  9. package/dist/index.js.map +1 -1
  10. package/dist/reactiveQueries/base-class.d.ts +4 -3
  11. package/dist/reactiveQueries/base-class.d.ts.map +1 -1
  12. package/dist/reactiveQueries/base-class.js.map +1 -1
  13. package/dist/reactiveQueries/{js.d.ts → computed.d.ts} +3 -3
  14. package/dist/reactiveQueries/computed.d.ts.map +1 -0
  15. package/dist/reactiveQueries/{js.js → computed.js} +3 -3
  16. package/dist/reactiveQueries/computed.js.map +1 -0
  17. package/dist/reactiveQueries/graphql.d.ts +2 -1
  18. package/dist/reactiveQueries/graphql.d.ts.map +1 -1
  19. package/dist/reactiveQueries/graphql.js.map +1 -1
  20. package/dist/reactiveQueries/sql.d.ts +1 -1
  21. package/dist/reactiveQueries/sql.d.ts.map +1 -1
  22. package/dist/reactiveQueries/sql.js +1 -1
  23. package/dist/reactiveQueries/sql.js.map +1 -1
  24. package/dist/row-query.js +1 -1
  25. package/dist/row-query.js.map +1 -1
  26. package/dist/store/create-store.d.ts +28 -0
  27. package/dist/store/create-store.d.ts.map +1 -0
  28. package/dist/store/create-store.js +149 -0
  29. package/dist/store/create-store.js.map +1 -0
  30. package/dist/{store-devtools.d.ts → store/devtools.d.ts} +4 -4
  31. package/dist/store/devtools.d.ts.map +1 -0
  32. package/dist/{store-devtools.js → store/devtools.js} +3 -3
  33. package/dist/store/devtools.js.map +1 -0
  34. package/dist/store/store-types.d.ts +101 -0
  35. package/dist/store/store-types.d.ts.map +1 -0
  36. package/dist/{store-context.js → store/store-types.js} +1 -1
  37. package/dist/store/store-types.js.map +1 -0
  38. package/dist/store/store.d.ts +88 -0
  39. package/dist/store/store.d.ts.map +1 -0
  40. package/dist/{store.js → store/store.js} +13 -155
  41. package/dist/store/store.js.map +1 -0
  42. package/dist/utils/dev.d.ts +1 -0
  43. package/dist/utils/dev.d.ts.map +1 -1
  44. package/dist/utils/dev.js +5 -0
  45. package/dist/utils/dev.js.map +1 -1
  46. package/package.json +6 -5
  47. package/src/ambient.d.ts +3 -1
  48. package/src/effect/LiveStore.ts +2 -3
  49. package/src/index.ts +5 -5
  50. package/src/reactiveQueries/base-class.ts +4 -3
  51. package/src/reactiveQueries/{js.ts → computed.ts} +3 -3
  52. package/src/reactiveQueries/graphql.ts +2 -1
  53. package/src/reactiveQueries/sql.ts +2 -2
  54. package/src/row-query.ts +2 -2
  55. package/src/store/create-store.ts +296 -0
  56. package/src/{store-devtools.ts → store/devtools.ts} +5 -5
  57. package/src/store/store-types.ts +111 -0
  58. package/src/{store.ts → store/store.ts} +18 -385
  59. package/src/utils/dev.ts +6 -0
  60. package/dist/reactiveQueries/js.d.ts.map +0 -1
  61. package/dist/reactiveQueries/js.js.map +0 -1
  62. package/dist/store-context.d.ts +0 -26
  63. package/dist/store-context.d.ts.map +0 -1
  64. package/dist/store-context.js.map +0 -1
  65. package/dist/store-devtools.d.ts.map +0 -1
  66. package/dist/store-devtools.js.map +0 -1
  67. package/dist/store.d.ts +0 -175
  68. package/dist/store.d.ts.map +0 -1
  69. package/dist/store.js.map +0 -1
  70. package/src/store-context.ts +0 -23
@@ -1,8 +1,8 @@
1
1
  import { Devtools, liveStoreVersion, UnexpectedError } from '@livestore/common';
2
2
  import { throttle } from '@livestore/utils';
3
3
  import { Effect, Stream } from '@livestore/utils/effect';
4
- import { NOT_REFRESHED_YET } from './reactive.js';
5
- import { emptyDebugInfo as makeEmptyDebugInfo } from './SynchronousDatabaseWrapper.js';
4
+ import { NOT_REFRESHED_YET } from '../reactive.js';
5
+ import { emptyDebugInfo as makeEmptyDebugInfo } from '../SynchronousDatabaseWrapper.js';
6
6
  export const connectDevtoolsToStore = ({ storeDevtoolsChannel, store, }) => Effect.gen(function* () {
7
7
  const appHostId = store.clientSession.coordinator.devtools.appHostId;
8
8
  const reactivityGraphSubcriptions = new Map();
@@ -138,4 +138,4 @@ export const connectDevtoolsToStore = ({ storeDevtoolsChannel, store, }) => Effe
138
138
  };
139
139
  yield* storeDevtoolsChannel.listen.pipe(Stream.flatten(), Stream.tapSync((message) => onMessage(message)), Stream.runDrain, Effect.withSpan('LSD.devtools.onMessage'));
140
140
  }).pipe(UnexpectedError.mapToUnexpectedError, Effect.withSpan('LSD.devtools.connectStoreToDevtools'));
141
- //# sourceMappingURL=store-devtools.js.map
141
+ //# sourceMappingURL=devtools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devtools.js","sourceRoot":"","sources":["../../src/store/devtools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,101 @@
1
+ import type { ClientSession, EventId, IntentionalShutdownCause, UnexpectedError } from '@livestore/common';
2
+ import type { LiveStoreSchema, MutationEvent } from '@livestore/common/schema';
3
+ import type { FiberSet, MutableHashMap, Runtime, Scope } from '@livestore/utils/effect';
4
+ import { Schema } from '@livestore/utils/effect';
5
+ import type * as otel from '@opentelemetry/api';
6
+ import type { GraphQLSchema } from 'graphql';
7
+ import type { DebugRefreshReasonBase } from '../reactive.js';
8
+ import type { ReactivityGraph } from '../reactiveQueries/base-class.js';
9
+ import type { SynchronousDatabaseWrapper } from '../SynchronousDatabaseWrapper.js';
10
+ import type { StackInfo } from '../utils/stack-info.js';
11
+ import type { Store } from './store.js';
12
+ export type LiveStoreContext = LiveStoreContextRunning | {
13
+ stage: 'error';
14
+ error: UnexpectedError | unknown;
15
+ } | {
16
+ stage: 'shutdown';
17
+ cause: IntentionalShutdownCause | StoreAbort;
18
+ };
19
+ declare const StoreAbort_base: Schema.TaggedErrorClass<StoreAbort, "LiveStore.StoreAbort", {
20
+ readonly _tag: Schema.tag<"LiveStore.StoreAbort">;
21
+ }>;
22
+ export declare class StoreAbort extends StoreAbort_base {
23
+ }
24
+ declare const StoreInterrupted_base: Schema.TaggedErrorClass<StoreInterrupted, "LiveStore.StoreInterrupted", {
25
+ readonly _tag: Schema.tag<"LiveStore.StoreInterrupted">;
26
+ }>;
27
+ export declare class StoreInterrupted extends StoreInterrupted_base {
28
+ }
29
+ export type LiveStoreContextRunning = {
30
+ stage: 'running';
31
+ store: Store;
32
+ };
33
+ export type BaseGraphQLContext = {
34
+ queriedTables: Set<string>;
35
+ /** Needed by Pothos Otel plugin for resolver tracing to work */
36
+ otelContext?: otel.Context;
37
+ };
38
+ export type GraphQLOptions<TContext> = {
39
+ schema: GraphQLSchema;
40
+ makeContext: (db: SynchronousDatabaseWrapper, tracer: otel.Tracer, sessionId: string) => TContext;
41
+ };
42
+ export type OtelOptions = {
43
+ tracer: otel.Tracer;
44
+ rootSpanContext: otel.Context;
45
+ };
46
+ export type StoreOptions<TGraphQLContext extends BaseGraphQLContext, TSchema extends LiveStoreSchema = LiveStoreSchema> = {
47
+ clientSession: ClientSession;
48
+ schema: TSchema;
49
+ storeId: string;
50
+ graphQLOptions?: GraphQLOptions<TGraphQLContext>;
51
+ otelOptions: OtelOptions;
52
+ reactivityGraph: ReactivityGraph;
53
+ disableDevtools?: boolean;
54
+ fiberSet: FiberSet.FiberSet;
55
+ runtime: Runtime.Runtime<Scope.Scope>;
56
+ batchUpdates: (runUpdates: () => void) => void;
57
+ currentMutationEventIdRef: {
58
+ current: EventId;
59
+ };
60
+ unsyncedMutationEvents: MutableHashMap.MutableHashMap<EventId, MutationEvent.ForSchema<TSchema>>;
61
+ };
62
+ export type RefreshReason = DebugRefreshReasonBase | {
63
+ _tag: 'mutate';
64
+ /** The mutations that were applied */
65
+ mutations: ReadonlyArray<MutationEvent.Any>;
66
+ /** The tables that were written to by the event */
67
+ writeTables: ReadonlyArray<string>;
68
+ } | {
69
+ _tag: 'react';
70
+ api: string;
71
+ label?: string;
72
+ stackInfo?: StackInfo;
73
+ } | {
74
+ _tag: 'manual';
75
+ label?: string;
76
+ };
77
+ export type QueryDebugInfo = {
78
+ _tag: 'graphql' | 'sql' | 'computed' | 'unknown';
79
+ label: string;
80
+ query: string;
81
+ durationMs: number;
82
+ };
83
+ export type StoreOtel = {
84
+ tracer: otel.Tracer;
85
+ mutationsSpanContext: otel.Context;
86
+ queriesSpanContext: otel.Context;
87
+ };
88
+ export type StoreMutateOptions = {
89
+ label?: string;
90
+ skipRefresh?: boolean;
91
+ wasSyncMessage?: boolean;
92
+ /**
93
+ * When set to `false` the mutation won't be persisted in the mutation log and sync server (but still synced).
94
+ * This can be useful e.g. for fine-granular update events (e.g. position updates during drag & drop)
95
+ *
96
+ * @default true
97
+ */
98
+ persisted?: boolean;
99
+ };
100
+ export {};
101
+ //# sourceMappingURL=store-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store-types.d.ts","sourceRoot":"","sources":["../../src/store/store-types.ts"],"names":[],"mappings":"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"}
@@ -3,4 +3,4 @@ export class StoreAbort extends Schema.TaggedError()('LiveStore.StoreAbort', {})
3
3
  }
4
4
  export class StoreInterrupted extends Schema.TaggedError()('LiveStore.StoreInterrupted', {}) {
5
5
  }
6
- //# sourceMappingURL=store-context.js.map
6
+ //# sourceMappingURL=store-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store-types.js","sourceRoot":"","sources":["../../src/store/store-types.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAqBhD,MAAM,OAAO,UAAW,SAAQ,MAAM,CAAC,WAAW,EAAc,CAAC,sBAAsB,EAAE,EAAE,CAAC;CAAG;AAC/F,MAAM,OAAO,gBAAiB,SAAQ,MAAM,CAAC,WAAW,EAAoB,CAAC,4BAA4B,EAAE,EAAE,CAAC;CAAG"}
@@ -0,0 +1,88 @@
1
+ import type { ClientSession, ParamsObject } from '@livestore/common';
2
+ import type { LiveStoreSchema, MutationEvent } from '@livestore/common/schema';
3
+ import { Inspectable } from '@livestore/utils/effect';
4
+ import * as otel from '@opentelemetry/api';
5
+ import type { GraphQLSchema } from 'graphql';
6
+ import type { Ref } from '../reactive.js';
7
+ import type { LiveQuery, QueryContext, ReactivityGraph } from '../reactiveQueries/base-class.js';
8
+ import { SynchronousDatabaseWrapper } from '../SynchronousDatabaseWrapper.js';
9
+ import { ReferenceCountedSet } from '../utils/data-structures.js';
10
+ import type { BaseGraphQLContext, RefreshReason, StoreMutateOptions, StoreOptions, StoreOtel } from './store-types.js';
11
+ export declare class Store<TGraphQLContext extends BaseGraphQLContext = BaseGraphQLContext, TSchema extends LiveStoreSchema = LiveStoreSchema> extends Inspectable.Class {
12
+ readonly storeId: string;
13
+ reactivityGraph: ReactivityGraph;
14
+ syncDbWrapper: SynchronousDatabaseWrapper;
15
+ clientSession: ClientSession;
16
+ schema: LiveStoreSchema;
17
+ graphQLSchema?: GraphQLSchema;
18
+ graphQLContext?: TGraphQLContext;
19
+ otel: StoreOtel;
20
+ /**
21
+ * Note we're using `Ref<null>` here as we don't care about the value but only about *that* something has changed.
22
+ * This only works in combination with `equal: () => false` which will always trigger a refresh.
23
+ */
24
+ tableRefs: {
25
+ [key: string]: Ref<null, QueryContext, RefreshReason>;
26
+ };
27
+ private fiberSet;
28
+ private runtime;
29
+ /** RC-based set to see which queries are currently subscribed to */
30
+ activeQueries: ReferenceCountedSet<LiveQuery<any>>;
31
+ readonly __mutationEventSchema: import("@livestore/common/schema").MutationEventSchema<TSchema["_MutationDefMapType"]>;
32
+ private currentMutationEventIdRef;
33
+ private unsyncedMutationEvents;
34
+ private constructor();
35
+ static createStore: <TGraphQLContext_1 extends BaseGraphQLContext, TSchema_1 extends LiveStoreSchema = LiveStoreSchema>(storeOptions: StoreOptions<TGraphQLContext_1, TSchema_1>, parentSpan: otel.Span) => Store<TGraphQLContext_1, TSchema_1>;
36
+ get sessionId(): string;
37
+ /**
38
+ * Subscribe to the results of a query
39
+ * Returns a function to cancel the subscription.
40
+ */
41
+ subscribe: <TResult>(query$: LiveQuery<TResult, any>, onNewValue: (value: TResult) => void, onUnsubsubscribe?: () => void, options?: {
42
+ label?: string;
43
+ otelContext?: otel.Context;
44
+ skipInitialRun?: boolean;
45
+ } | undefined) => (() => void);
46
+ mutate: {
47
+ <const TMutationArg extends ReadonlyArray<MutationEvent.PartialForSchema<TSchema>>>(...list: TMutationArg): void;
48
+ (txn: <const TMutationArg extends ReadonlyArray<MutationEvent.PartialForSchema<TSchema>>>(...list: TMutationArg) => void): void;
49
+ <const TMutationArg extends ReadonlyArray<MutationEvent.PartialForSchema<TSchema>>>(options: StoreMutateOptions, ...list: TMutationArg): void;
50
+ (options: StoreMutateOptions, txn: <const TMutationArg extends ReadonlyArray<MutationEvent.PartialForSchema<TSchema>>>(...list: TMutationArg) => void): void;
51
+ };
52
+ /**
53
+ * This can be used in combination with `skipRefresh` when applying mutations.
54
+ * We might need a better solution for this. Let's see.
55
+ */
56
+ manualRefresh: (options?: {
57
+ label?: string;
58
+ }) => void;
59
+ /**
60
+ * Apply a mutation to the store.
61
+ * Returns the tables that were affected by the event.
62
+ * This is an internal method that doesn't trigger a refresh;
63
+ * the caller must refresh queries after calling this method.
64
+ */
65
+ mutateWithoutRefresh: (mutationEventDecoded_: MutationEvent.ForSchema<TSchema> | MutationEvent.PartialForSchema<TSchema>, options: {
66
+ otelContext: otel.Context;
67
+ coordinatorMode: "default" | "skip-coordinator" | "skip-persist";
68
+ }) => {
69
+ writeTables: ReadonlySet<string>;
70
+ durationMs: number;
71
+ };
72
+ /**
73
+ * Directly execute a SQL query on the Store.
74
+ * This should only be used for framework-internal purposes;
75
+ * all app writes should go through mutate.
76
+ */
77
+ __execute: (query: string, params?: ParamsObject, writeTables?: ReadonlySet<string>, otelContext?: otel.Context) => void;
78
+ __select: (query: string, params?: ParamsObject) => readonly any[];
79
+ private makeTableRef;
80
+ __devDownloadDb: () => void;
81
+ __devDownloadMutationLogDb: () => import("effect/Fiber").RuntimeFiber<import("effect/Fiber").RuntimeFiber<void, import("@livestore/common").UnexpectedError>, never>;
82
+ toJSON: () => {
83
+ _tag: string;
84
+ reactivityGraph: import("../reactive.js").ReactiveGraphSnapshot;
85
+ };
86
+ private runEffectFork;
87
+ }
88
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,14 @@
1
- import { getExecArgsFromMutation, prepareBindValues, replaceSessionIdSymbol, UnexpectedError } from '@livestore/common';
1
+ import { getExecArgsFromMutation, prepareBindValues, replaceSessionIdSymbol } from '@livestore/common';
2
2
  import { isPartialMutationEvent, makeMutationEventSchemaMemo, SCHEMA_META_TABLE, SCHEMA_MUTATIONS_META_TABLE, SESSION_CHANGESET_META_TABLE, } from '@livestore/common/schema';
3
- import { assertNever, makeNoopTracer, shouldNeverHappen } from '@livestore/utils';
4
- import { Cause, Data, Deferred, Duration, Effect, Exit, FiberSet, Inspectable, Layer, Logger, LogLevel, MutableHashMap, OtelTracer, Queue, Runtime, Schema, Scope, Stream, } from '@livestore/utils/effect';
3
+ import { assertNever, shouldNeverHappen } from '@livestore/utils';
4
+ import { Data, Effect, FiberSet, Inspectable, MutableHashMap, Runtime, Schema, Stream } from '@livestore/utils/effect';
5
5
  import * as otel from '@opentelemetry/api';
6
- import { globalReactivityGraph } from './global-state.js';
7
- import { connectDevtoolsToStore } from './store-devtools.js';
8
- import { SynchronousDatabaseWrapper } from './SynchronousDatabaseWrapper.js';
9
- import { ReferenceCountedSet } from './utils/data-structures.js';
10
- import { downloadBlob } from './utils/dev.js';
11
- import { getDurationMsFromSpan } from './utils/otel.js';
12
- // eslint-disable-next-line unicorn/prefer-global-this
13
- if (import.meta.env.DEV && typeof window !== 'undefined') {
14
- // eslint-disable-next-line unicorn/prefer-global-this
15
- window.__debugDownloadBlob = downloadBlob;
6
+ import { SynchronousDatabaseWrapper } from '../SynchronousDatabaseWrapper.js';
7
+ import { ReferenceCountedSet } from '../utils/data-structures.js';
8
+ import { downloadBlob, exposeDebugUtils } from '../utils/dev.js';
9
+ import { getDurationMsFromSpan } from '../utils/otel.js';
10
+ if (import.meta.env.DEV) {
11
+ exposeDebugUtils();
16
12
  }
17
13
  export class Store extends Inspectable.Class {
18
14
  storeId;
@@ -258,6 +254,7 @@ export class Store extends Inspectable.Class {
258
254
  }
259
255
  return res;
260
256
  };
257
+ // #endregion mutate
261
258
  /**
262
259
  * This can be used in combination with `skipRefresh` when applying mutations.
263
260
  * We might need a better solution for this. Let's see.
@@ -270,6 +267,7 @@ export class Store extends Inspectable.Class {
270
267
  span.end();
271
268
  });
272
269
  };
270
+ // #region mutateWithoutRefresh
273
271
  /**
274
272
  * Apply a mutation to the store.
275
273
  * Returns the tables that were affected by the event.
@@ -331,7 +329,7 @@ export class Store extends Inspectable.Class {
331
329
  return { writeTables: allWriteTables, durationMs: durationMsTotal };
332
330
  });
333
331
  };
334
- // #endregion mutate
332
+ // #endregion mutateWithoutRefresh
335
333
  /**
336
334
  * Directly execute a SQL query on the Store.
337
335
  * This should only be used for framework-internal purposes;
@@ -360,150 +358,10 @@ export class Store extends Inspectable.Class {
360
358
  // NOTE This is needed because when booting a Store via Effect it seems to call `toJSON` in the error path
361
359
  toJSON = () => {
362
360
  return {
363
- _tag: 'Store',
361
+ _tag: 'livestore.Store',
364
362
  reactivityGraph: this.reactivityGraph.getSnapshot({ includeResults: true }),
365
363
  };
366
364
  };
367
365
  runEffectFork = (effect) => effect.pipe(Effect.tapCauseLogPretty, FiberSet.run(this.fiberSet), Runtime.runFork(this.runtime));
368
366
  }
369
- /** Create a new LiveStore Store */
370
- export const createStorePromise = async ({ signal, ...options }) => Effect.gen(function* () {
371
- const scope = yield* Scope.make();
372
- const runtime = yield* Effect.runtime();
373
- if (signal !== undefined) {
374
- signal.addEventListener('abort', () => {
375
- Scope.close(scope, Exit.void).pipe(Effect.tapCauseLogPretty, Runtime.runFork(runtime));
376
- });
377
- }
378
- return yield* FiberSet.make().pipe(Effect.andThen((fiberSet) => createStore({ ...options, fiberSet })), Scope.extend(scope));
379
- }).pipe(Effect.withSpan('createStore'), Effect.tapCauseLogPretty, Effect.annotateLogs({ thread: 'window' }), Effect.provide(Logger.pretty), Logger.withMinimumLogLevel(LogLevel.Debug), Effect.runPromise);
380
- // #region createStore
381
- export const createStore = ({ schema, adapter, storeId, graphQLOptions, otelOptions, boot, reactivityGraph = globalReactivityGraph, batchUpdates, disableDevtools, onBootStatus, fiberSet, }) => {
382
- const otelTracer = otelOptions?.tracer ?? makeNoopTracer();
383
- const otelRootSpanContext = otelOptions?.rootSpanContext ?? otel.context.active();
384
- const TracingLive = Layer.unwrapEffect(Effect.map(OtelTracer.make, Layer.setTracer)).pipe(Layer.provide(Layer.sync(OtelTracer.Tracer, () => otelTracer)));
385
- return Effect.gen(function* () {
386
- const span = yield* OtelTracer.currentOtelSpan.pipe(Effect.orDie);
387
- const bootStatusQueue = yield* Queue.unbounded().pipe(Effect.acquireRelease(Queue.shutdown));
388
- yield* Queue.take(bootStatusQueue).pipe(Effect.tapSync((status) => onBootStatus?.(status)), Effect.tap((status) => (status.stage === 'done' ? Queue.shutdown(bootStatusQueue) : Effect.void)), Effect.forever, Effect.tapCauseLogPretty, Effect.forkScoped);
389
- const storeDeferred = yield* Deferred.make();
390
- const connectDevtoolsToStore_ = (storeDevtoolsChannel) => Effect.gen(function* () {
391
- const store = yield* Deferred.await(storeDeferred);
392
- yield* connectDevtoolsToStore({ storeDevtoolsChannel, store });
393
- });
394
- const runtime = yield* Effect.runtime();
395
- const runEffectFork = (effect) => effect.pipe(Effect.tapCauseLogPretty, FiberSet.run(fiberSet), Runtime.runFork(runtime));
396
- // TODO close parent scope? (Needs refactor with Mike A)
397
- const shutdown = (cause) => Effect.gen(function* () {
398
- // NOTE we're calling `cause.toString()` here to avoid triggering a `console.error` in the grouped log
399
- const logCause = Cause.isFailType(cause) && cause.error._tag === 'LiveStore.IntentionalShutdownCause'
400
- ? cause.toString()
401
- : cause;
402
- yield* Effect.logDebug(`Shutting down LiveStore`, logCause);
403
- FiberSet.clear(fiberSet).pipe(Effect.andThen(() => FiberSet.run(fiberSet, Effect.failCause(cause))), Effect.timeout(Duration.seconds(1)), Effect.logWarnIfTakesLongerThan({ label: '@livestore/livestore:shutdown:clear-fiber-set', duration: 500 }), Effect.catchTag('TimeoutException', (err) => Effect.logError('Store shutdown timed out. Forcing shutdown.', err).pipe(Effect.andThen(FiberSet.run(fiberSet, Effect.failCause(cause))))), Runtime.runFork(runtime));
404
- }).pipe(Effect.withSpan('livestore:shutdown'));
405
- const clientSession = yield* adapter({
406
- schema,
407
- storeId,
408
- devtoolsEnabled: disableDevtools !== true,
409
- bootStatusQueue,
410
- shutdown,
411
- connectDevtoolsToStore: connectDevtoolsToStore_,
412
- }).pipe(Effect.withPerformanceMeasure('livestore:makeAdapter'), Effect.withSpan('createStore:makeAdapter'));
413
- const mutationEventSchema = makeMutationEventSchemaMemo(schema);
414
- // TODO get rid of this
415
- // const __processedMutationIds = new Set<number>()
416
- const currentMutationEventIdRef = { current: yield* clientSession.coordinator.getCurrentMutationEventId };
417
- // TODO fill up with unsynced mutation events from the coordinator
418
- const unsyncedMutationEvents = MutableHashMap.empty();
419
- // TODO consider moving booting into the storage backend
420
- if (boot !== undefined) {
421
- let isInTxn = false;
422
- let txnExecuteStmnts = [];
423
- const bootDbImpl = {
424
- _tag: 'BootDb',
425
- execute: (queryStr, bindValues) => {
426
- const stmt = clientSession.syncDb.prepare(queryStr);
427
- stmt.execute(bindValues);
428
- if (isInTxn === true) {
429
- txnExecuteStmnts.push([queryStr, bindValues]);
430
- }
431
- else {
432
- clientSession.coordinator.execute(queryStr, bindValues).pipe(runEffectFork);
433
- }
434
- },
435
- mutate: (...list) => {
436
- for (const mutationEventDecoded_ of list) {
437
- const mutationDef = schema.mutations.get(mutationEventDecoded_.mutation) ??
438
- shouldNeverHappen(`Unknown mutation type: ${mutationEventDecoded_.mutation}`);
439
- const { id, parentId } = clientSession.coordinator
440
- .nextMutationEventIdPair({ localOnly: mutationDef.options.localOnly })
441
- .pipe(Effect.runSync);
442
- currentMutationEventIdRef.current = id;
443
- const mutationEventDecoded = { ...mutationEventDecoded_, id, parentId };
444
- replaceSessionIdSymbol(mutationEventDecoded.args, clientSession.coordinator.sessionId);
445
- MutableHashMap.set(unsyncedMutationEvents, Data.struct(mutationEventDecoded.id), mutationEventDecoded);
446
- // __processedMutationIds.add(mutationEventDecoded.id.global)
447
- const execArgsArr = getExecArgsFromMutation({ mutationDef, mutationEventDecoded });
448
- // const { bindValues, statementSql } = getExecArgsFromMutation({ mutationDef, mutationEventDecoded })
449
- for (const { statementSql, bindValues } of execArgsArr) {
450
- clientSession.syncDb.execute(statementSql, bindValues);
451
- }
452
- const mutationEventEncoded = Schema.encodeUnknownSync(mutationEventSchema)(mutationEventDecoded);
453
- clientSession.coordinator
454
- .mutate(mutationEventEncoded, { persisted: true })
455
- .pipe(runEffectFork);
456
- }
457
- },
458
- select: (queryStr, bindValues) => {
459
- const stmt = clientSession.syncDb.prepare(queryStr);
460
- return stmt.select(bindValues);
461
- },
462
- txn: (callback) => {
463
- try {
464
- isInTxn = true;
465
- // clientSession.syncDb.execute('BEGIN TRANSACTION', undefined)
466
- callback();
467
- // clientSession.syncDb.execute('COMMIT', undefined)
468
- // clientSession.coordinator.execute('BEGIN', undefined, undefined)
469
- for (const [queryStr, bindValues] of txnExecuteStmnts) {
470
- clientSession.coordinator.execute(queryStr, bindValues).pipe(runEffectFork);
471
- }
472
- // clientSession.coordinator.execute('COMMIT', undefined, undefined)
473
- }
474
- catch (e) {
475
- // clientSession.syncDb.execute('ROLLBACK', undefined)
476
- throw e;
477
- }
478
- finally {
479
- isInTxn = false;
480
- txnExecuteStmnts = [];
481
- }
482
- },
483
- };
484
- yield* Effect.tryAll(() => boot(bootDbImpl, span)).pipe(UnexpectedError.mapToUnexpectedError, Effect.withSpan('createStore:boot'));
485
- }
486
- const store = Store.createStore({
487
- clientSession,
488
- schema,
489
- graphQLOptions,
490
- otelOptions: { tracer: otelTracer, rootSpanContext: otelRootSpanContext },
491
- reactivityGraph,
492
- disableDevtools,
493
- currentMutationEventIdRef,
494
- unsyncedMutationEvents,
495
- fiberSet,
496
- runtime,
497
- batchUpdates: batchUpdates ?? ((run) => run()),
498
- storeId,
499
- }, span);
500
- yield* Deferred.succeed(storeDeferred, store);
501
- return store;
502
- }).pipe(Effect.withSpan('createStore', {
503
- parent: otelOptions?.rootSpanContext
504
- ? OtelTracer.makeExternalSpan(otel.trace.getSpanContext(otelOptions.rootSpanContext))
505
- : undefined,
506
- }), Effect.provide(TracingLive));
507
- };
508
- // #endregion createStore
509
367
  //# sourceMappingURL=store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  export declare const downloadBlob: (data: Uint8Array | Blob | string, fileName: string, mimeType?: string) => void;
2
2
  export declare const downloadURL: (data: string, fileName: string) => void;
3
+ export declare const exposeDebugUtils: () => void;
3
4
  //# sourceMappingURL=dev.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/utils/dev.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,YAAY,SACjB,UAAU,GAAG,IAAI,GAAG,MAAM,YACtB,MAAM,4BAUjB,CAAA;AAED,eAAO,MAAM,WAAW,SAAU,MAAM,YAAY,MAAM,SAQzD,CAAA"}
1
+ {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/utils/dev.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,YAAY,SACjB,UAAU,GAAG,IAAI,GAAG,MAAM,YACtB,MAAM,4BAUjB,CAAA;AAED,eAAO,MAAM,WAAW,SAAU,MAAM,YAAY,MAAM,SAQzD,CAAA;AAED,eAAO,MAAM,gBAAgB,YAI5B,CAAA"}
package/dist/utils/dev.js CHANGED
@@ -14,4 +14,9 @@ export const downloadURL = (data, fileName) => {
14
14
  a.click();
15
15
  a.remove();
16
16
  };
17
+ export const exposeDebugUtils = () => {
18
+ if (import.meta.env.DEV) {
19
+ globalThis.__debugDownloadBlob = downloadBlob;
20
+ }
21
+ };
17
22
  //# sourceMappingURL=dev.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/utils/dev.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,IAAgC,EAChC,QAAgB,EAChB,QAAQ,GAAG,0BAA0B,EACrC,EAAE;IACF,MAAM,IAAI,GAAG,IAAI,YAAY,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;IAE/E,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;IAE5C,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;IAE1B,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAA;AACzD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,QAAgB,EAAE,EAAE;IAC5D,MAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;IACrC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAA;IACb,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAA;IACrB,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IACvB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAA;IACxB,CAAC,CAAC,KAAK,EAAE,CAAA;IACT,CAAC,CAAC,MAAM,EAAE,CAAA;AACZ,CAAC,CAAA"}
1
+ {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/utils/dev.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,IAAgC,EAChC,QAAgB,EAChB,QAAQ,GAAG,0BAA0B,EACrC,EAAE;IACF,MAAM,IAAI,GAAG,IAAI,YAAY,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;IAE/E,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;IAE5C,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;IAE1B,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAA;AACzD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,QAAgB,EAAE,EAAE;IAC5D,MAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;IACrC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAA;IACb,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAA;IACrB,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IACvB,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAA;IACxB,CAAC,CAAC,KAAK,EAAE,CAAA;IACT,CAAC,CAAC,MAAM,EAAE,CAAA;AACZ,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QACxB,UAAU,CAAC,mBAAmB,GAAG,YAAY,CAAA;IAC/C,CAAC;AACH,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "@livestore/livestore",
3
- "version": "0.0.0-snapshot-df546e17f0470b8f4f9bd33aad8c4fca65ec6355",
3
+ "version": "0.0.0-snapshot-3b921bf0919e38fd218b5ef2926920c8c4806157",
4
4
  "type": "module",
5
+ "sideEffects": false,
5
6
  "exports": {
6
7
  ".": {
7
8
  "types": "./dist/index.d.ts",
@@ -30,9 +31,9 @@
30
31
  "dependencies": {
31
32
  "@graphql-typed-document-node/core": "^3.2.0",
32
33
  "@opentelemetry/api": "^1.9.0",
33
- "@livestore/common": "0.0.0-snapshot-df546e17f0470b8f4f9bd33aad8c4fca65ec6355",
34
- "@livestore/utils": "0.0.0-snapshot-df546e17f0470b8f4f9bd33aad8c4fca65ec6355",
35
- "@livestore/db-schema": "0.0.0-snapshot-df546e17f0470b8f4f9bd33aad8c4fca65ec6355"
34
+ "@livestore/common": "0.0.0-snapshot-3b921bf0919e38fd218b5ef2926920c8c4806157",
35
+ "@livestore/utils": "0.0.0-snapshot-3b921bf0919e38fd218b5ef2926920c8c4806157",
36
+ "@livestore/db-schema": "0.0.0-snapshot-3b921bf0919e38fd218b5ef2926920c8c4806157"
36
37
  },
37
38
  "devDependencies": {
38
39
  "@opentelemetry/sdk-trace-base": "1.27.0",
@@ -40,7 +41,7 @@
40
41
  "typescript": "5.6.3",
41
42
  "vite": "5.4.10",
42
43
  "vitest": "^2.1.4",
43
- "@livestore/web": "0.0.0-snapshot-df546e17f0470b8f4f9bd33aad8c4fca65ec6355"
44
+ "@livestore/web": "0.0.0-snapshot-3b921bf0919e38fd218b5ef2926920c8c4806157"
44
45
  },
45
46
  "peerDependencies": {
46
47
  "graphql": "16.x"
package/src/ambient.d.ts CHANGED
@@ -1,9 +1,11 @@
1
+ /* eslint-disable no-var */
2
+
1
3
  interface Window {
2
4
  [key: `__debug${string}`]: any
3
5
  }
4
6
 
5
- // eslint-disable-next-line no-var
6
7
  var __debugLiveStore: any
8
+ var __debugDownloadBlob: any
7
9
 
8
10
  interface ImportMeta {
9
11
  readonly env: ImportMetaEnv
@@ -5,9 +5,8 @@ import { Context, Deferred, Duration, Effect, FiberSet, Layer, OtelTracer, pipe
5
5
  import * as otel from '@opentelemetry/api'
6
6
  import type { GraphQLSchema } from 'graphql'
7
7
 
8
- import type { BaseGraphQLContext } from '../store.js'
9
- import { createStore } from '../store.js'
10
- import type { LiveStoreContextRunning as LiveStoreContextRunning_ } from '../store-context.js'
8
+ import { createStore } from '../store/create-store.js'
9
+ import type { BaseGraphQLContext, LiveStoreContextRunning as LiveStoreContextRunning_ } from '../store/store-types.js'
11
10
  import type { SynchronousDatabaseWrapper } from '../SynchronousDatabaseWrapper.js'
12
11
 
13
12
  export type LiveStoreContextRunning = LiveStoreContextRunning_
package/src/index.ts CHANGED
@@ -1,15 +1,15 @@
1
- export { Store, createStorePromise, createStore } from './store.js'
1
+ export { Store } from './store/store.js'
2
+ export { createStore, createStorePromise, type CreateStoreOptions } from './store/create-store.js'
2
3
  export type {
3
4
  BaseGraphQLContext,
4
5
  QueryDebugInfo,
5
6
  RefreshReason,
6
- CreateStoreOptions,
7
7
  GraphQLOptions,
8
8
  OtelOptions,
9
- } from './store.js'
9
+ } from './store/store-types.js'
10
10
 
11
11
  export type { LiveStoreContextRunning } from './effect/LiveStore.js'
12
- export { StoreAbort, StoreInterrupted, type LiveStoreContext } from './store-context.js'
12
+ export { StoreAbort, StoreInterrupted, type LiveStoreContext } from './store/store-types.js'
13
13
 
14
14
  export { SynchronousDatabaseWrapper, emptyDebugInfo } from './SynchronousDatabaseWrapper.js'
15
15
 
@@ -25,7 +25,7 @@ export type {
25
25
  Ref,
26
26
  Effect,
27
27
  } from './reactive.js'
28
- export { LiveStoreJSQuery, computed } from './reactiveQueries/js.js'
28
+ export { LiveStoreJSQuery, computed } from './reactiveQueries/computed.js'
29
29
  export { LiveStoreSQLQuery, querySQL } from './reactiveQueries/sql.js'
30
30
  export { LiveStoreGraphQLQuery, queryGraphQL } from './reactiveQueries/graphql.js'
31
31
  export {