@livestore/livestore 0.0.54-dev.22 → 0.0.54-dev.25

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 (43) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/__tests__/react/fixture.d.ts +0 -8
  3. package/dist/__tests__/react/fixture.d.ts.map +1 -1
  4. package/dist/__tests__/react/fixture.js +1 -1
  5. package/dist/__tests__/react/fixture.js.map +1 -1
  6. package/dist/effect/LiveStore.d.ts +1 -0
  7. package/dist/effect/LiveStore.d.ts.map +1 -1
  8. package/dist/effect/LiveStore.js +1 -1
  9. package/dist/effect/LiveStore.js.map +1 -1
  10. package/dist/global-state.d.ts +0 -2
  11. package/dist/global-state.d.ts.map +1 -1
  12. package/dist/global-state.js +0 -1
  13. package/dist/global-state.js.map +1 -1
  14. package/dist/index.d.ts +2 -2
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +1 -1
  17. package/dist/index.js.map +1 -1
  18. package/dist/react/LiveStoreContext.d.ts.map +1 -1
  19. package/dist/react/LiveStoreContext.js +3 -0
  20. package/dist/react/LiveStoreContext.js.map +1 -1
  21. package/dist/react/LiveStoreProvider.d.ts +3 -3
  22. package/dist/react/LiveStoreProvider.d.ts.map +1 -1
  23. package/dist/react/LiveStoreProvider.js +16 -8
  24. package/dist/react/LiveStoreProvider.js.map +1 -1
  25. package/dist/react/LiveStoreProvider.test.js +6 -4
  26. package/dist/react/LiveStoreProvider.test.js.map +1 -1
  27. package/dist/row-query.d.ts.map +1 -1
  28. package/dist/row-query.js +4 -38
  29. package/dist/row-query.js.map +1 -1
  30. package/dist/store.d.ts +7 -4
  31. package/dist/store.d.ts.map +1 -1
  32. package/dist/store.js +231 -96
  33. package/dist/store.js.map +1 -1
  34. package/package.json +5 -5
  35. package/src/__tests__/react/fixture.tsx +1 -1
  36. package/src/effect/LiveStore.ts +2 -1
  37. package/src/global-state.ts +0 -4
  38. package/src/index.ts +2 -1
  39. package/src/react/LiveStoreContext.ts +4 -0
  40. package/src/react/LiveStoreProvider.test.tsx +9 -4
  41. package/src/react/LiveStoreProvider.tsx +17 -10
  42. package/src/row-query.ts +5 -51
  43. package/src/store.ts +315 -128
package/dist/store.js CHANGED
@@ -1,8 +1,8 @@
1
- import { Devtools, getExecArgsFromMutation, prepareBindValues } from '@livestore/common';
2
- import { version as liveStoreVersion } from '@livestore/common/package.json';
1
+ import { Devtools, getExecArgsFromMutation, liveStoreVersion, prepareBindValues } from '@livestore/common';
3
2
  import { makeMutationEventSchemaMemo } from '@livestore/common/schema';
4
- import { assertNever, isPromise, makeNoopTracer, shouldNeverHappen } from '@livestore/utils';
5
- import { Effect, Layer, OtelTracer, Schema, Stream } from '@livestore/utils/effect';
3
+ import { assertNever, isPromise, makeNoopTracer, shouldNeverHappen, throttle } from '@livestore/utils';
4
+ import { cuid } from '@livestore/utils/cuid';
5
+ import { Effect, Layer, Logger, LogLevel, OtelTracer, Queue, Schema, Stream } from '@livestore/utils/effect';
6
6
  import * as otel from '@opentelemetry/api';
7
7
  import { globalReactivityGraph } from './global-state.js';
8
8
  import { MainDatabaseWrapper } from './MainDatabaseWrapper.js';
@@ -13,6 +13,7 @@ let storeCount = 0;
13
13
  const uniqueStoreId = () => `store-${++storeCount}`;
14
14
  export class Store {
15
15
  id = uniqueStoreId();
16
+ devtoolsConnectionId = cuid();
16
17
  reactivityGraph;
17
18
  mainDbWrapper;
18
19
  adapter;
@@ -26,17 +27,19 @@ export class Store {
26
27
  */
27
28
  tableRefs;
28
29
  // TODO remove this temporary solution and find a better way to avoid re-processing the same mutation
29
- __processedMutationIds = new Set();
30
+ __processedMutationIds;
30
31
  __processedMutationWithoutRefreshIds = new Set();
31
32
  /** RC-based set to see which queries are currently subscribed to */
32
33
  activeQueries;
33
34
  __mutationEventSchema;
34
- constructor({ adapter, schema, graphQLOptions, reactivityGraph, otelOptions, disableDevtools, }) {
35
+ constructor({ adapter, schema, graphQLOptions, reactivityGraph, otelOptions, disableDevtools, __processedMutationIds, }) {
35
36
  this.mainDbWrapper = new MainDatabaseWrapper({ otel: otelOptions, db: adapter.mainDb });
36
37
  this.adapter = adapter;
37
38
  this.schema = schema;
38
39
  // TODO refactor
39
40
  this.__mutationEventSchema = makeMutationEventSchemaMemo(schema);
41
+ // TODO remove this temporary solution and find a better way to avoid re-processing the same mutation
42
+ this.__processedMutationIds = __processedMutationIds;
40
43
  // TODO generalize the `tableRefs` concept to allow finer-grained refs
41
44
  this.tableRefs = {};
42
45
  this.activeQueries = new ReferenceCountedSet();
@@ -52,7 +55,7 @@ export class Store {
52
55
  };
53
56
  this.adapter.coordinator.syncMutations.pipe(Stream.tapSync((mutationEventDecoded) => {
54
57
  this.mutate({ wasSyncMessage: true }, mutationEventDecoded);
55
- }), Stream.runDrain, Effect.tapCauseLogPretty, Effect.runFork);
58
+ }), Stream.runDrain, runEffectFork);
56
59
  if (disableDevtools !== true) {
57
60
  this.bootDevtools();
58
61
  }
@@ -125,7 +128,7 @@ export class Store {
125
128
  }
126
129
  otel.trace.getSpan(this.otel.mutationsSpanContext).end();
127
130
  otel.trace.getSpan(this.otel.queriesSpanContext).end();
128
- await this.adapter.coordinator.shutdown.pipe(Effect.tapCauseLogPretty, Effect.runPromise);
131
+ await this.adapter.coordinator.shutdown.pipe(runEffectPromise);
129
132
  };
130
133
  mutate = (firstMutationOrTxnFnOrOptions, ...restMutations) => {
131
134
  let mutationsEvents;
@@ -281,7 +284,7 @@ export class Store {
281
284
  // Asynchronously apply mutation to a persistent storage (we're not awaiting this promise here)
282
285
  this.adapter.coordinator
283
286
  .mutate(mutationEventEncoded, { persisted: coordinatorMode !== 'skip-persist' })
284
- .pipe(Effect.tapCauseLogPretty, Effect.runFork);
287
+ .pipe(runEffectFork);
285
288
  }
286
289
  // Uncomment to print a list of queries currently registered on the store
287
290
  // console.debug(JSON.parse(JSON.stringify([...this.queries].map((q) => `${labelForKey(q.componentKey)}/${q.label}`))))
@@ -296,9 +299,7 @@ export class Store {
296
299
  */
297
300
  execute = (query, params = {}, writeTables, otelContext) => {
298
301
  this.mainDbWrapper.execute(query, prepareBindValues(params, query), writeTables, { otelContext });
299
- this.adapter.coordinator
300
- .execute(query, prepareBindValues(params, query))
301
- .pipe(Effect.tapCauseLogPretty, Effect.runFork);
302
+ this.adapter.coordinator.execute(query, prepareBindValues(params, query)).pipe(runEffectFork);
302
303
  };
303
304
  select = (query, params = {}) => {
304
305
  return this.mainDbWrapper.select(query, { bindValues: prepareBindValues(params, query) });
@@ -308,111 +309,240 @@ export class Store {
308
309
  label: `tableRef:${tableName}`,
309
310
  meta: { liveStoreRefType: 'table' },
310
311
  });
312
+ // TODO shutdown behaviour
311
313
  bootDevtools = () => {
312
- const devtoolsChannel = Devtools.makeBroadcastChannels();
313
- const reactivityGraphSubcriptions = new Map();
314
- const liveQueriesSubscriptions = new Map();
315
- devtoolsChannel.toAppHost.addEventListener('message', async (event) => {
316
- const decoded = Schema.decodeUnknownOption(Devtools.MessageToAppHost)(event.data);
317
- if (decoded._tag === 'None' ||
318
- decoded.value._tag === 'LSD.DevtoolsReady' ||
319
- decoded.value._tag === 'LSD.DevtoolsConnected' ||
320
- decoded.value.channelId !== this.adapter.coordinator.devtools.channelId) {
321
- // console.log(`Unknown message`, event)
314
+ const sendToDevtoolsContentscript = (message) => {
315
+ window.postMessage(Schema.encodeSync(Devtools.DevtoolsWindowMessage.MessageForContentscript)(message), '*');
316
+ };
317
+ const channelId = this.adapter.coordinator.devtools.channelId;
318
+ window.addEventListener('message', (event) => {
319
+ const decodedMessageRes = Schema.decodeOption(Devtools.DevtoolsWindowMessage.MessageForStore)(event.data);
320
+ if (decodedMessageRes._tag === 'None')
321
+ return;
322
+ const message = decodedMessageRes.value;
323
+ if (message._tag === 'LSD.WindowMessage.ContentscriptListening') {
324
+ sendToDevtoolsContentscript(Devtools.DevtoolsWindowMessage.StoreReady.make({ channelId }));
322
325
  return;
323
326
  }
324
- const requestId = decoded.value.requestId;
325
- const sendToDevtools = (message) => devtoolsChannel.fromAppHost.postMessage(Schema.encodeSync(Devtools.MessageFromAppHost)(message));
326
- switch (decoded.value._tag) {
327
- case 'LSD.ReactivityGraphSubscribe': {
328
- const includeResults = decoded.value.includeResults;
329
- const send = () => sendToDevtools(Devtools.ReactivityGraphRes.make({
330
- reactivityGraph: this.reactivityGraph.getSnapshot({ includeResults }),
331
- requestId,
332
- liveStoreVersion,
333
- }));
334
- send();
335
- reactivityGraphSubcriptions.set(requestId, this.reactivityGraph.subscribeToRefresh(() => send()));
336
- break;
337
- }
338
- case 'LSD.DebugInfoReq': {
339
- sendToDevtools(Devtools.DebugInfoRes.make({ debugInfo: this.mainDbWrapper.debugInfo, requestId, liveStoreVersion }));
340
- break;
341
- }
342
- case 'LSD.DebugInfoResetReq': {
343
- this.mainDbWrapper.debugInfo.slowQueries.clear();
344
- sendToDevtools(Devtools.DebugInfoResetRes.make({ requestId, liveStoreVersion }));
345
- break;
346
- }
347
- case 'LSD.DebugInfoRerunQueryReq': {
348
- const { queryStr, bindValues, queriedTables } = decoded.value;
349
- this.mainDbWrapper.select(queryStr, { bindValues, queriedTables, skipCache: true });
350
- sendToDevtools(Devtools.DebugInfoRerunQueryRes.make({ requestId, liveStoreVersion }));
351
- break;
352
- }
353
- case 'LSD.ReactivityGraphUnsubscribe': {
354
- reactivityGraphSubcriptions.get(requestId)();
355
- break;
356
- }
357
- case 'LSD.LiveQueriesSubscribe': {
358
- const send = () => sendToDevtools(Devtools.LiveQueriesRes.make({
359
- liveQueries: [...this.activeQueries].map((q) => ({
360
- _tag: q._tag,
361
- id: q.id,
362
- label: q.label,
363
- runs: q.runs,
364
- executionTimes: q.executionTimes.map((_) => Number(_.toString().slice(0, 5))),
365
- lastestResult: q.results$.previousResult === NOT_REFRESHED_YET
366
- ? 'SYMBOL_NOT_REFRESHED_YET'
367
- : q.results$.previousResult,
368
- activeSubscriptions: Array.from(q.activeSubscriptions),
369
- })),
370
- requestId,
371
- liveStoreVersion,
372
- }));
373
- send();
374
- liveQueriesSubscriptions.set(requestId, this.reactivityGraph.subscribeToRefresh(() => send()));
375
- break;
376
- }
377
- case 'LSD.LiveQueriesUnsubscribe': {
378
- liveQueriesSubscriptions.get(requestId)();
379
- break;
380
- }
381
- case 'LSD.ResetAllDataReq': {
382
- await this.adapter.coordinator
383
- .dangerouslyReset(decoded.value.mode)
384
- .pipe(Effect.tapCauseLogPretty, Effect.runPromise);
385
- sendToDevtools(Devtools.ResetAllDataRes.make({ requestId, liveStoreVersion }));
386
- break;
387
- }
388
- // No default
327
+ if (message.channelId !== channelId)
328
+ return;
329
+ if (message._tag === 'LSD.WindowMessage.MessagePortForStore') {
330
+ this.adapter.coordinator.devtools.connect({ port: message.port, connectionId: this.devtoolsConnectionId }).pipe(Effect.tapSync(({ storeMessagePort }) => {
331
+ // console.log('storeMessagePort', storeMessagePort)
332
+ storeMessagePort.addEventListener('message', (event) => {
333
+ const decodedMessage = Schema.decodeUnknownSync(Devtools.MessageToAppHostStore)(event.data);
334
+ // console.log('storeMessagePort message', decodedMessage)
335
+ if (decodedMessage.channelId !== this.adapter.coordinator.devtools.channelId) {
336
+ // console.log(`Unknown message`, event)
337
+ return;
338
+ }
339
+ const requestId = decodedMessage.requestId;
340
+ const sendToDevtools = (message) => storeMessagePort.postMessage(Schema.encodeSync(Devtools.MessageFromAppHostStore)(message));
341
+ const requestIdleCallback = window.requestIdleCallback ?? ((cb) => cb());
342
+ switch (decodedMessage._tag) {
343
+ case 'LSD.ReactivityGraphSubscribe': {
344
+ const includeResults = decodedMessage.includeResults;
345
+ const send = () =>
346
+ // In order to not add more work to the current tick, we use requestIdleCallback
347
+ // to send the reactivity graph updates to the devtools
348
+ requestIdleCallback(() => sendToDevtools(Devtools.ReactivityGraphRes.make({
349
+ reactivityGraph: this.reactivityGraph.getSnapshot({ includeResults }),
350
+ requestId,
351
+ liveStoreVersion,
352
+ })), { timeout: 500 });
353
+ send();
354
+ // In some cases, there can be A LOT of reactivity graph updates in a short period of time
355
+ // so we throttle the updates to avoid sending too much data
356
+ // This might need to be tweaked further and possibly be exposed to the user in some way.
357
+ const throttledSend = throttle(send, 20);
358
+ reactivityGraphSubcriptions.set(requestId, this.reactivityGraph.subscribeToRefresh(throttledSend));
359
+ break;
360
+ }
361
+ case 'LSD.DebugInfoReq': {
362
+ sendToDevtools(Devtools.DebugInfoRes.make({
363
+ debugInfo: this.mainDbWrapper.debugInfo,
364
+ requestId,
365
+ liveStoreVersion,
366
+ }));
367
+ break;
368
+ }
369
+ case 'LSD.DebugInfoResetReq': {
370
+ this.mainDbWrapper.debugInfo.slowQueries.clear();
371
+ sendToDevtools(Devtools.DebugInfoResetRes.make({ requestId, liveStoreVersion }));
372
+ break;
373
+ }
374
+ case 'LSD.DebugInfoRerunQueryReq': {
375
+ const { queryStr, bindValues, queriedTables } = decodedMessage;
376
+ this.mainDbWrapper.select(queryStr, { bindValues, queriedTables, skipCache: true });
377
+ sendToDevtools(Devtools.DebugInfoRerunQueryRes.make({ requestId, liveStoreVersion }));
378
+ break;
379
+ }
380
+ case 'LSD.ReactivityGraphUnsubscribe': {
381
+ reactivityGraphSubcriptions.get(requestId)();
382
+ break;
383
+ }
384
+ case 'LSD.LiveQueriesSubscribe': {
385
+ const send = () => requestIdleCallback(() => sendToDevtools(Devtools.LiveQueriesRes.make({
386
+ liveQueries: [...this.activeQueries].map((q) => ({
387
+ _tag: q._tag,
388
+ id: q.id,
389
+ label: q.label,
390
+ runs: q.runs,
391
+ executionTimes: q.executionTimes.map((_) => Number(_.toString().slice(0, 5))),
392
+ lastestResult: q.results$.previousResult === NOT_REFRESHED_YET
393
+ ? 'SYMBOL_NOT_REFRESHED_YET'
394
+ : q.results$.previousResult,
395
+ activeSubscriptions: Array.from(q.activeSubscriptions),
396
+ })),
397
+ requestId,
398
+ liveStoreVersion,
399
+ })), { timeout: 500 });
400
+ send();
401
+ // Same as in the reactivity graph subscription case above, we need to throttle the updates
402
+ const throttledSend = throttle(send, 20);
403
+ liveQueriesSubscriptions.set(requestId, this.reactivityGraph.subscribeToRefresh(throttledSend));
404
+ break;
405
+ }
406
+ case 'LSD.LiveQueriesUnsubscribe': {
407
+ liveQueriesSubscriptions.get(requestId)();
408
+ break;
409
+ }
410
+ // No default
411
+ }
412
+ });
413
+ storeMessagePort.start();
414
+ }), runEffectFork);
415
+ return;
389
416
  }
390
417
  });
418
+ sendToDevtoolsContentscript(Devtools.DevtoolsWindowMessage.StoreReady.make({ channelId }));
419
+ const reactivityGraphSubcriptions = new Map();
420
+ const liveQueriesSubscriptions = new Map();
421
+ // devtoolsChannel.toAppHost.addEventListener('message', async (event) => {
422
+ // const decoded = Schema.decodeUnknownOption(Devtools.MessageToAppHostStore)(event.data)
423
+ // if (decoded._tag === 'None' || decoded.value.channelId !== this.adapter.coordinator.devtools.channelId) {
424
+ // // console.log(`Unknown message`, event)
425
+ // return
426
+ // }
427
+ // const requestId = decoded.value.requestId
428
+ // const sendToDevtools = (message: Devtools.MessageFromAppHostStore) =>
429
+ // devtoolsChannel.fromAppHost.postMessage(Schema.encodeSync(Devtools.MessageFromAppHostStore)(message))
430
+ // const requestIdleCallback = window.requestIdleCallback ?? ((cb: Function) => cb())
431
+ // switch (decoded.value._tag) {
432
+ // case 'LSD.ReactivityGraphSubscribe': {
433
+ // const includeResults = decoded.value.includeResults
434
+ // const send = () =>
435
+ // // In order to not add more work to the current tick, we use requestIdleCallback
436
+ // // to send the reactivity graph updates to the devtools
437
+ // requestIdleCallback(
438
+ // () =>
439
+ // sendToDevtools(
440
+ // Devtools.ReactivityGraphRes.make({
441
+ // reactivityGraph: this.reactivityGraph.getSnapshot({ includeResults }),
442
+ // requestId,
443
+ // liveStoreVersion,
444
+ // }),
445
+ // ),
446
+ // { timeout: 500 },
447
+ // )
448
+ // send()
449
+ // // In some cases, there can be A LOT of reactivity graph updates in a short period of time
450
+ // // so we throttle the updates to avoid sending too much data
451
+ // // This might need to be tweaked further and possibly be exposed to the user in some way.
452
+ // const throttledSend = throttle(send, 20)
453
+ // reactivityGraphSubcriptions.set(requestId, this.reactivityGraph.subscribeToRefresh(throttledSend))
454
+ // break
455
+ // }
456
+ // case 'LSD.DebugInfoReq': {
457
+ // sendToDevtools(
458
+ // Devtools.DebugInfoRes.make({ debugInfo: this.mainDbWrapper.debugInfo, requestId, liveStoreVersion }),
459
+ // )
460
+ // break
461
+ // }
462
+ // case 'LSD.DebugInfoResetReq': {
463
+ // this.mainDbWrapper.debugInfo.slowQueries.clear()
464
+ // sendToDevtools(Devtools.DebugInfoResetRes.make({ requestId, liveStoreVersion }))
465
+ // break
466
+ // }
467
+ // case 'LSD.DebugInfoRerunQueryReq': {
468
+ // const { queryStr, bindValues, queriedTables } = decoded.value
469
+ // this.mainDbWrapper.select(queryStr, { bindValues, queriedTables, skipCache: true })
470
+ // sendToDevtools(Devtools.DebugInfoRerunQueryRes.make({ requestId, liveStoreVersion }))
471
+ // break
472
+ // }
473
+ // case 'LSD.ReactivityGraphUnsubscribe': {
474
+ // reactivityGraphSubcriptions.get(requestId)!()
475
+ // break
476
+ // }
477
+ // case 'LSD.LiveQueriesSubscribe': {
478
+ // const send = () =>
479
+ // requestIdleCallback(
480
+ // () =>
481
+ // sendToDevtools(
482
+ // Devtools.LiveQueriesRes.make({
483
+ // liveQueries: [...this.activeQueries].map((q) => ({
484
+ // _tag: q._tag,
485
+ // id: q.id,
486
+ // label: q.label,
487
+ // runs: q.runs,
488
+ // executionTimes: q.executionTimes.map((_) => Number(_.toString().slice(0, 5))),
489
+ // lastestResult:
490
+ // q.results$.previousResult === NOT_REFRESHED_YET
491
+ // ? 'SYMBOL_NOT_REFRESHED_YET'
492
+ // : q.results$.previousResult,
493
+ // activeSubscriptions: Array.from(q.activeSubscriptions),
494
+ // })),
495
+ // requestId,
496
+ // liveStoreVersion,
497
+ // }),
498
+ // ),
499
+ // { timeout: 500 },
500
+ // )
501
+ // send()
502
+ // // Same as in the reactivity graph subscription case above, we need to throttle the updates
503
+ // const throttledSend = throttle(send, 20)
504
+ // liveQueriesSubscriptions.set(requestId, this.reactivityGraph.subscribeToRefresh(throttledSend))
505
+ // break
506
+ // }
507
+ // case 'LSD.LiveQueriesUnsubscribe': {
508
+ // liveQueriesSubscriptions.get(requestId)!()
509
+ // break
510
+ // }
511
+ // // No default
512
+ // }
513
+ // })
391
514
  };
392
515
  __devDownloadDb = () => {
393
516
  const data = this.mainDbWrapper.export();
394
517
  downloadBlob(data, `livestore-${Date.now()}.db`);
395
518
  };
396
519
  __devDownloadMutationLogDb = async () => {
397
- const data = await this.adapter.coordinator.getMutationLogData.pipe(Effect.tapCauseLogPretty, Effect.runPromise);
520
+ const data = await this.adapter.coordinator.getMutationLogData.pipe(runEffectPromise);
398
521
  downloadBlob(data, `livestore-mutationlog-${Date.now()}.db`);
399
522
  };
400
523
  // TODO allow for graceful store reset without requiring a full page reload (which should also call .boot)
401
- dangerouslyResetStorage = (mode) => this.adapter.coordinator.dangerouslyReset(mode).pipe(Effect.tapCauseLogPretty, Effect.runPromise);
524
+ dangerouslyResetStorage = (mode) => this.adapter.coordinator.dangerouslyReset(mode).pipe(runEffectPromise);
402
525
  }
403
526
  /** Create a new LiveStore Store */
404
- export const createStore = async (options) => createStoreEff(options).pipe(Effect.tapCauseLogPretty, Effect.runPromise);
405
- export const createStoreEff = ({ schema, graphQLOptions, otelOptions, adapter: adapterFactory, boot, reactivityGraph = globalReactivityGraph, batchUpdates, disableDevtools, }) => {
527
+ export const createStore = async (options) => createStoreEff(options).pipe(runEffectPromise);
528
+ export const createStoreEff = ({ schema, graphQLOptions, otelOptions, adapter: adapterFactory, boot, reactivityGraph = globalReactivityGraph, batchUpdates, disableDevtools, onBootStatus, }) => {
406
529
  const otelTracer = otelOptions?.tracer ?? makeNoopTracer();
407
530
  const otelRootSpanContext = otelOptions?.rootSpanContext ?? otel.context.active();
408
531
  const TracingLive = Layer.unwrapEffect(Effect.map(OtelTracer.make, Layer.setTracer)).pipe(Layer.provide(Layer.sync(OtelTracer.Tracer, () => otelTracer)));
409
532
  return Effect.gen(function* () {
410
533
  const span = yield* OtelTracer.currentOtelSpan.pipe(Effect.orDie);
411
- const adapter = yield* adapterFactory({ schema }).pipe(Effect.withPerformanceMeasure('livestore:makeAdapter'), Effect.withSpan('createStore:makeAdapter'));
534
+ const bootStatusQueue = yield* Queue.unbounded();
535
+ yield* Queue.take(bootStatusQueue).pipe(Effect.tapSync((status) => onBootStatus?.(status)), Effect.forever, Effect.tapCauseLogPretty, Effect.forkScoped);
536
+ const adapter = yield* adapterFactory({
537
+ schema,
538
+ devtoolsEnabled: disableDevtools !== true,
539
+ bootStatusQueue,
540
+ }).pipe(Effect.withPerformanceMeasure('livestore:makeAdapter'), Effect.withSpan('createStore:makeAdapter'));
412
541
  if (batchUpdates !== undefined) {
413
542
  reactivityGraph.effectsWrapper = batchUpdates;
414
543
  }
415
544
  const mutationEventSchema = makeMutationEventSchemaMemo(schema);
545
+ const __processedMutationIds = new Set();
416
546
  // TODO consider moving booting into the storage backend
417
547
  if (boot !== undefined) {
418
548
  let isInTxn = false;
@@ -426,13 +556,14 @@ export const createStoreEff = ({ schema, graphQLOptions, otelOptions, adapter: a
426
556
  txnExecuteStmnts.push([queryStr, bindValues]);
427
557
  }
428
558
  else {
429
- adapter.coordinator.execute(queryStr, bindValues).pipe(Effect.tapCauseLogPretty, Effect.runFork);
559
+ adapter.coordinator.execute(queryStr, bindValues).pipe(runEffectFork);
430
560
  }
431
561
  },
432
562
  mutate: (...list) => {
433
563
  for (const mutationEventDecoded of list) {
434
564
  const mutationDef = schema.mutations.get(mutationEventDecoded.mutation) ??
435
565
  shouldNeverHappen(`Unknown mutation type: ${mutationEventDecoded.mutation}`);
566
+ __processedMutationIds.add(mutationEventDecoded.id);
436
567
  const execArgsArr = getExecArgsFromMutation({ mutationDef, mutationEventDecoded });
437
568
  // const { bindValues, statementSql } = getExecArgsFromMutation({ mutationDef, mutationEventDecoded })
438
569
  for (const { statementSql, bindValues } of execArgsArr) {
@@ -441,7 +572,7 @@ export const createStoreEff = ({ schema, graphQLOptions, otelOptions, adapter: a
441
572
  const mutationEventEncoded = Schema.encodeUnknownSync(mutationEventSchema)(mutationEventDecoded);
442
573
  adapter.coordinator
443
574
  .mutate(mutationEventEncoded, { persisted: true })
444
- .pipe(Effect.tapCauseLogPretty, Effect.runFork);
575
+ .pipe(runEffectFork);
445
576
  }
446
577
  },
447
578
  select: (queryStr, bindValues) => {
@@ -456,7 +587,7 @@ export const createStoreEff = ({ schema, graphQLOptions, otelOptions, adapter: a
456
587
  adapter.mainDb.execute('COMMIT', undefined);
457
588
  // adapter.coordinator.execute('BEGIN', undefined, undefined)
458
589
  for (const [queryStr, bindValues] of txnExecuteStmnts) {
459
- adapter.coordinator.execute(queryStr, bindValues).pipe(Effect.tapCauseLogPretty, Effect.runFork);
590
+ adapter.coordinator.execute(queryStr, bindValues).pipe(runEffectFork);
460
591
  }
461
592
  // adapter.coordinator.execute('COMMIT', undefined, undefined)
462
593
  }
@@ -486,13 +617,15 @@ export const createStoreEff = ({ schema, graphQLOptions, otelOptions, adapter: a
486
617
  otelOptions: { tracer: otelTracer, rootSpanContext: otelRootSpanContext },
487
618
  reactivityGraph,
488
619
  disableDevtools,
620
+ __processedMutationIds,
489
621
  }, span);
490
- }).pipe(Effect.withSpan('createStore', {
622
+ }).pipe(Effect.scoped, Effect.withSpan('createStore', {
491
623
  parent: otelOptions?.rootSpanContext
492
624
  ? OtelTracer.makeExternalSpan(otel.trace.getSpanContext(otelOptions.rootSpanContext))
493
625
  : undefined,
494
626
  }), Effect.provide(TracingLive));
495
627
  };
628
+ // TODO consider replacing with Effect's RC data structures
496
629
  class ReferenceCountedSet {
497
630
  map;
498
631
  constructor() {
@@ -523,4 +656,6 @@ class ReferenceCountedSet {
523
656
  }
524
657
  }
525
658
  }
659
+ const runEffectFork = (effect) => effect.pipe(Effect.tapCauseLogPretty, Effect.annotateLogs({ thread: 'window' }), Effect.provide(Logger.pretty), Logger.withMinimumLogLevel(LogLevel.Debug), Effect.runFork);
660
+ const runEffectPromise = (effect) => effect.pipe(Effect.tapCauseLogPretty, Effect.annotateLogs({ thread: 'window' }), Effect.provide(Logger.pretty), Logger.withMinimumLogLevel(LogLevel.Debug), Effect.runPromise);
526
661
  //# sourceMappingURL=store.js.map
package/dist/store.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@livestore/livestore",
3
- "version": "0.0.54-dev.22",
3
+ "version": "0.0.54-dev.25",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -31,9 +31,9 @@
31
31
  "@graphql-typed-document-node/core": "^3.2.0",
32
32
  "@opentelemetry/api": "^1.9.0",
33
33
  "lodash-es": "^4.17.21",
34
- "@livestore/common": "0.0.54-dev.22",
35
- "@livestore/utils": "0.0.54-dev.22",
36
- "effect-db-schema": "0.0.54-dev.22"
34
+ "@livestore/utils": "0.0.54-dev.25",
35
+ "@livestore/common": "0.0.54-dev.25",
36
+ "effect-db-schema": "0.0.54-dev.25"
37
37
  },
38
38
  "devDependencies": {
39
39
  "@opentelemetry/sdk-trace-base": "1.25.0",
@@ -48,7 +48,7 @@
48
48
  "typescript": "5.4.5",
49
49
  "vite": "5.3.1",
50
50
  "vitest": "^1.6.0",
51
- "@livestore/web": "0.0.54-dev.22"
51
+ "@livestore/web": "0.0.54-dev.25"
52
52
  },
53
53
  "peerDependencies": {
54
54
  "@tauri-apps/api": "^1.4.0",
@@ -99,7 +99,7 @@ export const makeTodoMvc = async ({
99
99
  })
100
100
 
101
101
  // TODO improve typing of `LiveStoreContext`
102
- const storeContext: LiveStoreContext = { store } as TODO
102
+ const storeContext = { stage: 'running', store } as any as LiveStoreContext
103
103
 
104
104
  const MaybeStrictMode = strictMode ? React.StrictMode : React.Fragment
105
105
 
@@ -12,6 +12,7 @@ import { createStore } from '../store.js'
12
12
 
13
13
  // TODO get rid of `LiveStoreContext` wrapper and only expose the `Store` directly
14
14
  export type LiveStoreContext = {
15
+ stage: 'running'
15
16
  store: Store
16
17
  }
17
18
 
@@ -105,7 +106,7 @@ export const makeLiveStoreContext = <GraphQLContext extends BaseGraphQLContext>(
105
106
 
106
107
  window.__debugLiveStore = store
107
108
 
108
- return { store }
109
+ return { stage: 'running', store } satisfies LiveStoreContext
109
110
  }),
110
111
  Effect.tap((storeCtx) => Effect.flatMap(DeferredStoreContext, (def) => Deferred.succeed(def, storeCtx))),
111
112
  Effect.timeoutFail({