@livestore/livestore 0.0.54-dev.19 → 0.0.54-dev.21

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 (73) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/MainDatabaseWrapper.d.ts +5 -3
  3. package/dist/MainDatabaseWrapper.d.ts.map +1 -1
  4. package/dist/MainDatabaseWrapper.js +3 -3
  5. package/dist/MainDatabaseWrapper.js.map +1 -1
  6. package/dist/__tests__/react/fixture.d.ts +3 -3
  7. package/dist/__tests__/react/fixture.d.ts.map +1 -1
  8. package/dist/__tests__/react/fixture.js +10 -8
  9. package/dist/__tests__/react/fixture.js.map +1 -1
  10. package/dist/effect/LiveStore.d.ts +2 -3
  11. package/dist/effect/LiveStore.d.ts.map +1 -1
  12. package/dist/effect/LiveStore.js +4 -2
  13. package/dist/effect/LiveStore.js.map +1 -1
  14. package/dist/global-state.d.ts +1 -1
  15. package/dist/global-state.d.ts.map +1 -1
  16. package/dist/global-state.js +2 -2
  17. package/dist/global-state.js.map +1 -1
  18. package/dist/index.d.ts +2 -2
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +2 -2
  21. package/dist/index.js.map +1 -1
  22. package/dist/react/LiveStoreProvider.d.ts +3 -4
  23. package/dist/react/LiveStoreProvider.d.ts.map +1 -1
  24. package/dist/react/LiveStoreProvider.js +8 -13
  25. package/dist/react/LiveStoreProvider.js.map +1 -1
  26. package/dist/react/useRow.d.ts +2 -2
  27. package/dist/react/useRow.d.ts.map +1 -1
  28. package/dist/react/useRow.js +3 -3
  29. package/dist/react/useRow.js.map +1 -1
  30. package/dist/react/useRow.test.js +21 -21
  31. package/dist/react/useRow.test.js.map +1 -1
  32. package/dist/react/useTemporaryQuery.js +1 -1
  33. package/dist/react/useTemporaryQuery.js.map +1 -1
  34. package/dist/reactiveQueries/base-class.d.ts +6 -6
  35. package/dist/reactiveQueries/base-class.d.ts.map +1 -1
  36. package/dist/reactiveQueries/base-class.js +3 -3
  37. package/dist/reactiveQueries/base-class.js.map +1 -1
  38. package/dist/reactiveQueries/graphql.d.ts +8 -8
  39. package/dist/reactiveQueries/graphql.d.ts.map +1 -1
  40. package/dist/reactiveQueries/graphql.js +10 -10
  41. package/dist/reactiveQueries/graphql.js.map +1 -1
  42. package/dist/reactiveQueries/js.d.ts +6 -6
  43. package/dist/reactiveQueries/js.d.ts.map +1 -1
  44. package/dist/reactiveQueries/js.js +8 -8
  45. package/dist/reactiveQueries/js.js.map +1 -1
  46. package/dist/reactiveQueries/sql.d.ts +8 -8
  47. package/dist/reactiveQueries/sql.d.ts.map +1 -1
  48. package/dist/reactiveQueries/sql.js +11 -11
  49. package/dist/reactiveQueries/sql.js.map +1 -1
  50. package/dist/row-query.d.ts +2 -2
  51. package/dist/row-query.d.ts.map +1 -1
  52. package/dist/row-query.js +2 -2
  53. package/dist/row-query.js.map +1 -1
  54. package/dist/store.d.ts +17 -16
  55. package/dist/store.d.ts.map +1 -1
  56. package/dist/store.js +46 -50
  57. package/dist/store.js.map +1 -1
  58. package/package.json +5 -12
  59. package/src/MainDatabaseWrapper.ts +7 -6
  60. package/src/__tests__/react/fixture.tsx +11 -9
  61. package/src/effect/LiveStore.ts +6 -5
  62. package/src/global-state.ts +2 -2
  63. package/src/index.ts +7 -2
  64. package/src/react/LiveStoreProvider.tsx +10 -18
  65. package/src/react/useRow.test.tsx +21 -21
  66. package/src/react/useRow.ts +5 -5
  67. package/src/react/useTemporaryQuery.ts +2 -2
  68. package/src/reactiveQueries/base-class.ts +9 -9
  69. package/src/reactiveQueries/graphql.ts +19 -15
  70. package/src/reactiveQueries/js.ts +12 -12
  71. package/src/reactiveQueries/sql.ts +18 -18
  72. package/src/row-query.ts +6 -6
  73. package/src/store.ts +75 -69
@@ -2,7 +2,7 @@ import { prepareBindValues } from '@livestore/common';
2
2
  import { shouldNeverHappen } from '@livestore/utils';
3
3
  import { Schema, TreeFormatter } from '@livestore/utils/effect';
4
4
  import * as otel from '@opentelemetry/api';
5
- import { globalDbGraph } from '../global-state.js';
5
+ import { globalReactivityGraph } from '../global-state.js';
6
6
  import { getDurationMsFromSpan } from '../utils/otel.js';
7
7
  import { LiveStoreQueryBase, makeGetAtomResult } from './base-class.js';
8
8
  export const querySQL = (query, options) => new LiveStoreSQLQuery({
@@ -10,7 +10,7 @@ export const querySQL = (query, options) => new LiveStoreSQLQuery({
10
10
  genQueryString: query,
11
11
  queriedTables: options?.queriedTables,
12
12
  bindValues: options?.bindValues,
13
- dbGraph: options?.dbGraph,
13
+ reactivityGraph: options?.reactivityGraph,
14
14
  map: options?.map,
15
15
  queryInfo: { _tag: 'None' },
16
16
  });
@@ -22,16 +22,16 @@ export class LiveStoreSQLQuery extends LiveStoreQueryBase {
22
22
  /** A reactive thunk representing the query results */
23
23
  results$;
24
24
  label;
25
- dbGraph;
25
+ reactivityGraph;
26
26
  /** Currently only used by `rowQuery` for lazy table migrations and eager default row insertion */
27
27
  execBeforeFirstRun;
28
28
  mapRows;
29
29
  queryInfo;
30
- constructor({ genQueryString, queriedTables, bindValues, label: label_, dbGraph, map, execBeforeFirstRun, queryInfo, }) {
30
+ constructor({ genQueryString, queriedTables, bindValues, label: label_, reactivityGraph, map, execBeforeFirstRun, queryInfo, }) {
31
31
  super();
32
32
  const label = label_ ?? genQueryString.toString();
33
33
  this.label = `sql(${label})`;
34
- this.dbGraph = dbGraph ?? globalDbGraph;
34
+ this.reactivityGraph = reactivityGraph ?? globalReactivityGraph;
35
35
  this.execBeforeFirstRun = execBeforeFirstRun;
36
36
  this.queryInfo = queryInfo ?? { _tag: 'None' };
37
37
  this.mapRows =
@@ -67,7 +67,7 @@ Result:`, rows);
67
67
  : shouldNeverHappen(`Invalid map function ${map}`);
68
68
  let queryString$OrQueryString;
69
69
  if (typeof genQueryString === 'function') {
70
- queryString$OrQueryString = this.dbGraph.makeThunk((get, setDebugInfo, { rootOtelContext }, otelContext) => {
70
+ queryString$OrQueryString = this.reactivityGraph.makeThunk((get, setDebugInfo, { rootOtelContext }, otelContext) => {
71
71
  const startMs = performance.now();
72
72
  const queryString = genQueryString(makeGetAtomResult(get, otelContext ?? rootOtelContext));
73
73
  const durationMs = performance.now() - startMs;
@@ -81,7 +81,7 @@ Result:`, rows);
81
81
  }
82
82
  const queryLabel = `${label}:results`;
83
83
  const queriedTablesRef = { current: queriedTables };
84
- const results$ = this.dbGraph.makeThunk((get, setDebugInfo, { store, otelTracer, rootOtelContext }, otelContext) => otelTracer.startActiveSpan('sql:...', // NOTE span name will be overridden further down
84
+ const results$ = this.reactivityGraph.makeThunk((get, setDebugInfo, { store, otelTracer, rootOtelContext }, otelContext) => otelTracer.startActiveSpan('sql:...', // NOTE span name will be overridden further down
85
85
  {}, otelContext ?? rootOtelContext, (span) => {
86
86
  const otelContext = otel.trace.setSpan(otel.context.active(), span);
87
87
  if (this.execBeforeFirstRun !== undefined) {
@@ -128,7 +128,7 @@ Result:`, rows);
128
128
  // },
129
129
  // label: `${this.label}:js`,
130
130
  // onDestroy: () => this.destroy(),
131
- // dbGraph: this.dbGraph,
131
+ // reactivityGraph: this.reactivityGraph,
132
132
  // queryInfo: undefined,
133
133
  // })
134
134
  /** Returns a reactive query */
@@ -145,13 +145,13 @@ Result:`, rows);
145
145
  // },
146
146
  // label: `${this.label}:first`,
147
147
  // onDestroy: () => this.destroy(),
148
- // dbGraph: this.dbGraph,
148
+ // reactivityGraph: this.reactivityGraph,
149
149
  // })
150
150
  destroy = () => {
151
151
  if (this.queryString$ !== undefined) {
152
- this.dbGraph.destroyNode(this.queryString$);
152
+ this.reactivityGraph.destroyNode(this.queryString$);
153
153
  }
154
- this.dbGraph.destroyNode(this.results$);
154
+ this.reactivityGraph.destroyNode(this.results$);
155
155
  };
156
156
  }
157
157
  //# sourceMappingURL=sql.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sql.js","sourceRoot":"","sources":["../../src/reactiveQueries/sql.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sql.js","sourceRoot":"","sources":["../../src/reactiveQueries/sql.ts"],"names":[],"mappings":"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"}
@@ -3,11 +3,11 @@ import { DbSchema } from '@livestore/common/schema';
3
3
  import type { GetValForKey } from '@livestore/utils';
4
4
  import type * as otel from '@opentelemetry/api';
5
5
  import type { SqliteDsl } from 'effect-db-schema';
6
- import type { DbGraph, LiveQuery } from './reactiveQueries/base-class.js';
6
+ import type { LiveQuery, ReactivityGraph } from './reactiveQueries/base-class.js';
7
7
  export type RowQueryOptions = {
8
8
  otelContext?: otel.Context;
9
9
  skipInsertDefaultRow?: boolean;
10
- dbGraph?: DbGraph;
10
+ reactivityGraph?: ReactivityGraph;
11
11
  };
12
12
  export type RowQueryOptionsDefaulValues<TTableDef extends DbSchema.TableDef> = {
13
13
  defaultValues: Partial<RowResult<TTableDef>>;
@@ -1 +1 @@
1
- {"version":3,"file":"row-query.d.ts","sourceRoot":"","sources":["../src/row-query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"row-query.d.ts","sourceRoot":"","sources":["../src/row-query.ts"],"names":[],"mappings":"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"}
package/dist/row-query.js CHANGED
@@ -25,7 +25,7 @@ export const rowQuery = (table, idOrOptions, options_) => {
25
25
  label: `rowQuery:query:${tableSchema.name}${id === undefined ? '' : `:${id}`}`,
26
26
  genQueryString: queryStr,
27
27
  queriedTables: new Set([tableName]),
28
- dbGraph: options?.dbGraph,
28
+ reactivityGraph: options?.reactivityGraph,
29
29
  // While this code-path is not needed for singleton tables, it's still needed for `useRow` with non-existing rows for a given ID
30
30
  execBeforeFirstRun: makeExecBeforeFirstRun({
31
31
  otelContext: options?.otelContext,
@@ -87,7 +87,7 @@ const makeExecBeforeFirstRun = ({ id, defaultValues, skipInsertDefaultRow, otelC
87
87
  }
88
88
  const label = `tableRef:${tableName}`;
89
89
  // TODO find a better implementation for this
90
- const existingTableRefFromGraph = Array.from(store.graph.atoms.values()).find((_) => _._tag === 'ref' && _.label === label);
90
+ const existingTableRefFromGraph = Array.from(store.reactivityGraph.atoms.values()).find((_) => _._tag === 'ref' && _.label === label);
91
91
  store.tableRefs[tableName] = existingTableRefFromGraph ?? store.makeTableRef(tableName);
92
92
  }
93
93
  if (skipInsertDefaultRow !== true && table.options.isSingleton === false) {
@@ -1 +1 @@
1
- {"version":3,"file":"row-query.js","sourceRoot":"","sources":["../src/row-query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"row-query.js","sourceRoot":"","sources":["../src/row-query.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAEtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAG/D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAI5C,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAsC5D,wDAAwD;AACxD,MAAM,CAAC,MAAM,QAAQ,GAAiB,CACpC,KAAgB,EAChB,WAAsC,EACtC,QAAmE,EACnE,EAAE;IACF,MAAM,EAAE,GAAG,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAA;IACpE,MAAM,OAAO,GAAG,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAA;IACxE,MAAM,aAAa,GAA+C,OAAe,EAAE,aAAa,IAAI,EAAE,CAAA;IAEtG,sBAAsB;IACtB,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,KAAK,IAAI,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;QAC3D,iBAAiB,CAAC,4BAA4B,KAAK,CAAC,SAAS,CAAC,IAAI,aAAa,EAAE,wBAAwB,CAAC,CAAA;IAC5G,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,KAAK,IAAI,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;QAClE,iBAAiB,CAAC,4BAA4B,KAAK,CAAC,SAAS,CAAC,IAAI,aAAa,CAAC,CAAA;IAClF,CAAC;IAED,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAA;IACnC,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAA;IAElC,MAAM,WAAW,GAAG,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,GAAG,CAAA;IAChE,MAAM,QAAQ,GAAG,GAAG,CAAA,iBAAiB,SAAS,IAAI,WAAW,UAAU,CAAA;IAEvE,OAAO,IAAI,iBAAiB,CAAC;QAC3B,KAAK,EAAE,kBAAkB,WAAW,CAAC,IAAI,GAAG,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE;QAC9E,cAAc,EAAE,QAAQ;QACxB,aAAa,EAAE,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;QACnC,eAAe,EAAE,OAAO,EAAE,eAAe;QACzC,gIAAgI;QAChI,kBAAkB,EAAE,sBAAsB,CAAC;YACzC,WAAW,EAAE,OAAO,EAAE,WAAW;YACjC,KAAK;YACL,SAAS;YACT,aAAa;YACb,EAAE;YACF,oBAAoB,EAAE,OAAO,EAAE,oBAAoB;SACpD,CAAC;QACF,GAAG,EAAE,CAAC,OAAO,EAAwB,EAAE;YACrC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,iBAAiB,CAAC,wBAAwB,QAAQ,EAAE,CAAC,CAAA;YAEtF,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,CAAA;YAElE,IAAI,WAAW,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAChC,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,aAAa,CAAC,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;gBAClG,OAAO,iBAAiB,CAAC,mCAAmC,QAAQ,EAAE,CAAC,CAAA;YACzE,CAAC;YAED,OAAO,KAAK,CAAC,cAAc,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAA;QACpF,CAAC;QACD,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,WAAW,EAAE;KACzD,CAAC,CAAA;AACJ,CAAC,CAAA;AAUD,MAAM,CAAC,MAAM,cAAc,GASvB,CAAC,MAAoB,EAAE,OAAe,EAAE,EAAE;IAC5C,OAAO,QAAQ,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE;QAC7C,KAAK,EAAE,kBAAkB,MAAM,CAAC,KAAK,IAAI,OAAO,EAAE;QAClD,SAAS,EACP,MAAM,CAAC,SAAS,CAAC,IAAI,KAAK,KAAK;YAC7B,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE;YAC1F,CAAC,CAAC,SAAS;KAChB,CAAQ,CAAA;AACX,CAAC,CAAA;AAED,MAAM,sBAAsB,GAC1B,CAAC,EACC,EAAE,EACF,aAAa,EACb,oBAAoB,EACpB,WAAW,EAAE,YAAY,EACzB,KAAK,EACL,SAAS,GAQV,EAAE,EAAE,CACL,CAAC,EAAE,KAAK,EAAgB,EAAE,EAAE;IAC1B,MAAM,WAAW,GAAG,YAAY,IAAI,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAA;IAEjE,qEAAqE;IACrE,IAAI,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,SAAS,EAAE,CAAC;QAC7C,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;QACtD,MAAM,GAAG,GAAG,KAAK,CAAC,aAAa,CAAC,MAAM,CACpC,GAAG,CAAA,0BAA0B,iBAAiB,uBAAuB,SAAS,GAAG,CAClF,CAAA;QACD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAE,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;YAC1D,MAAM,EAAE,GAAG;gBACT,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM;gBACvB,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;oBACjB,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;oBACpD,OAAO;wBACL,GAAG,QAAQ;wBACX,OAAO,EAAE,CAAC,UAAU,EAAE,EAAE;4BACtB,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;4BACnD,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC,CAAA;4BAC/D,OAAO,cAAc,CAAA;wBACvB,CAAC;qBACF,CAAA;gBACH,CAAC;aACyB,CAAA;YAE5B,YAAY,CAAC;gBACX,EAAE;gBACF,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG;gBAC7B,WAAW;gBACX,UAAU;gBACV,SAAS,EAAE,sBAAsB;aAClC,CAAC,CAAA;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,YAAY,SAAS,EAAE,CAAA;QAErC,6CAA6C;QAC7C,MAAM,yBAAyB,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CACrF,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK,CACS,CAAA;QAEvD,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,yBAAyB,IAAI,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;IACzF,CAAC;IAED,IAAI,oBAAoB,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;QACzE,kCAAkC,CAAC;YACjC,KAAK;YACL,EAAE,EAAE,EAAG;YACP,KAAK;YACL,WAAW;YACX,qBAAqB,EAAE,aAAa;SACrC,CAAC,CAAA;IACJ,CAAC;AACH,CAAC,CAAA;AAEH,MAAM,kCAAkC,GAAG,CAAC,EAC1C,KAAK,EACL,EAAE,EACF,KAAK,EACL,WAAW,EACX,qBAAqB,GAOtB,EAAE,EAAE;IACH,MAAM,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,iBAAiB,KAAK,CAAC,SAAS,CAAC,IAAI,gBAAgB,EAAE,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAA;IACrH,IAAI,SAAS;QAAE,OAAM;IAErB,qDAAqD;IACrD,IAAI,QAAQ,CAAC,wBAAwB,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE,CAAC;QACvD,OAAO,iBAAiB,CACtB,gCAAgC,KAAK,CAAC,SAAS,CAAC,IAAI,mDAAmD,CACxG,CAAA;IACH,CAAC;IACD,6GAA6G;IAC7G,KAAK,CAAC,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,GAAG,qBAAqB,EAAE,CAAC,EAAE;QACzE,WAAW;QACX,eAAe,EAAE,SAAS;KAC3B,CAAC,CAAA;AACJ,CAAC,CAAA"}
package/dist/store.d.ts CHANGED
@@ -1,11 +1,11 @@
1
1
  import type { BootDb, ParamsObject, ResetMode, StoreAdapter, StoreAdapterFactory } from '@livestore/common';
2
- import type { LiveStoreSchema, MutationEvent, MutationEventSchema } from '@livestore/common/schema';
2
+ import type { LiveStoreSchema, MutationEvent } from '@livestore/common/schema';
3
3
  import * as otel from '@opentelemetry/api';
4
4
  import type { GraphQLSchema } from 'graphql';
5
5
  import { MainDatabaseWrapper } from './MainDatabaseWrapper.js';
6
6
  import type { StackInfo } from './react/utils/stack-info.js';
7
- import type { DebugRefreshReasonBase, ReactiveGraph, Ref } from './reactive.js';
8
- import type { DbContext, DbGraph, LiveQuery } from './reactiveQueries/base-class.js';
7
+ import type { DebugRefreshReasonBase, Ref } from './reactive.js';
8
+ import type { LiveQuery, QueryContext, ReactivityGraph } from './reactiveQueries/base-class.js';
9
9
  export type BaseGraphQLContext = {
10
10
  queriedTables: Set<string>;
11
11
  /** Needed by Pothos Otel plugin for resolver tracing to work */
@@ -15,14 +15,16 @@ export type GraphQLOptions<TContext> = {
15
15
  schema: GraphQLSchema;
16
16
  makeContext: (db: MainDatabaseWrapper, tracer: otel.Tracer) => TContext;
17
17
  };
18
+ export type OtelOptions = {
19
+ tracer: otel.Tracer;
20
+ rootSpanContext: otel.Context;
21
+ };
18
22
  export type StoreOptions<TGraphQLContext extends BaseGraphQLContext, TSchema extends LiveStoreSchema = LiveStoreSchema> = {
19
23
  adapter: StoreAdapter;
20
24
  schema: TSchema;
21
25
  graphQLOptions?: GraphQLOptions<TGraphQLContext>;
22
- otelTracer: otel.Tracer;
23
- otelRootSpanContext: otel.Context;
24
- dbGraph: DbGraph;
25
- mutationEventSchema: MutationEventSchema<any>;
26
+ otelOptions: OtelOptions;
27
+ reactivityGraph: ReactivityGraph;
26
28
  disableDevtools?: boolean;
27
29
  };
28
30
  export type RefreshReason = DebugRefreshReasonBase | {
@@ -65,7 +67,7 @@ export type StoreMutateOptions = {
65
67
  };
66
68
  export declare class Store<TGraphQLContext extends BaseGraphQLContext = BaseGraphQLContext, TSchema extends LiveStoreSchema = LiveStoreSchema> {
67
69
  id: string;
68
- graph: ReactiveGraph<RefreshReason, QueryDebugInfo, DbContext>;
70
+ reactivityGraph: ReactivityGraph;
69
71
  mainDbWrapper: MainDatabaseWrapper;
70
72
  adapter: StoreAdapter;
71
73
  schema: LiveStoreSchema;
@@ -77,13 +79,13 @@ export declare class Store<TGraphQLContext extends BaseGraphQLContext = BaseGrap
77
79
  * This only works in combination with `equal: () => false` which will always trigger a refresh.
78
80
  */
79
81
  tableRefs: {
80
- [key: string]: Ref<null, DbContext, RefreshReason>;
82
+ [key: string]: Ref<null, QueryContext, RefreshReason>;
81
83
  };
82
84
  __processedMutationIds: Set<string>;
83
85
  __processedMutationWithoutRefreshIds: Set<string>;
84
86
  /** RC-based set to see which queries are currently subscribed to */
85
87
  activeQueries: ReferenceCountedSet<LiveQuery<any>>;
86
- readonly __mutationEventSchema: MutationEventSchema<any>;
88
+ readonly __mutationEventSchema: import("@livestore/common/schema").MutationEventSchema<TSchema["_MutationDefMapType"]>;
87
89
  private constructor();
88
90
  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>;
89
91
  /**
@@ -134,21 +136,20 @@ export declare class Store<TGraphQLContext extends BaseGraphQLContext = BaseGrap
134
136
  */
135
137
  execute: (query: string, params?: ParamsObject, writeTables?: ReadonlySet<string>, otelContext?: otel.Context) => void;
136
138
  select: (query: string, params?: ParamsObject) => readonly any[];
137
- makeTableRef: (tableName: string) => Ref<null, DbContext, RefreshReason>;
139
+ makeTableRef: (tableName: string) => Ref<null, QueryContext, RefreshReason>;
138
140
  private bootDevtools;
139
141
  __devDownloadDb: () => void;
140
142
  __devDownloadMutationLogDb: () => Promise<void>;
141
143
  dangerouslyResetStorage: (mode: ResetMode) => Promise<void>;
142
144
  }
143
145
  /** Create a new LiveStore Store */
144
- export declare const createStore: <TGraphQLContext extends BaseGraphQLContext, TSchema extends LiveStoreSchema = LiveStoreSchema>({ schema, graphQLOptions, otelTracer, otelRootSpanContext, adapter: adapterFactory, boot, dbGraph, batchUpdates, disableDevtools, }: {
146
+ export declare const createStore: <TGraphQLContext extends BaseGraphQLContext, TSchema extends LiveStoreSchema = LiveStoreSchema>({ schema, graphQLOptions, otelOptions, adapter: adapterFactory, boot, reactivityGraph, batchUpdates, disableDevtools, }: {
145
147
  schema: TSchema;
146
- graphQLOptions?: GraphQLOptions<TGraphQLContext>;
147
- otelTracer?: otel.Tracer;
148
- otelRootSpanContext?: otel.Context;
149
148
  adapter: StoreAdapterFactory;
149
+ reactivityGraph?: ReactivityGraph;
150
+ graphQLOptions?: GraphQLOptions<TGraphQLContext>;
151
+ otelOptions?: Partial<OtelOptions>;
150
152
  boot?: (db: BootDb, parentSpan: otel.Span) => unknown | Promise<unknown>;
151
- dbGraph?: DbGraph;
152
153
  batchUpdates?: (run: () => void) => void;
153
154
  disableDevtools?: boolean;
154
155
  }) => Promise<Store<TGraphQLContext, TSchema>>;
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
package/dist/store.js CHANGED
@@ -1,10 +1,10 @@
1
1
  import { Devtools, getExecArgsFromMutation, prepareBindValues } from '@livestore/common';
2
2
  import { version as liveStoreVersion } from '@livestore/common/package.json';
3
- import { makeMutationEventSchema } from '@livestore/common/schema';
4
- import { assertNever, isPromise, makeNoopTracer, ref, shouldNeverHappen } from '@livestore/utils';
3
+ import { makeMutationEventSchemaMemo } from '@livestore/common/schema';
4
+ import { assertNever, isPromise, makeNoopTracer, shouldNeverHappen } from '@livestore/utils';
5
5
  import { Effect, Schema, Stream } from '@livestore/utils/effect';
6
6
  import * as otel from '@opentelemetry/api';
7
- import { globalDbGraph } from './global-state.js';
7
+ import { globalReactivityGraph } from './global-state.js';
8
8
  import { MainDatabaseWrapper } from './MainDatabaseWrapper.js';
9
9
  import { downloadBlob } from './utils/dev.js';
10
10
  import { getDurationMsFromSpan } from './utils/otel.js';
@@ -12,11 +12,8 @@ let storeCount = 0;
12
12
  const uniqueStoreId = () => `store-${++storeCount}`;
13
13
  export class Store {
14
14
  id = uniqueStoreId();
15
- graph;
15
+ reactivityGraph;
16
16
  mainDbWrapper;
17
- // TODO refactor
18
- // _proxyDb: InMemoryDatabase
19
- // TODO
20
17
  adapter;
21
18
  schema;
22
19
  graphQLSchema;
@@ -33,22 +30,25 @@ export class Store {
33
30
  /** RC-based set to see which queries are currently subscribed to */
34
31
  activeQueries;
35
32
  __mutationEventSchema;
36
- constructor({ adapter, schema, graphQLOptions, dbGraph, otelTracer, otelRootSpanContext, mutationEventSchema, disableDevtools, }) {
37
- this.mainDbWrapper = new MainDatabaseWrapper({ otelTracer, otelRootSpanContext, db: adapter.mainDb });
33
+ constructor({ adapter, schema, graphQLOptions, reactivityGraph, otelOptions, disableDevtools, }) {
34
+ this.mainDbWrapper = new MainDatabaseWrapper({ otel: otelOptions, db: adapter.mainDb });
38
35
  this.adapter = adapter;
39
36
  this.schema = schema;
40
37
  // TODO refactor
41
- this.__mutationEventSchema = mutationEventSchema;
42
- // this.mutationEventSchema = makeMutationEventSchema(Object.fromEntries(schema.mutations.entries()) as any)
38
+ this.__mutationEventSchema = makeMutationEventSchemaMemo(schema);
43
39
  // TODO generalize the `tableRefs` concept to allow finer-grained refs
44
40
  this.tableRefs = {};
45
41
  this.activeQueries = new ReferenceCountedSet();
46
- const mutationsSpan = otelTracer.startSpan('LiveStore:mutations', {}, otelRootSpanContext);
42
+ const mutationsSpan = otelOptions.tracer.startSpan('LiveStore:mutations', {}, otelOptions.rootSpanContext);
47
43
  const otelMuationsSpanContext = otel.trace.setSpan(otel.context.active(), mutationsSpan);
48
- const queriesSpan = otelTracer.startSpan('LiveStore:queries', {}, otelRootSpanContext);
44
+ const queriesSpan = otelOptions.tracer.startSpan('LiveStore:queries', {}, otelOptions.rootSpanContext);
49
45
  const otelQueriesSpanContext = otel.trace.setSpan(otel.context.active(), queriesSpan);
50
- this.graph = dbGraph;
51
- this.graph.context = { store: this, otelTracer, rootOtelContext: otelQueriesSpanContext };
46
+ this.reactivityGraph = reactivityGraph;
47
+ this.reactivityGraph.context = {
48
+ store: this,
49
+ otelTracer: otelOptions.tracer,
50
+ rootOtelContext: otelQueriesSpanContext,
51
+ };
52
52
  this.adapter.coordinator.syncMutations.pipe(Stream.tapSync((mutationEventDecoded) => {
53
53
  this.mutate({ wasSyncMessage: true }, mutationEventDecoded);
54
54
  }), Stream.runDrain, Effect.tapCauseLogPretty, Effect.runFork);
@@ -56,13 +56,13 @@ export class Store {
56
56
  this.bootDevtools();
57
57
  }
58
58
  this.otel = {
59
- tracer: otelTracer,
59
+ tracer: otelOptions.tracer,
60
60
  mutationsSpanContext: otelMuationsSpanContext,
61
61
  queriesSpanContext: otelQueriesSpanContext,
62
62
  };
63
63
  // Need a set here since `schema.tables` might contain duplicates and some componentStateTables
64
64
  const allTableNames = new Set(this.schema.tables.keys());
65
- const existingTableRefs = new Map(Array.from(this.graph.atoms.values())
65
+ const existingTableRefs = new Map(Array.from(this.reactivityGraph.atoms.values())
66
66
  .filter((_) => _._tag === 'ref' && _.label?.startsWith('tableRef:') === true)
67
67
  .map((_) => [_.label.slice('tableRef:'.length), _]));
68
68
  for (const tableName of allTableNames) {
@@ -75,7 +75,7 @@ export class Store {
75
75
  }
76
76
  static createStore = (storeOptions, parentSpan) => {
77
77
  const ctx = otel.trace.setSpan(otel.context.active(), parentSpan);
78
- return storeOptions.otelTracer.startActiveSpan('LiveStore:store-constructor', {}, ctx, (span) => {
78
+ return storeOptions.otelOptions.tracer.startActiveSpan('LiveStore:store-constructor', {}, ctx, (span) => {
79
79
  try {
80
80
  return new Store(storeOptions);
81
81
  }
@@ -92,7 +92,7 @@ export class Store {
92
92
  // console.log('store sub', query$.label)
93
93
  const otelContext = otel.trace.setSpan(otel.context.active(), span);
94
94
  const label = `subscribe:${options?.label}`;
95
- const effect = this.graph.makeEffect((get) => onNewValue(get(query$.results$)), { label });
95
+ const effect = this.reactivityGraph.makeEffect((get) => onNewValue(get(query$.results$)), { label });
96
96
  this.activeQueries.add(query$);
97
97
  // Running effect right away to get initial value (unless `skipInitialRun` is set)
98
98
  if (options?.skipInitialRun !== true) {
@@ -101,7 +101,7 @@ export class Store {
101
101
  const unsubscribe = () => {
102
102
  // console.log('store unsub', query$.label)
103
103
  try {
104
- this.graph.destroyNode(effect);
104
+ this.reactivityGraph.destroyNode(effect);
105
105
  this.activeQueries.remove(query$);
106
106
  onUnsubsubscribe?.();
107
107
  }
@@ -119,7 +119,7 @@ export class Store {
119
119
  destroy = async () => {
120
120
  for (const tableRef of Object.values(this.tableRefs)) {
121
121
  for (const superComp of tableRef.super) {
122
- this.graph.removeEdge(superComp, tableRef);
122
+ this.reactivityGraph.removeEdge(superComp, tableRef);
123
123
  }
124
124
  }
125
125
  otel.trace.getSpan(this.otel.mutationsSpanContext).end();
@@ -216,7 +216,7 @@ export class Store {
216
216
  writeTables: Array.from(writeTables),
217
217
  };
218
218
  // Update all table refs together in a batch, to only trigger one reactive update
219
- this.graph.setRefs(tablesToUpdate, { debugRefreshReason, otelContext, skipRefresh });
219
+ this.reactivityGraph.setRefs(tablesToUpdate, { debugRefreshReason, otelContext, skipRefresh });
220
220
  }
221
221
  catch (e) {
222
222
  span.setStatus({ code: otel.SpanStatusCode.ERROR, message: e.toString() });
@@ -235,7 +235,7 @@ export class Store {
235
235
  const { label } = options ?? {};
236
236
  this.otel.tracer.startActiveSpan('LiveStore:manualRefresh', { attributes: { 'livestore.manualRefreshLabel': label } }, this.otel.mutationsSpanContext, (span) => {
237
237
  const otelContext = otel.trace.setSpan(otel.context.active(), span);
238
- this.graph.runDeferredEffects({ otelContext });
238
+ this.reactivityGraph.runDeferredEffects({ otelContext });
239
239
  span.end();
240
240
  });
241
241
  };
@@ -302,16 +302,15 @@ export class Store {
302
302
  select = (query, params = {}) => {
303
303
  return this.mainDbWrapper.select(query, { bindValues: prepareBindValues(params, query) });
304
304
  };
305
- makeTableRef = (tableName) => this.graph.makeRef(null, {
305
+ makeTableRef = (tableName) => this.reactivityGraph.makeRef(null, {
306
306
  equal: () => false,
307
307
  label: `tableRef:${tableName}`,
308
308
  meta: { liveStoreRefType: 'table' },
309
309
  });
310
310
  bootDevtools = () => {
311
311
  const devtoolsChannel = Devtools.makeBroadcastChannels();
312
- const signalsSubcriptionRef = ref(undefined);
313
- // let alreadySubscribedToLiveQueries = false
314
- const liveQueriesSubscriptionRef = ref(undefined);
312
+ const reactivityGraphSubcriptions = new Map();
313
+ const liveQueriesSubscriptions = new Map();
315
314
  devtoolsChannel.toAppHost.addEventListener('message', async (event) => {
316
315
  const decoded = Schema.decodeUnknownOption(Devtools.MessageToAppHost)(event.data);
317
316
  if (decoded._tag === 'None' ||
@@ -324,17 +323,15 @@ export class Store {
324
323
  const requestId = decoded.value.requestId;
325
324
  const sendToDevtools = (message) => devtoolsChannel.fromAppHost.postMessage(Schema.encodeSync(Devtools.MessageFromAppHost)(message));
326
325
  switch (decoded.value._tag) {
327
- case 'LSD.SignalsSubscribe': {
326
+ case 'LSD.ReactivityGraphSubscribe': {
328
327
  const includeResults = decoded.value.includeResults;
329
- const send = () => sendToDevtools(Devtools.SignalsRes.make({
330
- signals: this.graph.getSnapshot({ includeResults }),
328
+ const send = () => sendToDevtools(Devtools.ReactivityGraphRes.make({
329
+ reactivityGraph: this.reactivityGraph.getSnapshot({ includeResults }),
331
330
  requestId,
332
331
  liveStoreVersion,
333
332
  }));
334
333
  send();
335
- if (signalsSubcriptionRef.current === undefined) {
336
- signalsSubcriptionRef.current = this.graph.subscribeToRefresh(() => send());
337
- }
334
+ reactivityGraphSubcriptions.set(requestId, this.reactivityGraph.subscribeToRefresh(() => send()));
338
335
  break;
339
336
  }
340
337
  case 'LSD.DebugInfoReq': {
@@ -352,9 +349,8 @@ export class Store {
352
349
  sendToDevtools(Devtools.DebugInfoRerunQueryRes.make({ requestId, liveStoreVersion }));
353
350
  break;
354
351
  }
355
- case 'LSD.SignalsUnsubscribe': {
356
- signalsSubcriptionRef.current();
357
- signalsSubcriptionRef.current = undefined;
352
+ case 'LSD.ReactivityGraphUnsubscribe': {
353
+ reactivityGraphSubcriptions.get(requestId)();
358
354
  break;
359
355
  }
360
356
  case 'LSD.LiveQueriesSubscribe': {
@@ -372,14 +368,11 @@ export class Store {
372
368
  liveStoreVersion,
373
369
  }));
374
370
  send();
375
- if (liveQueriesSubscriptionRef.current === undefined) {
376
- liveQueriesSubscriptionRef.current = this.graph.subscribeToRefresh(() => send());
377
- }
371
+ liveQueriesSubscriptions.set(requestId, this.reactivityGraph.subscribeToRefresh(() => send()));
378
372
  break;
379
373
  }
380
374
  case 'LSD.LiveQueriesUnsubscribe': {
381
- liveQueriesSubscriptionRef.current();
382
- liveQueriesSubscriptionRef.current = undefined;
375
+ liveQueriesSubscriptions.get(requestId)();
383
376
  break;
384
377
  }
385
378
  case 'LSD.ResetAllDataReq': {
@@ -403,7 +396,9 @@ export class Store {
403
396
  dangerouslyResetStorage = (mode) => this.adapter.coordinator.dangerouslyReset(mode);
404
397
  }
405
398
  /** Create a new LiveStore Store */
406
- export const createStore = async ({ schema, graphQLOptions, otelTracer = makeNoopTracer(), otelRootSpanContext = otel.context.active(), adapter: adapterFactory, boot, dbGraph = globalDbGraph, batchUpdates, disableDevtools, }) => {
399
+ export const createStore = async ({ schema, graphQLOptions, otelOptions, adapter: adapterFactory, boot, reactivityGraph = globalReactivityGraph, batchUpdates, disableDevtools, }) => {
400
+ const otelTracer = otelOptions?.tracer ?? makeNoopTracer();
401
+ const otelRootSpanContext = otelOptions?.rootSpanContext ?? otel.context.active();
407
402
  return otelTracer.startActiveSpan('createStore', {}, otelRootSpanContext, async (span) => {
408
403
  try {
409
404
  performance.mark('livestore:db-creating');
@@ -413,9 +408,9 @@ export const createStore = async ({ schema, graphQLOptions, otelTracer = makeNoo
413
408
  performance.mark('livestore:db-created');
414
409
  performance.measure('livestore:db-create', 'livestore:db-creating', 'livestore:db-created');
415
410
  if (batchUpdates !== undefined) {
416
- dbGraph.effectsWrapper = batchUpdates;
411
+ reactivityGraph.effectsWrapper = batchUpdates;
417
412
  }
418
- const mutationEventSchema = makeMutationEventSchema(Object.fromEntries(schema.mutations.entries()));
413
+ const mutationEventSchema = makeMutationEventSchemaMemo(schema);
419
414
  // TODO consider moving booting into the storage backend
420
415
  if (boot !== undefined) {
421
416
  let isInTxn = false;
@@ -442,7 +437,10 @@ export const createStore = async ({ schema, graphQLOptions, otelTracer = makeNoo
442
437
  adapter.mainDb.execute(statementSql, bindValues);
443
438
  }
444
439
  const mutationEventEncoded = Schema.encodeUnknownSync(mutationEventSchema)(mutationEventDecoded);
445
- void adapter.coordinator.mutate(mutationEventEncoded, { span, persisted: true });
440
+ void adapter.coordinator.mutate(mutationEventEncoded, {
441
+ span,
442
+ persisted: true,
443
+ });
446
444
  }
447
445
  },
448
446
  select: (queryStr, bindValues) => {
@@ -481,13 +479,11 @@ export const createStore = async ({ schema, graphQLOptions, otelTracer = makeNoo
481
479
  // Think about what to do about this case.
482
480
  // await applySchema(db, schema)
483
481
  return Store.createStore({
484
- adapter: adapter,
482
+ adapter,
485
483
  schema,
486
484
  graphQLOptions,
487
- otelTracer,
488
- otelRootSpanContext,
489
- dbGraph,
490
- mutationEventSchema,
485
+ otelOptions: { tracer: otelTracer, rootSpanContext: otelRootSpanContext },
486
+ reactivityGraph,
491
487
  disableDevtools,
492
488
  }, span);
493
489
  }