@livestore/livestore 0.4.0-dev.16 → 0.4.0-dev.18

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 (40) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/SqliteDbWrapper.test.js +2 -1
  3. package/dist/SqliteDbWrapper.test.js.map +1 -1
  4. package/dist/live-queries/client-document-get-query.js +3 -2
  5. package/dist/live-queries/client-document-get-query.js.map +1 -1
  6. package/dist/live-queries/db-query.d.ts.map +1 -1
  7. package/dist/live-queries/db-query.js +6 -4
  8. package/dist/live-queries/db-query.js.map +1 -1
  9. package/dist/live-queries/db-query.test.js +64 -4
  10. package/dist/live-queries/db-query.test.js.map +1 -1
  11. package/dist/mod.d.ts +1 -2
  12. package/dist/mod.d.ts.map +1 -1
  13. package/dist/mod.js +1 -1
  14. package/dist/mod.js.map +1 -1
  15. package/dist/store/create-store.d.ts.map +1 -1
  16. package/dist/store/create-store.js +3 -2
  17. package/dist/store/create-store.js.map +1 -1
  18. package/dist/store/devtools.d.ts +2 -13
  19. package/dist/store/devtools.d.ts.map +1 -1
  20. package/dist/store/devtools.js +34 -13
  21. package/dist/store/devtools.js.map +1 -1
  22. package/dist/store/store-types.d.ts +89 -4
  23. package/dist/store/store-types.d.ts.map +1 -1
  24. package/dist/store/store-types.js +1 -0
  25. package/dist/store/store-types.js.map +1 -1
  26. package/dist/store/store.d.ts +20 -26
  27. package/dist/store/store.d.ts.map +1 -1
  28. package/dist/store/store.js +129 -91
  29. package/dist/store/store.js.map +1 -1
  30. package/package.json +5 -5
  31. package/src/SqliteDbWrapper.test.ts +2 -2
  32. package/src/live-queries/__snapshots__/db-query.test.ts.snap +220 -0
  33. package/src/live-queries/client-document-get-query.ts +3 -3
  34. package/src/live-queries/db-query.test.ts +103 -6
  35. package/src/live-queries/db-query.ts +7 -4
  36. package/src/mod.ts +8 -8
  37. package/src/store/create-store.ts +3 -2
  38. package/src/store/devtools.ts +40 -26
  39. package/src/store/store-types.ts +107 -4
  40. package/src/store/store.ts +166 -123
@@ -10,17 +10,14 @@ import { queryDb } from "../live-queries/db-query.js";
10
10
  import { SqliteDbWrapper } from "../SqliteDbWrapper.js";
11
11
  import { ReferenceCountedSet } from "../utils/data-structures.js";
12
12
  import { downloadBlob, exposeDebugUtils } from "../utils/dev.js";
13
+ import { StoreInternalsSymbol, } from "./store-types.js";
13
14
  if (isDevEnv()) {
14
15
  exposeDebugUtils();
15
16
  }
16
17
  export class Store extends Inspectable.Class {
17
18
  storeId;
18
- reactivityGraph;
19
- sqliteDbWrapper;
20
- clientSession;
21
19
  schema;
22
20
  context;
23
- otel;
24
21
  /**
25
22
  * Reactive connectivity updates emitted by the backing sync backend.
26
23
  *
@@ -39,33 +36,21 @@ export class Store extends Inspectable.Class {
39
36
  * ```
40
37
  */
41
38
  networkStatus;
39
+ /** Tracks whether the store has been shut down is kept in internals */
40
+ /** RC-based set to see which queries are currently subscribed to */
42
41
  /**
43
- * Note we're using `Ref<null>` here as we don't care about the value but only about *that* something has changed.
44
- * This only works in combination with `equal: () => false` which will always trigger a refresh.
42
+ * Store internals. Shouldn't be used directly in application code.
45
43
  */
46
- tableRefs;
47
- /** Tracks whether the store has been shut down */
48
- isShutdown = false;
49
- effectContext;
50
- /** RC-based set to see which queries are currently subscribed to */
51
- activeQueries;
52
- // NOTE this is currently exposed for the Devtools databrowser to commit events
53
- __eventSchema;
54
- syncProcessor;
55
- boot;
44
+ [StoreInternalsSymbol];
56
45
  // #region constructor
57
46
  constructor({ clientSession, schema, otelOptions, context, batchUpdates, storeId, effectContext, params, confirmUnsavedChanges, __runningInDevtools, }) {
58
47
  super();
59
48
  this.storeId = storeId;
60
- this.sqliteDbWrapper = new SqliteDbWrapper({ otel: otelOptions, db: clientSession.sqliteDb });
61
- this.clientSession = clientSession;
62
49
  this.schema = schema;
63
50
  this.context = context;
64
- this.networkStatus = clientSession.leaderThread.networkStatus;
65
- this.effectContext = effectContext;
66
51
  const reactivityGraph = makeReactivityGraph();
67
52
  const syncSpan = otelOptions.tracer.startSpan('LiveStore:sync', {}, otelOptions.rootSpanContext);
68
- this.syncProcessor = makeClientSessionSyncProcessor({
53
+ const syncProcessor = makeClientSessionSyncProcessor({
69
54
  schema,
70
55
  clientSession,
71
56
  runtime: effectContext.runtime,
@@ -89,7 +74,7 @@ export class Store extends Inspectable.Class {
89
74
  const execArgsArr = getExecStatementsFromMaterializer({
90
75
  eventDef,
91
76
  materializer,
92
- dbState: this.sqliteDbWrapper,
77
+ dbState: this[StoreInternalsSymbol].sqliteDbWrapper,
93
78
  event: { decoded: undefined, encoded: eventEncoded },
94
79
  });
95
80
  const materializerHash = isDevEnv() ? Option.some(hashMaterializerResults(execArgsArr)) : Option.none();
@@ -106,9 +91,12 @@ export class Store extends Inspectable.Class {
106
91
  const otelContext = otel.trace.setSpan(otel.context.active(), span);
107
92
  const writeTablesForEvent = new Set();
108
93
  const exec = () => {
109
- for (const { statementSql, bindValues, writeTables = this.sqliteDbWrapper.getTablesUsed(statementSql), } of execArgsArr) {
94
+ for (const { statementSql, bindValues, writeTables = this[StoreInternalsSymbol].sqliteDbWrapper.getTablesUsed(statementSql), } of execArgsArr) {
110
95
  try {
111
- this.sqliteDbWrapper.cachedExecute(statementSql, bindValues, { otelContext, writeTables });
96
+ this[StoreInternalsSymbol].sqliteDbWrapper.cachedExecute(statementSql, bindValues, {
97
+ otelContext,
98
+ writeTables,
99
+ });
112
100
  }
113
101
  catch (cause) {
114
102
  // TOOD refactor with `SqliteError`
@@ -121,12 +109,12 @@ export class Store extends Inspectable.Class {
121
109
  for (const table of writeTables) {
122
110
  writeTablesForEvent.add(table);
123
111
  }
124
- this.sqliteDbWrapper.debug.head = eventEncoded.seqNum;
112
+ this[StoreInternalsSymbol].sqliteDbWrapper.debug.head = eventEncoded.seqNum;
125
113
  }
126
114
  };
127
115
  let sessionChangeset = { _tag: 'unset' };
128
116
  if (withChangeset === true) {
129
- sessionChangeset = this.sqliteDbWrapper.withChangeset(exec).changeset;
117
+ sessionChangeset = this[StoreInternalsSymbol].sqliteDbWrapper.withChangeset(exec).changeset;
130
118
  }
131
119
  else {
132
120
  exec();
@@ -134,12 +122,12 @@ export class Store extends Inspectable.Class {
134
122
  return { writeTables: writeTablesForEvent, sessionChangeset, materializerHash };
135
123
  }).pipe(Effect.mapError((cause) => MaterializeError.make({ cause })))),
136
124
  rollback: (changeset) => {
137
- this.sqliteDbWrapper.rollback(changeset);
125
+ this[StoreInternalsSymbol].sqliteDbWrapper.rollback(changeset);
138
126
  },
139
127
  refreshTables: (tables) => {
140
128
  const tablesToUpdate = [];
141
129
  for (const tableName of tables) {
142
- const tableRef = this.tableRefs[tableName];
130
+ const tableRef = this[StoreInternalsSymbol].tableRefs[tableName];
143
131
  assertNever(tableRef !== undefined, `No table ref found for ${tableName}`);
144
132
  tablesToUpdate.push([tableRef, null]);
145
133
  }
@@ -156,16 +144,14 @@ export class Store extends Inspectable.Class {
156
144
  },
157
145
  confirmUnsavedChanges,
158
146
  });
159
- this.__eventSchema = LiveStoreEvent.makeEventDefSchemaMemo(schema);
160
147
  // TODO generalize the `tableRefs` concept to allow finer-grained refs
161
- this.tableRefs = {};
162
- this.activeQueries = new ReferenceCountedSet();
148
+ const tableRefs = {};
149
+ const activeQueries = new ReferenceCountedSet();
163
150
  const commitsSpan = otelOptions.tracer.startSpan('LiveStore:commits', {}, otelOptions.rootSpanContext);
164
151
  const otelMuationsSpanContext = otel.trace.setSpan(otel.context.active(), commitsSpan);
165
152
  const queriesSpan = otelOptions.tracer.startSpan('LiveStore:queries', {}, otelOptions.rootSpanContext);
166
153
  const otelQueriesSpanContext = otel.trace.setSpan(otel.context.active(), queriesSpan);
167
- this.reactivityGraph = reactivityGraph;
168
- this.reactivityGraph.context = {
154
+ reactivityGraph.context = {
169
155
  store: this,
170
156
  defRcMap: new Map(),
171
157
  reactivityGraph: new WeakRef(reactivityGraph),
@@ -173,7 +159,7 @@ export class Store extends Inspectable.Class {
173
159
  rootOtelContext: otelQueriesSpanContext,
174
160
  effectsWrapper: batchUpdates,
175
161
  };
176
- this.otel = {
162
+ const otelObj = {
177
163
  tracer: otelOptions.tracer,
178
164
  rootSpanContext: otelOptions.rootSpanContext,
179
165
  commitsSpanContext: otelMuationsSpanContext,
@@ -186,24 +172,24 @@ export class Store extends Inspectable.Class {
186
172
  __runningInDevtools
187
173
  ? this.schema.state.sqlite.tables.keys()
188
174
  : Array.from(this.schema.state.sqlite.tables.keys()).filter((_) => !SystemTables.isStateSystemTable(_)));
189
- const existingTableRefs = new Map(Array.from(this.reactivityGraph.atoms.values())
175
+ const existingTableRefs = new Map(Array.from(reactivityGraph.atoms.values())
190
176
  .filter((_) => _._tag === 'ref' && _.label?.startsWith('tableRef:') === true)
191
177
  .map((_) => [_.label.slice('tableRef:'.length), _]));
192
178
  for (const tableName of allTableNames) {
193
- this.tableRefs[tableName] =
179
+ tableRefs[tableName] =
194
180
  existingTableRefs.get(tableName) ??
195
- this.reactivityGraph.makeRef(null, {
181
+ reactivityGraph.makeRef(null, {
196
182
  equal: () => false,
197
183
  label: `tableRef:${tableName}`,
198
184
  meta: { liveStoreRefType: 'table' },
199
185
  });
200
186
  }
201
- this.boot = Effect.gen(this, function* () {
187
+ const boot = Effect.gen(this, function* () {
202
188
  yield* Effect.addFinalizer(() => Effect.sync(() => {
203
189
  // Remove all table refs from the reactivity graph
204
- for (const tableRef of Object.values(this.tableRefs)) {
190
+ for (const tableRef of Object.values(tableRefs)) {
205
191
  for (const superComp of tableRef.super) {
206
- this.reactivityGraph.removeEdge(superComp, tableRef);
192
+ this[StoreInternalsSymbol].reactivityGraph.removeEdge(superComp, tableRef);
207
193
  }
208
194
  }
209
195
  // End the otel spans
@@ -211,18 +197,48 @@ export class Store extends Inspectable.Class {
211
197
  commitsSpan.end();
212
198
  queriesSpan.end();
213
199
  }));
214
- yield* this.syncProcessor.boot;
200
+ yield* syncProcessor.boot;
215
201
  });
202
+ // Build Sqlite wrapper last to avoid using getters before internals are set
203
+ const sqliteDbWrapper = new SqliteDbWrapper({ otel: otelOptions, db: clientSession.sqliteDb });
204
+ // Initialize internals bag
205
+ this[StoreInternalsSymbol] = {
206
+ eventSchema: LiveStoreEvent.makeEventDefSchemaMemo(schema),
207
+ clientSession,
208
+ sqliteDbWrapper,
209
+ effectContext,
210
+ otel: otelObj,
211
+ reactivityGraph,
212
+ tableRefs,
213
+ activeQueries,
214
+ syncProcessor,
215
+ boot,
216
+ isShutdown: false,
217
+ };
218
+ // Initialize stable network status property from client session
219
+ this.networkStatus = clientSession.leaderThread.networkStatus;
216
220
  }
217
221
  // #endregion constructor
222
+ /**
223
+ * Current session identifier for this Store instance.
224
+ *
225
+ * - Stable for the lifetime of the Store
226
+ * - Useful for correlating events or scoping per-session data
227
+ */
218
228
  get sessionId() {
219
- return this.clientSession.sessionId;
229
+ return this[StoreInternalsSymbol].clientSession.sessionId;
220
230
  }
231
+ /**
232
+ * Stable client identifier for the process/device using this Store.
233
+ *
234
+ * - Shared across Store instances created by the same client
235
+ * - Useful for diagnostics and multi-client correlation
236
+ */
221
237
  get clientId() {
222
- return this.clientSession.clientId;
238
+ return this[StoreInternalsSymbol].clientSession.clientId;
223
239
  }
224
240
  checkShutdown = (operation) => {
225
- if (this.isShutdown) {
241
+ if (this[StoreInternalsSymbol].isShutdown) {
226
242
  throw new UnexpectedError({
227
243
  cause: `Store has been shut down (while performing "${operation}").`,
228
244
  note: `You cannot perform this operation after the store has been shut down.`,
@@ -255,34 +271,52 @@ export class Store extends Inspectable.Class {
255
271
  });
256
272
  subscribeWithCallback = (query, onUpdate, options) => {
257
273
  this.checkShutdown('subscribe');
258
- return this.otel.tracer.startActiveSpan(`LiveStore.subscribe`, { attributes: { label: options?.label, queryLabel: isQueryBuilder(query) ? query.toString() : query.label } }, options?.otelContext ?? this.otel.queriesSpanContext, (span) => {
274
+ return this[StoreInternalsSymbol].otel.tracer.startActiveSpan(`LiveStore.subscribe`, { attributes: { label: options?.label, queryLabel: isQueryBuilder(query) ? query.toString() : query.label } }, options?.otelContext ?? this[StoreInternalsSymbol].otel.queriesSpanContext, (span) => {
259
275
  const otelContext = otel.trace.setSpan(otel.context.active(), span);
260
276
  const queryRcRef = isQueryBuilder(query)
261
- ? queryDb(query).make(this.reactivityGraph.context)
277
+ ? queryDb(query).make(this[StoreInternalsSymbol].reactivityGraph.context)
262
278
  : query._tag === 'def' || query._tag === 'signal-def'
263
- ? query.make(this.reactivityGraph.context)
279
+ ? query.make(this[StoreInternalsSymbol].reactivityGraph.context)
264
280
  : {
265
281
  value: query,
266
282
  deref: () => { },
267
283
  };
268
284
  const query$ = queryRcRef.value;
269
285
  const label = `subscribe:${options?.label}`;
270
- const effect = this.reactivityGraph.makeEffect((get, _otelContext, debugRefreshReason) => onUpdate(get(query$.results$, otelContext, debugRefreshReason)), { label });
271
- if (options?.stackInfo) {
272
- query$.activeSubscriptions.add(options.stackInfo);
273
- }
274
- options?.onSubscribe?.(query$);
275
- this.activeQueries.add(query$);
276
- if (options?.skipInitialRun !== true && !query$.isDestroyed) {
286
+ let suppressCallback = options?.skipInitialRun === true;
287
+ const effect = this[StoreInternalsSymbol].reactivityGraph.makeEffect((get, _otelContext, debugRefreshReason) => {
288
+ const result = get(query$.results$, otelContext, debugRefreshReason);
289
+ if (suppressCallback) {
290
+ return;
291
+ }
292
+ onUpdate(result);
293
+ }, { label });
294
+ const runInitialEffect = () => {
277
295
  effect.doEffect(otelContext, {
278
296
  _tag: 'subscribe.initial',
279
297
  label: `subscribe-initial-run:${options?.label}`,
280
298
  });
299
+ };
300
+ if (options?.stackInfo) {
301
+ query$.activeSubscriptions.add(options.stackInfo);
302
+ }
303
+ options?.onSubscribe?.(query$);
304
+ this[StoreInternalsSymbol].activeQueries.add(query$);
305
+ if (!query$.isDestroyed) {
306
+ if (suppressCallback) {
307
+ // We still run once to register dependencies in the reactive graph, but suppress the initial callback so the
308
+ // caller truly skips the first emission; subsequent runs (after commits) will call the callback.
309
+ runInitialEffect();
310
+ suppressCallback = false;
311
+ }
312
+ else {
313
+ runInitialEffect();
314
+ }
281
315
  }
282
316
  const unsubscribe = () => {
283
317
  try {
284
- this.reactivityGraph.destroyNode(effect);
285
- this.activeQueries.remove(query$);
318
+ this[StoreInternalsSymbol].reactivityGraph.destroyNode(effect);
319
+ this[StoreInternalsSymbol].activeQueries.remove(query$);
286
320
  if (options?.stackInfo) {
287
321
  query$.activeSubscriptions.delete(options.stackInfo);
288
322
  }
@@ -325,7 +359,7 @@ export class Store extends Inspectable.Class {
325
359
  query = (query, options) => {
326
360
  this.checkShutdown('query');
327
361
  if (typeof query === 'object' && 'query' in query && 'bindValues' in query) {
328
- const res = this.sqliteDbWrapper.cachedSelect(query.query, prepareBindValues(query.bindValues, query.query), {
362
+ const res = this[StoreInternalsSymbol].sqliteDbWrapper.cachedSelect(query.query, prepareBindValues(query.bindValues, query.query), {
329
363
  ...omitUndefineds({ otelContext: options?.otelContext }),
330
364
  });
331
365
  if (query.schema) {
@@ -341,15 +375,15 @@ export class Store extends Inspectable.Class {
341
375
  id: ast.id,
342
376
  explicitDefaultValues: ast.explicitDefaultValues,
343
377
  otelContext: options?.otelContext,
344
- })(this.reactivityGraph.context);
378
+ })(this[StoreInternalsSymbol].reactivityGraph.context);
345
379
  }
346
380
  const sqlRes = query.asSql();
347
381
  const schema = getResultSchema(query);
348
382
  // Replace SessionIdSymbol in bind values before executing the query
349
383
  if (sqlRes.bindValues) {
350
- replaceSessionIdSymbol(sqlRes.bindValues, this.clientSession.sessionId);
384
+ replaceSessionIdSymbol(sqlRes.bindValues, this[StoreInternalsSymbol].clientSession.sessionId);
351
385
  }
352
- const rawRes = this.sqliteDbWrapper.cachedSelect(sqlRes.query, sqlRes.bindValues, {
386
+ const rawRes = this[StoreInternalsSymbol].sqliteDbWrapper.cachedSelect(sqlRes.query, sqlRes.bindValues, {
353
387
  ...omitUndefineds({ otelContext: options?.otelContext }),
354
388
  queriedTables: new Set([query[QueryBuilderAstSymbol].tableDef.sqliteDef.name]),
355
389
  });
@@ -362,13 +396,13 @@ export class Store extends Inspectable.Class {
362
396
  }
363
397
  }
364
398
  else if (query._tag === 'def') {
365
- const query$ = query.make(this.reactivityGraph.context);
399
+ const query$ = query.make(this[StoreInternalsSymbol].reactivityGraph.context);
366
400
  const result = this.query(query$.value, options);
367
401
  query$.deref();
368
402
  return result;
369
403
  }
370
404
  else if (query._tag === 'signal-def') {
371
- const signal$ = query.make(this.reactivityGraph.context);
405
+ const signal$ = query.make(this[StoreInternalsSymbol].reactivityGraph.context);
372
406
  return signal$.value.get();
373
407
  }
374
408
  else {
@@ -394,7 +428,7 @@ export class Store extends Inspectable.Class {
394
428
  */
395
429
  setSignal = (signalDef, value) => {
396
430
  this.checkShutdown('setSignal');
397
- const signalRef = signalDef.make(this.reactivityGraph.context);
431
+ const signalRef = signalDef.make(this[StoreInternalsSymbol].reactivityGraph.context);
398
432
  const newValue = typeof value === 'function' ? value(signalRef.value.get()) : value;
399
433
  signalRef.value.set(newValue);
400
434
  // The current implementation of signals i.e. the separation into `signal-def` and `signal`
@@ -462,12 +496,12 @@ export class Store extends Inspectable.Class {
462
496
  this.checkShutdown('commit');
463
497
  const { events, options } = this.getCommitArgs(firstEventOrTxnFnOrOptions, restEvents);
464
498
  Effect.gen(this, function* () {
465
- const commitsSpan = otel.trace.getSpan(this.otel.commitsSpanContext);
499
+ const commitsSpan = otel.trace.getSpan(this[StoreInternalsSymbol].otel.commitsSpanContext);
466
500
  commitsSpan?.addEvent('commit');
467
501
  const currentSpan = yield* OtelTracer.currentOtelSpan.pipe(Effect.orDie);
468
502
  commitsSpan?.addLink({ context: currentSpan.spanContext() });
469
503
  for (const event of events) {
470
- replaceSessionIdSymbol(event.args, this.clientSession.sessionId);
504
+ replaceSessionIdSymbol(event.args, this[StoreInternalsSymbol].clientSession.sessionId);
471
505
  }
472
506
  if (events.length === 0)
473
507
  return;
@@ -475,10 +509,10 @@ export class Store extends Inspectable.Class {
475
509
  const materializeEventsTx = Effect.try({
476
510
  try: () => {
477
511
  const runMaterializeEvents = () => {
478
- return this.syncProcessor.push(events).pipe(Runtime.runSync(localRuntime));
512
+ return this[StoreInternalsSymbol].syncProcessor.push(events).pipe(Runtime.runSync(localRuntime));
479
513
  };
480
514
  if (events.length > 1) {
481
- return this.sqliteDbWrapper.txn(runMaterializeEvents);
515
+ return this[StoreInternalsSymbol].sqliteDbWrapper.txn(runMaterializeEvents);
482
516
  }
483
517
  else {
484
518
  return runMaterializeEvents();
@@ -490,7 +524,7 @@ export class Store extends Inspectable.Class {
490
524
  const { writeTables } = yield* materializeEventsTx;
491
525
  const tablesToUpdate = [];
492
526
  for (const tableName of writeTables) {
493
- const tableRef = this.tableRefs[tableName];
527
+ const tableRef = this[StoreInternalsSymbol].tableRefs[tableName];
494
528
  assertNever(tableRef !== undefined, `No table ref found for ${tableName}`);
495
529
  tablesToUpdate.push([tableRef, null]);
496
530
  }
@@ -501,7 +535,7 @@ export class Store extends Inspectable.Class {
501
535
  };
502
536
  const skipRefresh = options?.skipRefresh ?? false;
503
537
  // Update all table refs together in a batch, to only trigger one reactive update
504
- this.reactivityGraph.setRefs(tablesToUpdate, {
538
+ this[StoreInternalsSymbol].reactivityGraph.setRefs(tablesToUpdate, {
505
539
  debugRefreshReason,
506
540
  skipRefresh,
507
541
  otelContext: otel.trace.setSpan(otel.context.active(), currentSpan),
@@ -515,11 +549,13 @@ export class Store extends Inspectable.Class {
515
549
  },
516
550
  links: [
517
551
  // Span link to LiveStore:commits
518
- OtelTracer.makeSpanLink({ context: otel.trace.getSpanContext(this.otel.commitsSpanContext) }),
552
+ OtelTracer.makeSpanLink({
553
+ context: otel.trace.getSpanContext(this[StoreInternalsSymbol].otel.commitsSpanContext),
554
+ }),
519
555
  // User-provided span links
520
556
  ...(options?.spanLinks?.map(OtelTracer.makeSpanLink) ?? []),
521
557
  ],
522
- }), Effect.tapErrorCause(Effect.logError), Effect.catchAllCause((cause) => Effect.fork(this.shutdown(cause))), Runtime.runSync(this.effectContext.runtime));
558
+ }), Effect.tapErrorCause(Effect.logError), Effect.catchAllCause((cause) => Effect.fork(this.shutdown(cause))), Runtime.runSync(this[StoreInternalsSymbol].effectContext.runtime));
523
559
  };
524
560
  // #endregion commit
525
561
  /**
@@ -555,9 +591,9 @@ export class Store extends Inspectable.Class {
555
591
  manualRefresh = (options) => {
556
592
  this.checkShutdown('manualRefresh');
557
593
  const { label } = options ?? {};
558
- this.otel.tracer.startActiveSpan('LiveStore:manualRefresh', { attributes: { 'livestore.manualRefreshLabel': label } }, this.otel.commitsSpanContext, (span) => {
594
+ this[StoreInternalsSymbol].otel.tracer.startActiveSpan('LiveStore:manualRefresh', { attributes: { 'livestore.manualRefreshLabel': label } }, this[StoreInternalsSymbol].otel.commitsSpanContext, (span) => {
559
595
  const otelContext = otel.trace.setSpan(otel.context.active(), span);
560
- this.reactivityGraph.runDeferredEffects({ otelContext });
596
+ this[StoreInternalsSymbol].reactivityGraph.runDeferredEffects({ otelContext });
561
597
  span.end();
562
598
  });
563
599
  };
@@ -568,7 +604,7 @@ export class Store extends Inspectable.Class {
568
604
  */
569
605
  shutdownPromise = async (cause) => {
570
606
  this.checkShutdown('shutdownPromise');
571
- this.isShutdown = true;
607
+ this[StoreInternalsSymbol].isShutdown = true;
572
608
  await this.shutdown(cause ? Cause.fail(cause) : undefined).pipe(this.runEffectFork, Fiber.join, Effect.runPromise);
573
609
  };
574
610
  /**
@@ -577,8 +613,8 @@ export class Store extends Inspectable.Class {
577
613
  * This is called automatically when the store was created using the React or Effect API.
578
614
  */
579
615
  shutdown = (cause) => {
580
- this.isShutdown = true;
581
- return this.clientSession.shutdown(cause ? Exit.failCause(cause) : Exit.succeed(IntentionalShutdownCause.make({ reason: 'manual' })));
616
+ this[StoreInternalsSymbol].isShutdown = true;
617
+ return this[StoreInternalsSymbol].clientSession.shutdown(cause ? Exit.failCause(cause) : Exit.succeed(IntentionalShutdownCause.make({ reason: 'manual' })));
582
618
  };
583
619
  /**
584
620
  * Helper methods useful during development
@@ -588,25 +624,27 @@ export class Store extends Inspectable.Class {
588
624
  _dev = {
589
625
  downloadDb: (source = 'local') => {
590
626
  Effect.gen(this, function* () {
591
- const data = source === 'local' ? this.sqliteDbWrapper.export() : yield* this.clientSession.leaderThread.export;
627
+ const data = source === 'local'
628
+ ? this[StoreInternalsSymbol].sqliteDbWrapper.export()
629
+ : yield* this[StoreInternalsSymbol].clientSession.leaderThread.export;
592
630
  downloadBlob(data, `livestore-${Date.now()}.db`);
593
631
  }).pipe(this.runEffectFork);
594
632
  },
595
633
  downloadEventlogDb: () => {
596
634
  Effect.gen(this, function* () {
597
- const data = yield* this.clientSession.leaderThread.getEventlogData;
635
+ const data = yield* this[StoreInternalsSymbol].clientSession.leaderThread.getEventlogData;
598
636
  downloadBlob(data, `livestore-eventlog-${Date.now()}.db`);
599
637
  }).pipe(this.runEffectFork);
600
638
  },
601
639
  hardReset: (mode = 'all-data') => {
602
640
  Effect.gen(this, function* () {
603
- const clientId = this.clientSession.clientId;
604
- yield* this.clientSession.leaderThread.sendDevtoolsMessage(Devtools.Leader.ResetAllData.Request.make({ liveStoreVersion, mode, requestId: nanoid(), clientId }));
641
+ const clientId = this[StoreInternalsSymbol].clientSession.clientId;
642
+ yield* this[StoreInternalsSymbol].clientSession.leaderThread.sendDevtoolsMessage(Devtools.Leader.ResetAllData.Request.make({ liveStoreVersion, mode, requestId: nanoid(), clientId }));
605
643
  }).pipe(this.runEffectFork);
606
644
  },
607
645
  overrideNetworkStatus: (status) => {
608
- const clientId = this.clientSession.clientId;
609
- this.clientSession.leaderThread
646
+ const clientId = this[StoreInternalsSymbol].clientSession.clientId;
647
+ this[StoreInternalsSymbol].clientSession.leaderThread
610
648
  .sendDevtoolsMessage(Devtools.Leader.SetSyncLatch.Request.make({
611
649
  clientId,
612
650
  closeLatch: status === 'offline',
@@ -616,30 +654,30 @@ export class Store extends Inspectable.Class {
616
654
  .pipe(this.runEffectFork);
617
655
  },
618
656
  syncStates: () => Effect.gen(this, function* () {
619
- const session = yield* this.syncProcessor.syncState;
620
- const leader = yield* this.clientSession.leaderThread.syncState;
657
+ const session = yield* this[StoreInternalsSymbol].syncProcessor.syncState;
658
+ const leader = yield* this[StoreInternalsSymbol].clientSession.leaderThread.syncState;
621
659
  return { session, leader };
622
660
  }).pipe(this.runEffectPromise),
623
661
  printSyncStates: () => {
624
662
  Effect.gen(this, function* () {
625
- const session = yield* this.syncProcessor.syncState;
663
+ const session = yield* this[StoreInternalsSymbol].syncProcessor.syncState;
626
664
  yield* Effect.log(`Session sync state: ${session.localHead} (upstream: ${session.upstreamHead})`, session.toJSON());
627
- const leader = yield* this.clientSession.leaderThread.syncState;
665
+ const leader = yield* this[StoreInternalsSymbol].clientSession.leaderThread.syncState;
628
666
  yield* Effect.log(`Leader sync state: ${leader.localHead} (upstream: ${leader.upstreamHead})`, leader.toJSON());
629
667
  }).pipe(this.runEffectFork);
630
668
  },
631
669
  version: liveStoreVersion,
632
670
  otel: {
633
- rootSpanContext: () => otel.trace.getSpan(this.otel.rootSpanContext)?.spanContext(),
671
+ rootSpanContext: () => otel.trace.getSpan(this[StoreInternalsSymbol].otel.rootSpanContext)?.spanContext(),
634
672
  },
635
673
  };
636
674
  // NOTE This is needed because when booting a Store via Effect it seems to call `toJSON` in the error path
637
675
  toJSON = () => ({
638
676
  _tag: 'livestore.Store',
639
- reactivityGraph: this.reactivityGraph.getSnapshot({ includeResults: true }),
677
+ reactivityGraph: this[StoreInternalsSymbol].reactivityGraph.getSnapshot({ includeResults: true }),
640
678
  });
641
- runEffectFork = (effect) => effect.pipe(Effect.forkIn(this.effectContext.lifetimeScope), Effect.tapCauseLogPretty, Runtime.runFork(this.effectContext.runtime));
642
- runEffectPromise = (effect) => effect.pipe(Effect.tapCauseLogPretty, Runtime.runPromise(this.effectContext.runtime));
679
+ runEffectFork = (effect) => effect.pipe(Effect.forkIn(this[StoreInternalsSymbol].effectContext.lifetimeScope), Effect.tapCauseLogPretty, Runtime.runFork(this[StoreInternalsSymbol].effectContext.runtime));
680
+ runEffectPromise = (effect) => effect.pipe(Effect.tapCauseLogPretty, Runtime.runPromise(this[StoreInternalsSymbol].effectContext.runtime));
643
681
  getCommitArgs = (firstEventOrTxnFnOrOptions, restEvents) => {
644
682
  let events;
645
683
  let options;
@@ -663,7 +701,7 @@ export class Store extends Inspectable.Class {
663
701
  }
664
702
  // for (const event of events) {
665
703
  // if (event.args.id === SessionIdSymbol) {
666
- // event.args.id = this.clientSession.sessionId
704
+ // event.args.id = this.sessionId
667
705
  // }
668
706
  // }
669
707
  return { events, options };
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":"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"}