@livestore/livestore 0.4.0-dev.8 → 0.4.0

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 (129) hide show
  1. package/README.md +0 -1
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/QueryCache.js +1 -1
  4. package/dist/QueryCache.js.map +1 -1
  5. package/dist/SqliteDbWrapper.d.ts +5 -5
  6. package/dist/SqliteDbWrapper.d.ts.map +1 -1
  7. package/dist/SqliteDbWrapper.js +8 -8
  8. package/dist/SqliteDbWrapper.js.map +1 -1
  9. package/dist/SqliteDbWrapper.test.js +4 -3
  10. package/dist/SqliteDbWrapper.test.js.map +1 -1
  11. package/dist/effect/LiveStore.d.ts +133 -5
  12. package/dist/effect/LiveStore.d.ts.map +1 -1
  13. package/dist/effect/LiveStore.js +187 -8
  14. package/dist/effect/LiveStore.js.map +1 -1
  15. package/dist/effect/LiveStore.test.d.ts +2 -0
  16. package/dist/effect/LiveStore.test.d.ts.map +1 -0
  17. package/dist/effect/LiveStore.test.js +42 -0
  18. package/dist/effect/LiveStore.test.js.map +1 -0
  19. package/dist/effect/mod.d.ts +1 -1
  20. package/dist/effect/mod.d.ts.map +1 -1
  21. package/dist/effect/mod.js +3 -1
  22. package/dist/effect/mod.js.map +1 -1
  23. package/dist/live-queries/base-class.d.ts +110 -7
  24. package/dist/live-queries/base-class.d.ts.map +1 -1
  25. package/dist/live-queries/base-class.js +2 -2
  26. package/dist/live-queries/base-class.js.map +1 -1
  27. package/dist/live-queries/client-document-get-query.d.ts +1 -1
  28. package/dist/live-queries/client-document-get-query.d.ts.map +1 -1
  29. package/dist/live-queries/client-document-get-query.js +4 -3
  30. package/dist/live-queries/client-document-get-query.js.map +1 -1
  31. package/dist/live-queries/computed.d.ts +56 -0
  32. package/dist/live-queries/computed.d.ts.map +1 -1
  33. package/dist/live-queries/computed.js +58 -2
  34. package/dist/live-queries/computed.js.map +1 -1
  35. package/dist/live-queries/db-query.d.ts.map +1 -1
  36. package/dist/live-queries/db-query.js +21 -19
  37. package/dist/live-queries/db-query.js.map +1 -1
  38. package/dist/live-queries/db-query.test.js +106 -23
  39. package/dist/live-queries/db-query.test.js.map +1 -1
  40. package/dist/live-queries/signal.d.ts +49 -0
  41. package/dist/live-queries/signal.d.ts.map +1 -1
  42. package/dist/live-queries/signal.js +49 -0
  43. package/dist/live-queries/signal.js.map +1 -1
  44. package/dist/live-queries/signal.test.js +2 -2
  45. package/dist/live-queries/signal.test.js.map +1 -1
  46. package/dist/mod.d.ts +3 -3
  47. package/dist/mod.d.ts.map +1 -1
  48. package/dist/mod.js +3 -2
  49. package/dist/mod.js.map +1 -1
  50. package/dist/reactive.d.ts +9 -9
  51. package/dist/reactive.d.ts.map +1 -1
  52. package/dist/reactive.js +9 -26
  53. package/dist/reactive.js.map +1 -1
  54. package/dist/reactive.test.js +2 -2
  55. package/dist/reactive.test.js.map +1 -1
  56. package/dist/store/StoreRegistry.d.ts +215 -0
  57. package/dist/store/StoreRegistry.d.ts.map +1 -0
  58. package/dist/store/StoreRegistry.js +267 -0
  59. package/dist/store/StoreRegistry.js.map +1 -0
  60. package/dist/store/StoreRegistry.test.d.ts +2 -0
  61. package/dist/store/StoreRegistry.test.d.ts.map +1 -0
  62. package/dist/store/StoreRegistry.test.js +381 -0
  63. package/dist/store/StoreRegistry.test.js.map +1 -0
  64. package/dist/store/create-store.d.ts +98 -18
  65. package/dist/store/create-store.d.ts.map +1 -1
  66. package/dist/store/create-store.js +49 -20
  67. package/dist/store/create-store.js.map +1 -1
  68. package/dist/store/devtools.d.ts +5 -16
  69. package/dist/store/devtools.d.ts.map +1 -1
  70. package/dist/store/devtools.js +59 -18
  71. package/dist/store/devtools.js.map +1 -1
  72. package/dist/store/store-eventstream.test.d.ts +2 -0
  73. package/dist/store/store-eventstream.test.d.ts.map +1 -0
  74. package/dist/store/store-eventstream.test.js +65 -0
  75. package/dist/store/store-eventstream.test.js.map +1 -0
  76. package/dist/store/store-types.d.ts +285 -27
  77. package/dist/store/store-types.d.ts.map +1 -1
  78. package/dist/store/store-types.js +77 -1
  79. package/dist/store/store-types.js.map +1 -1
  80. package/dist/store/store-types.test.d.ts +2 -0
  81. package/dist/store/store-types.test.d.ts.map +1 -0
  82. package/dist/store/store-types.test.js +39 -0
  83. package/dist/store/store-types.test.js.map +1 -0
  84. package/dist/store/store.d.ts +253 -66
  85. package/dist/store/store.d.ts.map +1 -1
  86. package/dist/store/store.js +442 -153
  87. package/dist/store/store.js.map +1 -1
  88. package/dist/utils/dev.d.ts.map +1 -1
  89. package/dist/utils/dev.js.map +1 -1
  90. package/dist/utils/stack-info.js +2 -2
  91. package/dist/utils/stack-info.js.map +1 -1
  92. package/dist/utils/tests/fixture.d.ts +20 -5
  93. package/dist/utils/tests/fixture.d.ts.map +1 -1
  94. package/dist/utils/tests/fixture.js +7 -0
  95. package/dist/utils/tests/fixture.js.map +1 -1
  96. package/dist/utils/tests/otel.d.ts.map +1 -1
  97. package/dist/utils/tests/otel.js +5 -5
  98. package/dist/utils/tests/otel.js.map +1 -1
  99. package/package.json +59 -17
  100. package/src/QueryCache.ts +1 -1
  101. package/src/SqliteDbWrapper.test.ts +5 -3
  102. package/src/SqliteDbWrapper.ts +12 -11
  103. package/src/ambient.d.ts +0 -7
  104. package/src/effect/LiveStore.test.ts +61 -0
  105. package/src/effect/LiveStore.ts +388 -13
  106. package/src/effect/mod.ts +13 -1
  107. package/src/live-queries/__snapshots__/db-query.test.ts.snap +604 -192
  108. package/src/live-queries/base-class.ts +126 -28
  109. package/src/live-queries/client-document-get-query.ts +6 -4
  110. package/src/live-queries/computed.ts +59 -2
  111. package/src/live-queries/db-query.test.ts +162 -24
  112. package/src/live-queries/db-query.ts +23 -20
  113. package/src/live-queries/signal.test.ts +3 -2
  114. package/src/live-queries/signal.ts +49 -0
  115. package/src/mod.ts +19 -2
  116. package/src/reactive.test.ts +3 -2
  117. package/src/reactive.ts +22 -23
  118. package/src/store/StoreRegistry.test.ts +540 -0
  119. package/src/store/StoreRegistry.ts +418 -0
  120. package/src/store/create-store.ts +158 -39
  121. package/src/store/devtools.ts +77 -33
  122. package/src/store/store-eventstream.test.ts +114 -0
  123. package/src/store/store-types.test.ts +52 -0
  124. package/src/store/store-types.ts +360 -40
  125. package/src/store/store.ts +571 -236
  126. package/src/utils/dev.ts +2 -3
  127. package/src/utils/stack-info.ts +2 -2
  128. package/src/utils/tests/fixture.ts +9 -1
  129. package/src/utils/tests/otel.ts +8 -7
@@ -1,8 +1,9 @@
1
- import { getDurationMsFromSpan, getResultSchema, isQueryBuilder, prepareBindValues, QueryBuilderAstSymbol, replaceSessionIdSymbol, SessionIdSymbol, UnexpectedError, } from '@livestore/common';
2
- import { deepEqual, omitUndefineds, shouldNeverHappen } from '@livestore/utils';
1
+ import { getDurationMsFromSpan, getResultSchema, isQueryBuilder, prepareBindValues, QueryBuilderAstSymbol, replaceSessionIdSymbol, SessionIdSymbol, UnknownError, } from '@livestore/common';
2
+ import { deepEqual, objectToString, omitUndefineds, shouldNeverHappen } from '@livestore/utils';
3
3
  import { Equal, Hash, Predicate, Schema, TreeFormatter } from '@livestore/utils/effect';
4
4
  import * as otel from '@opentelemetry/api';
5
5
  import { isThunk, NOT_REFRESHED_YET } from "../reactive.js";
6
+ import { StoreInternalsSymbol } from "../store/store-types.js";
6
7
  import { isValidFunctionString } from "../utils/function-string.js";
7
8
  import { depsToString, LiveStoreQueryBase, makeGetAtomResult, withRCMap } from "./base-class.js";
8
9
  import { makeExecBeforeFirstRun, rowQueryLabel } from "./client-document-get-query.js";
@@ -41,14 +42,14 @@ export const isQueryInputRaw = (value) => Predicate.hasProperty(value, 'query')
41
42
  */
42
43
  export const queryDb = (queryInput, options) => {
43
44
  const { queryString, extraDeps } = getQueryStringAndExtraDeps(queryInput);
44
- const hash = [queryString, options?.deps ? depsToString(options.deps) : undefined, depsToString(extraDeps)]
45
+ const hash = [queryString, options?.deps !== undefined ? depsToString(options.deps) : undefined, depsToString(extraDeps)]
45
46
  .filter(Boolean)
46
47
  .join('-');
47
48
  if (isValidFunctionString(hash)._tag === 'invalid') {
48
49
  throw new Error(`On Expo/React Native, db queries must provide a \`deps\` option`);
49
50
  }
50
51
  if (hash.trim() === '') {
51
- return shouldNeverHappen(`Invalid query hash for query: ${queryInput}`);
52
+ return shouldNeverHappen('Invalid query hash for query:', objectToString(queryInput));
52
53
  }
53
54
  const label = options?.label ?? queryString;
54
55
  const def = {
@@ -83,17 +84,17 @@ const bindValuesToDepKey = (bindValues) => {
83
84
  .join(',');
84
85
  };
85
86
  const getQueryStringAndExtraDeps = (queryInput) => {
86
- if (isQueryBuilder(queryInput)) {
87
+ if (isQueryBuilder(queryInput) === true) {
87
88
  const { query, bindValues } = queryInput.asSql();
88
89
  return { queryString: query, extraDeps: bindValuesToDepKey(bindValues) };
89
90
  }
90
- if (isQueryInputRaw(queryInput)) {
91
+ if (isQueryInputRaw(queryInput) === true) {
91
92
  return { queryString: queryInput.query, extraDeps: bindValuesToDepKey(queryInput.bindValues) };
92
93
  }
93
94
  if (typeof queryInput === 'function') {
94
95
  return { queryString: queryInput.toString(), extraDeps: [] };
95
96
  }
96
- return shouldNeverHappen(`Invalid query input: ${queryInput}`);
97
+ return shouldNeverHappen(`Invalid query input: ${String(queryInput)}`);
97
98
  };
98
99
  /* An object encapsulating a reactive SQL query */
99
100
  export class LiveStoreDbQuery extends LiveStoreQueryBase {
@@ -113,7 +114,7 @@ export class LiveStoreDbQuery extends LiveStoreQueryBase {
113
114
  this.def = def;
114
115
  this.mapResult = map === undefined ? (rows) => rows : map;
115
116
  const schemaRef = {
116
- current: typeof queryInput === 'function' ? undefined : isQueryBuilder(queryInput) ? undefined : queryInput.schema,
117
+ current: typeof queryInput === 'function' ? undefined : isQueryBuilder(queryInput) === true ? undefined : queryInput.schema,
117
118
  };
118
119
  const execBeforeFirstRunRef = {
119
120
  current: undefined,
@@ -143,7 +144,7 @@ export class LiveStoreDbQuery extends LiveStoreQueryBase {
143
144
  };
144
145
  }
145
146
  catch (cause) {
146
- throw new UnexpectedError({ cause, note: `Error building query for ${qb.toString()}`, payload: { qb } });
147
+ throw new UnknownError({ cause, note: `Error building query for ${qb.toString()}`, payload: { qb } });
147
148
  }
148
149
  };
149
150
  if (typeof queryInput === 'function') {
@@ -152,7 +153,7 @@ export class LiveStoreDbQuery extends LiveStoreQueryBase {
152
153
  const queryInputResult = queryInput(makeGetAtomResult(get, ctx, otelContext ?? ctx.rootOtelContext, this.dependencyQueriesRef), ctx);
153
154
  const durationMs = performance.now() - startMs;
154
155
  let queryInputRaw;
155
- if (isQueryBuilder(queryInputResult)) {
156
+ if (isQueryBuilder(queryInputResult) === true) {
156
157
  const res = fromQueryBuilder(queryInputResult, otelContext);
157
158
  queryInputRaw = res.queryInputRaw;
158
159
  // setting label dynamically here
@@ -175,7 +176,7 @@ export class LiveStoreDbQuery extends LiveStoreQueryBase {
175
176
  }
176
177
  else {
177
178
  let queryInputRaw;
178
- if (isQueryBuilder(queryInput)) {
179
+ if (isQueryBuilder(queryInput) === true) {
179
180
  const res = fromQueryBuilder(queryInput, otelContext);
180
181
  queryInputRaw = res.queryInputRaw;
181
182
  label = res.label;
@@ -187,7 +188,7 @@ export class LiveStoreDbQuery extends LiveStoreQueryBase {
187
188
  schemaRef.current = queryInputRaw.schema;
188
189
  queryInputRaw$OrQueryInputRaw = queryInputRaw;
189
190
  // this.label = inputLabel ? this.label : `db(${})`
190
- if (inputLabel === undefined && isQueryBuilder(queryInput)) {
191
+ if (inputLabel === undefined && isQueryBuilder(queryInput) === true) {
191
192
  const ast = queryInput[QueryBuilderAstSymbol];
192
193
  if (ast._tag === 'RowQuery') {
193
194
  label = `db(${rowQueryLabel(ast.tableDef, ast.id)})`;
@@ -211,7 +212,7 @@ export class LiveStoreDbQuery extends LiveStoreQueryBase {
211
212
  const results$ = this.reactivityGraph.makeThunk((get, setDebugInfo, queryContext, otelContext, debugRefreshReason) => queryContext.otelTracer.startActiveSpan('db:...', // NOTE span name will be overridden further down
212
213
  {
213
214
  attributes: {
214
- 'livestore.debugRefreshReason': Predicate.hasProperty(debugRefreshReason, 'label')
215
+ 'livestore.debugRefreshReason': Predicate.hasProperty(debugRefreshReason, 'label') === true
215
216
  ? debugRefreshReason.label
216
217
  : debugRefreshReason?._tag,
217
218
  },
@@ -222,27 +223,28 @@ export class LiveStoreDbQuery extends LiveStoreQueryBase {
222
223
  execBeforeFirstRunRef.current(queryContext, otelContext);
223
224
  execBeforeFirstRunRef.current = undefined;
224
225
  }
225
- const queryInputResult = isThunk(queryInputRaw$OrQueryInputRaw)
226
+ const queryInputResult = isThunk(queryInputRaw$OrQueryInputRaw) === true
226
227
  ? get(queryInputRaw$OrQueryInputRaw, otelContext, debugRefreshReason)
227
228
  : queryInputRaw$OrQueryInputRaw;
228
229
  const sqlString = queryInputResult.query;
229
230
  const bindValues = queryInputResult.bindValues;
230
231
  if (queriedTablesRef.current === undefined) {
231
- queriedTablesRef.current = store.sqliteDbWrapper.getTablesUsed(sqlString);
232
+ queriedTablesRef.current = store[StoreInternalsSymbol].sqliteDbWrapper.getTablesUsed(sqlString);
232
233
  }
233
234
  if (bindValues !== undefined) {
234
- replaceSessionIdSymbol(bindValues, store.clientSession.sessionId);
235
+ replaceSessionIdSymbol(bindValues, store.sessionId);
235
236
  }
236
237
  // Establish a reactive dependency on the tables used in the query
237
238
  for (const tableName of queriedTablesRef.current) {
238
- const tableRef = store.tableRefs[tableName] ?? shouldNeverHappen(`No table ref found for ${tableName}`);
239
+ const tableRef = store[StoreInternalsSymbol].tableRefs[tableName] ??
240
+ shouldNeverHappen(`No table ref found for ${tableName}`);
239
241
  get(tableRef, otelContext, debugRefreshReason);
240
242
  }
241
243
  span.setAttribute('sql.query', sqlString);
242
244
  span.updateName(`db:${sqlString.slice(0, 50)}`);
243
- const rawDbResults = store.sqliteDbWrapper.cachedSelect(sqlString, bindValues ? prepareBindValues(bindValues, sqlString) : undefined, {
244
- queriedTables: queriedTablesRef.current,
245
+ const rawDbResults = store[StoreInternalsSymbol].sqliteDbWrapper.cachedSelect(sqlString, bindValues !== undefined ? prepareBindValues(bindValues, sqlString) : undefined, {
245
246
  otelContext,
247
+ ...(queriedTablesRef.current !== undefined ? { queriedTables: queriedTablesRef.current } : {}),
246
248
  });
247
249
  span.setAttribute('sql.rowsCount', rawDbResults.length);
248
250
  const parsedResult = Schema.decodeEither(schemaRef.current)(rawDbResults);
@@ -1 +1 @@
1
- {"version":3,"file":"db-query.js","sourceRoot":"","sources":["../../src/live-queries/db-query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db-query.js","sourceRoot":"","sources":["../../src/live-queries/db-query.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
- import { Effect, ReadonlyRecord, Schema } from '@livestore/utils/effect';
2
- import { Vitest } from '@livestore/utils-dev/node-vitest';
3
1
  import * as otel from '@opentelemetry/api';
4
2
  import { BasicTracerProvider, InMemorySpanExporter, SimpleSpanProcessor } from '@opentelemetry/sdk-trace-base';
5
- import { expect } from 'vitest';
3
+ import { assert, expect } from 'vitest';
4
+ import { Vitest } from '@livestore/utils-dev/node-vitest';
5
+ import { Effect, ReadonlyRecord, Schema } from '@livestore/utils/effect';
6
6
  import * as RG from "../reactive.js";
7
+ import { StoreInternalsSymbol } from "../store/store-types.js";
7
8
  import { events, makeTodoMvc, tables } from "../utils/tests/fixture.js";
8
9
  import { getAllSimplifiedRootSpans, getSimplifiedRootSpan } from "../utils/tests/otel.js";
9
10
  import { computed } from "./computed.js";
@@ -75,7 +76,7 @@ Vitest.describe('otel', () => {
75
76
  query: `select * from todos ${get(filter)}`,
76
77
  schema: Schema.Array(tables.todos.rowSchema).pipe(Schema.headOrElse(() => defaultTodo)),
77
78
  }), { label: 'all todos' });
78
- expect(store.reactivityGraph.getSnapshot({ includeResults: true })).toMatchSnapshot();
79
+ expect(store[StoreInternalsSymbol].reactivityGraph.getSnapshot({ includeResults: true })).toMatchSnapshot();
79
80
  expect(store.query(query$)).toMatchInlineSnapshot(`
80
81
  {
81
82
  "completed": false,
@@ -83,9 +84,9 @@ Vitest.describe('otel', () => {
83
84
  "text": "",
84
85
  }
85
86
  `);
86
- expect(store.reactivityGraph.getSnapshot({ includeResults: true })).toMatchSnapshot();
87
+ expect(store[StoreInternalsSymbol].reactivityGraph.getSnapshot({ includeResults: true })).toMatchSnapshot();
87
88
  store.commit(events.todoCreated({ id: 't1', text: 'buy milk', completed: false }));
88
- expect(store.reactivityGraph.getSnapshot({ includeResults: true })).toMatchSnapshot();
89
+ expect(store[StoreInternalsSymbol].reactivityGraph.getSnapshot({ includeResults: true })).toMatchSnapshot();
89
90
  expect(store.query(query$)).toMatchInlineSnapshot(`
90
91
  {
91
92
  "completed": false,
@@ -93,7 +94,7 @@ Vitest.describe('otel', () => {
93
94
  "text": "buy milk",
94
95
  }
95
96
  `);
96
- expect(store.reactivityGraph.getSnapshot({ includeResults: true })).toMatchSnapshot();
97
+ expect(store[StoreInternalsSymbol].reactivityGraph.getSnapshot({ includeResults: true })).toMatchSnapshot();
97
98
  span.end();
98
99
  return { exporter, provider };
99
100
  }).pipe(Effect.scoped, Effect.tap(({ exporter, provider }) => Effect.promise(async () => {
@@ -137,10 +138,8 @@ Vitest.describe('otel', () => {
137
138
  const queryBuilder = tables.todos
138
139
  .where({ completed: false })
139
140
  .first({ behaviour: 'fallback', fallback: () => defaultTodo });
140
- const unsubscribe = store.subscribe(queryBuilder, {
141
- onUpdate: (result) => {
142
- callbackResults.push(result);
143
- },
141
+ const unsubscribe = store.subscribe(queryBuilder, (result) => {
142
+ callbackResults.push(result);
144
143
  });
145
144
  expect(callbackResults).toHaveLength(1);
146
145
  expect(callbackResults[0]).toMatchObject(defaultTodo);
@@ -160,6 +159,33 @@ Vitest.describe('otel', () => {
160
159
  expect(getAllSimplifiedRootSpans(exporter, 'LiveStore:commit', mapAttributes)).toMatchSnapshot();
161
160
  await provider.shutdown();
162
161
  }))));
162
+ Vitest.scopedLive('QueryBuilder subscription - skipInitialRun', () => Effect.gen(function* () {
163
+ const { store, exporter, span, provider } = yield* makeQuery;
164
+ const callbackResults = [];
165
+ const defaultTodo = { id: '', text: '', completed: false };
166
+ const queryBuilder = tables.todos
167
+ .where({ completed: false })
168
+ .first({ behaviour: 'fallback', fallback: () => defaultTodo });
169
+ const unsubscribe = store.subscribe(queryBuilder, (result) => {
170
+ callbackResults.push(result);
171
+ }, { skipInitialRun: true });
172
+ expect(callbackResults).toHaveLength(0);
173
+ store.commit(events.todoCreated({ id: 't-skip', text: 'skip initial', completed: false }));
174
+ expect(callbackResults).toHaveLength(1);
175
+ expect(callbackResults[0]).toMatchObject({
176
+ id: 't-skip',
177
+ text: 'skip initial',
178
+ completed: false,
179
+ });
180
+ unsubscribe();
181
+ span.end();
182
+ return { exporter, provider };
183
+ }).pipe(Effect.scoped, Effect.tap(({ exporter, provider }) => Effect.promise(async () => {
184
+ await provider.forceFlush();
185
+ expect(getSimplifiedRootSpan(exporter, 'createStore', mapAttributes)).toMatchSnapshot();
186
+ expect(getAllSimplifiedRootSpans(exporter, 'LiveStore:commit', mapAttributes)).toMatchSnapshot();
187
+ await provider.shutdown();
188
+ }))));
163
189
  Vitest.scopedLive('QueryBuilder subscription - unsubscribe functionality', () => Effect.gen(function* () {
164
190
  const { store, exporter, span, provider } = yield* makeQuery;
165
191
  const callbackResults1 = [];
@@ -168,15 +194,11 @@ Vitest.describe('otel', () => {
168
194
  const queryBuilder = tables.todos
169
195
  .where({ completed: false })
170
196
  .first({ behaviour: 'fallback', fallback: () => defaultTodo });
171
- const unsubscribe1 = store.subscribe(queryBuilder, {
172
- onUpdate: (result) => {
173
- callbackResults1.push(result);
174
- },
197
+ const unsubscribe1 = store.subscribe(queryBuilder, (result) => {
198
+ callbackResults1.push(result);
175
199
  });
176
- const unsubscribe2 = store.subscribe(queryBuilder, {
177
- onUpdate: (result) => {
178
- callbackResults2.push(result);
179
- },
200
+ const unsubscribe2 = store.subscribe(queryBuilder, (result) => {
201
+ callbackResults2.push(result);
180
202
  });
181
203
  expect(callbackResults1).toHaveLength(1);
182
204
  expect(callbackResults2).toHaveLength(1);
@@ -196,13 +218,74 @@ Vitest.describe('otel', () => {
196
218
  expect(getAllSimplifiedRootSpans(exporter, 'LiveStore:commit', mapAttributes)).toMatchSnapshot();
197
219
  await provider.shutdown();
198
220
  }))));
221
+ Vitest.scopedLive('QueryBuilder subscription - async iterator', () => Effect.gen(function* () {
222
+ const { store, exporter, span, provider } = yield* makeQuery;
223
+ const defaultTodo = { id: '', text: '', completed: false };
224
+ const queryBuilder = tables.todos
225
+ .where({ completed: false })
226
+ .first({ behaviour: 'fallback', fallback: () => defaultTodo });
227
+ yield* Effect.promise(async () => {
228
+ const iterator = store.subscribe(queryBuilder)[Symbol.asyncIterator]();
229
+ const initial = await iterator.next();
230
+ expect(initial.done).toBe(false);
231
+ expect(initial.value).toMatchObject(defaultTodo);
232
+ store.commit(events.todoCreated({ id: 't-async', text: 'write tests', completed: false }));
233
+ const update = await iterator.next();
234
+ expect(update.done).toBe(false);
235
+ expect(update.value).toMatchObject({
236
+ id: 't-async',
237
+ text: 'write tests',
238
+ completed: false,
239
+ });
240
+ const doneResult = await iterator.return?.();
241
+ assert(doneResult);
242
+ expect(doneResult.done).toBe(true);
243
+ });
244
+ span.end();
245
+ return { exporter, provider };
246
+ }).pipe(Effect.scoped, Effect.tap(({ exporter, provider }) => Effect.promise(async () => {
247
+ await provider.forceFlush();
248
+ expect(getSimplifiedRootSpan(exporter, 'createStore', mapAttributes)).toMatchSnapshot();
249
+ expect(getAllSimplifiedRootSpans(exporter, 'LiveStore:commit', mapAttributes)).toMatchSnapshot();
250
+ await provider.shutdown();
251
+ }))));
252
+ Vitest.scopedLive('QueryBuilder subscription - async iterator with skipInitialRun', () => Effect.gen(function* () {
253
+ const { store, exporter, span, provider } = yield* makeQuery;
254
+ const defaultTodo = { id: '', text: '', completed: false };
255
+ const queryBuilder = tables.todos
256
+ .where({ completed: false })
257
+ .first({ behaviour: 'fallback', fallback: () => defaultTodo });
258
+ yield* Effect.promise(async () => {
259
+ const iterator = store.subscribe(queryBuilder, { skipInitialRun: true })[Symbol.asyncIterator]();
260
+ const pending = Symbol('pending');
261
+ const nextPromise = iterator.next();
262
+ const raceResult = await Promise.race([nextPromise, Promise.resolve(pending)]);
263
+ expect(raceResult).toBe(pending);
264
+ store.commit(events.todoCreated({ id: 't-async-skip', text: 'write tests later', completed: false }));
265
+ const update = await nextPromise;
266
+ expect(update.done).toBe(false);
267
+ expect(update.value).toMatchObject({
268
+ id: 't-async-skip',
269
+ text: 'write tests later',
270
+ completed: false,
271
+ });
272
+ const doneResult = await iterator.return?.();
273
+ assert(doneResult);
274
+ expect(doneResult.done).toBe(true);
275
+ });
276
+ span.end();
277
+ return { exporter, provider };
278
+ }).pipe(Effect.scoped, Effect.tap(({ exporter, provider }) => Effect.promise(async () => {
279
+ await provider.forceFlush();
280
+ expect(getSimplifiedRootSpan(exporter, 'createStore', mapAttributes)).toMatchSnapshot();
281
+ expect(getAllSimplifiedRootSpans(exporter, 'LiveStore:commit', mapAttributes)).toMatchSnapshot();
282
+ await provider.shutdown();
283
+ }))));
199
284
  Vitest.scopedLive('QueryBuilder subscription - direct table subscription', () => Effect.gen(function* () {
200
285
  const { store, exporter, span, provider } = yield* makeQuery;
201
286
  const callbackResults = [];
202
- const unsubscribe = store.subscribe(tables.todos, {
203
- onUpdate: (result) => {
204
- callbackResults.push(result);
205
- },
287
+ const unsubscribe = store.subscribe(tables.todos, (result) => {
288
+ callbackResults.push(result);
206
289
  });
207
290
  expect(callbackResults).toHaveLength(1);
208
291
  expect(callbackResults[0]).toEqual([]);
@@ -1 +1 @@
1
- {"version":3,"file":"db-query.test.js","sourceRoot":"","sources":["../../src/live-queries/db-query.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db-query.test.js","sourceRoot":"","sources":["../../src/live-queries/db-query.test.ts"],"names":[],"mappings":"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"}
@@ -2,9 +2,58 @@ import type * as RG from '../reactive.ts';
2
2
  import type { RefreshReason } from '../store/store-types.ts';
3
3
  import type { ISignal, ReactivityGraph, ReactivityGraphContext, SignalDef } from './base-class.ts';
4
4
  import { LiveStoreQueryBase } from './base-class.ts';
5
+ /**
6
+ * Creates a reactive signal for ephemeral, local-only state that isn't persisted to the database.
7
+ *
8
+ * Signals are useful for UI state that needs to trigger query re-evaluation but shouldn't be
9
+ * synced across clients or stored permanently—such as search filters, selected items, or
10
+ * temporary form values.
11
+ *
12
+ * Unlike database-backed state (via events), signals:
13
+ * - Are not persisted or synced
14
+ * - Exist only for the lifetime of the Store
15
+ * - Can hold any value type (primitives, objects, functions)
16
+ *
17
+ * @example
18
+ * ```ts
19
+ * // Create a signal for search text
20
+ * const searchText$ = signal('', { label: 'searchText' })
21
+ *
22
+ * // Create a query that depends on the signal
23
+ * const filteredTodos$ = queryDb(
24
+ * (get) => tables.todos.where({ text: { $like: `%${get(searchText$)}%` } }),
25
+ * { deps: [searchText$] }
26
+ * )
27
+ *
28
+ * // Update the signal (triggers query re-evaluation)
29
+ * store.setSignal(searchText$, 'buy')
30
+ *
31
+ * // Read the current value
32
+ * const results = store.query(filteredTodos$)
33
+ * ```
34
+ *
35
+ * @example
36
+ * ```ts
37
+ * // Counter with functional updates
38
+ * const count$ = signal(0, { label: 'count' })
39
+ *
40
+ * store.setSignal(count$, (prev) => prev + 1)
41
+ * ```
42
+ *
43
+ * @param defaultValue - Initial value of the signal
44
+ * @param options.label - Human-readable label for debugging and devtools
45
+ * @returns A signal definition that can be used with `store.query()`, `store.setSignal()`, and as a dependency in other queries
46
+ */
5
47
  export declare const signal: <T>(defaultValue: T, options?: {
6
48
  label?: string;
7
49
  }) => SignalDef<T>;
50
+ /**
51
+ * A live signal instance bound to a specific Store.
52
+ *
53
+ * Signal instances are created internally when you use a `SignalDef` with the Store.
54
+ * You typically don't construct these directly—use {@link signal} to create definitions
55
+ * and `store.setSignal()` / `store.query()` to interact with them.
56
+ */
8
57
  export declare class Signal<T> extends LiveStoreQueryBase<T> implements ISignal<T> {
9
58
  _tag: "signal";
10
59
  readonly ref: RG.Ref<T, ReactivityGraphContext, RefreshReason>;
@@ -1 +1 @@
1
- {"version":3,"file":"signal.d.ts","sourceRoot":"","sources":["../../src/live-queries/signal.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAClG,OAAO,EAAE,kBAAkB,EAAa,MAAM,iBAAiB,CAAA;AAE/D,eAAO,MAAM,MAAM,GAAI,CAAC,EACtB,cAAc,CAAC,EACf,UAAU;IACR,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,KACA,SAAS,CAAC,CAAC,CA0Bb,CAAA;AAED,qBAAa,MAAM,CAAC,CAAC,CAAE,SAAQ,kBAAkB,CAAC,CAAC,CAAE,YAAW,OAAO,CAAC,CAAC,CAAC;IACxE,IAAI,EAAG,QAAQ,CAAS;IACxB,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,sBAAsB,EAAE,aAAa,CAAC,CAAA;IAC9D,KAAK,EAAE,MAAM,CAAA;IACb,eAAe,EAAE,eAAe,CAAA;IAChC,QAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,sBAAsB,EAAE,aAAa,CAAC,CAAA;IAC1D,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,CAAA;gBAOf,EACE,YAAY,EACZ,eAAe,EACf,KAAK,EACL,GAAG,GACJ,EAAE;QACD,YAAY,EAAE,CAAC,CAAA;QACf,eAAe,EAAE,eAAe,CAAA;QAChC,KAAK,EAAE,MAAM,CAAA;QACb,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,CAAA;KAClB;IAYH,GAAG,GAAI,OAAO,CAAC,UAEd;IAED,GAAG,UAEF;IAED,OAAO,aAEN;CACF"}
1
+ {"version":3,"file":"signal.d.ts","sourceRoot":"","sources":["../../src/live-queries/signal.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAClG,OAAO,EAAE,kBAAkB,EAAa,MAAM,iBAAiB,CAAA;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,eAAO,MAAM,MAAM,GAAI,CAAC,EACtB,cAAc,CAAC,EACf,UAAU;IACR,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,KACA,SAAS,CAAC,CAAC,CA0Bb,CAAA;AAED;;;;;;GAMG;AACH,qBAAa,MAAM,CAAC,CAAC,CAAE,SAAQ,kBAAkB,CAAC,CAAC,CAAE,YAAW,OAAO,CAAC,CAAC,CAAC;IACxE,IAAI,EAAG,QAAQ,CAAS;IACxB,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,sBAAsB,EAAE,aAAa,CAAC,CAAA;IAC9D,KAAK,EAAE,MAAM,CAAA;IACb,eAAe,EAAE,eAAe,CAAA;IAChC,QAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,sBAAsB,EAAE,aAAa,CAAC,CAAA;IAC1D,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,CAAA;gBAOf,EACE,YAAY,EACZ,eAAe,EACf,KAAK,EACL,GAAG,GACJ,EAAE;QACD,YAAY,EAAE,CAAC,CAAA;QACf,eAAe,EAAE,eAAe,CAAA;QAChC,KAAK,EAAE,MAAM,CAAA;QACb,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,CAAA;KAClB;IAYH,GAAG,GAAI,OAAO,CAAC,UAEd;IAED,GAAG,UAEF;IAED,OAAO,aAEN;CACF"}
@@ -1,6 +1,48 @@
1
1
  import { Equal, Hash } from '@livestore/utils/effect';
2
2
  import { nanoid } from '@livestore/utils/nanoid';
3
3
  import { LiveStoreQueryBase, withRCMap } from "./base-class.js";
4
+ /**
5
+ * Creates a reactive signal for ephemeral, local-only state that isn't persisted to the database.
6
+ *
7
+ * Signals are useful for UI state that needs to trigger query re-evaluation but shouldn't be
8
+ * synced across clients or stored permanently—such as search filters, selected items, or
9
+ * temporary form values.
10
+ *
11
+ * Unlike database-backed state (via events), signals:
12
+ * - Are not persisted or synced
13
+ * - Exist only for the lifetime of the Store
14
+ * - Can hold any value type (primitives, objects, functions)
15
+ *
16
+ * @example
17
+ * ```ts
18
+ * // Create a signal for search text
19
+ * const searchText$ = signal('', { label: 'searchText' })
20
+ *
21
+ * // Create a query that depends on the signal
22
+ * const filteredTodos$ = queryDb(
23
+ * (get) => tables.todos.where({ text: { $like: `%${get(searchText$)}%` } }),
24
+ * { deps: [searchText$] }
25
+ * )
26
+ *
27
+ * // Update the signal (triggers query re-evaluation)
28
+ * store.setSignal(searchText$, 'buy')
29
+ *
30
+ * // Read the current value
31
+ * const results = store.query(filteredTodos$)
32
+ * ```
33
+ *
34
+ * @example
35
+ * ```ts
36
+ * // Counter with functional updates
37
+ * const count$ = signal(0, { label: 'count' })
38
+ *
39
+ * store.setSignal(count$, (prev) => prev + 1)
40
+ * ```
41
+ *
42
+ * @param defaultValue - Initial value of the signal
43
+ * @param options.label - Human-readable label for debugging and devtools
44
+ * @returns A signal definition that can be used with `store.query()`, `store.setSignal()`, and as a dependency in other queries
45
+ */
4
46
  export const signal = (defaultValue, options) => {
5
47
  const id = nanoid();
6
48
  const def = {
@@ -23,6 +65,13 @@ export const signal = (defaultValue, options) => {
23
65
  };
24
66
  return def;
25
67
  };
68
+ /**
69
+ * A live signal instance bound to a specific Store.
70
+ *
71
+ * Signal instances are created internally when you use a `SignalDef` with the Store.
72
+ * You typically don't construct these directly—use {@link signal} to create definitions
73
+ * and `store.setSignal()` / `store.query()` to interact with them.
74
+ */
26
75
  export class Signal extends LiveStoreQueryBase {
27
76
  _tag = 'signal';
28
77
  ref;
@@ -1 +1 @@
1
- {"version":3,"file":"signal.js","sourceRoot":"","sources":["../../src/live-queries/signal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAKhD,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE/D,MAAM,CAAC,MAAM,MAAM,GAAG,CACpB,YAAe,EACf,OAEC,EACa,EAAE;IAChB,MAAM,EAAE,GAAG,MAAM,EAAE,CAAA;IACnB,MAAM,GAAG,GAAiB;QACxB,IAAI,EAAE,YAAY;QAClB,YAAY;QACZ,IAAI,EAAE,EAAE;QACR,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,QAAQ;QACjC,IAAI,EAAE,SAAS,CACb,EAAE,EACF,CAAC,GAAG,EAAE,EAAE,CACN,IAAI,MAAM,CAAC;YACT,YAAY;YACZ,eAAe,EAAE,GAAG,CAAC,eAAe,CAAC,KAAK,EAAG;YAC7C,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,QAAQ;YACjC,GAAG;SACJ,CAAC,CACL;QACD,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAkB;YAC/B,OAAO,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAA;QAChC,CAAC;QACD,CAAC,IAAI,CAAC,MAAM,CAAC;YACX,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC/B,CAAC;KACF,CAAA;IAED,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED,MAAM,OAAO,MAAU,SAAQ,kBAAqB;IAClD,IAAI,GAAG,QAAiB,CAAA;IACf,GAAG,CAAkD;IAC9D,KAAK,CAAQ;IACb,eAAe,CAAiB;IAChC,QAAQ,CAAkD;IAC1D,GAAG,CAAc;IACjB;IACE,2BAA2B;IAC3B,6CAA6C;IAC7C,sBAAsB;IACtB,mBAAmB;IACnB,KAAK;IACL,EACE,YAAY,EACZ,eAAe,EACf,KAAK,EACL,GAAG,GAMJ;QAED,KAAK,EAAE,CAAA;QAEP,IAAI,CAAC,GAAG,GAAG,eAAe,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;QAC3D,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;QACtC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QAEd,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAA;IAC1B,CAAC;IAED,GAAG,GAAG,CAAC,KAAQ,EAAE,EAAE;QACjB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAC9C,CAAC,CAAA;IAED,GAAG,GAAG,GAAG,EAAE;QACT,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAA;IACjC,CAAC,CAAA;IAED,OAAO,GAAG,GAAG,EAAE;QACb,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC5C,CAAC,CAAA;CACF"}
1
+ {"version":3,"file":"signal.js","sourceRoot":"","sources":["../../src/live-queries/signal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAKhD,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CACpB,YAAe,EACf,OAEC,EACa,EAAE;IAChB,MAAM,EAAE,GAAG,MAAM,EAAE,CAAA;IACnB,MAAM,GAAG,GAAiB;QACxB,IAAI,EAAE,YAAY;QAClB,YAAY;QACZ,IAAI,EAAE,EAAE;QACR,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,QAAQ;QACjC,IAAI,EAAE,SAAS,CACb,EAAE,EACF,CAAC,GAAG,EAAE,EAAE,CACN,IAAI,MAAM,CAAC;YACT,YAAY;YACZ,eAAe,EAAE,GAAG,CAAC,eAAe,CAAC,KAAK,EAAG;YAC7C,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,QAAQ;YACjC,GAAG;SACJ,CAAC,CACL;QACD,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAkB;YAC/B,OAAO,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAA;QAChC,CAAC;QACD,CAAC,IAAI,CAAC,MAAM,CAAC;YACX,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC/B,CAAC;KACF,CAAA;IAED,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED;;;;;;GAMG;AACH,MAAM,OAAO,MAAU,SAAQ,kBAAqB;IAClD,IAAI,GAAG,QAAiB,CAAA;IACf,GAAG,CAAkD;IAC9D,KAAK,CAAQ;IACb,eAAe,CAAiB;IAChC,QAAQ,CAAkD;IAC1D,GAAG,CAAc;IACjB;IACE,2BAA2B;IAC3B,6CAA6C;IAC7C,sBAAsB;IACtB,mBAAmB;IACnB,KAAK;IACL,EACE,YAAY,EACZ,eAAe,EACf,KAAK,EACL,GAAG,GAMJ;QAED,KAAK,EAAE,CAAA;QAEP,IAAI,CAAC,GAAG,GAAG,eAAe,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;QAC3D,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;QACtC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QAEd,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAA;IAC1B,CAAC;IAED,GAAG,GAAG,CAAC,KAAQ,EAAE,EAAE;QACjB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAC9C,CAAC,CAAA;IAED,GAAG,GAAG,GAAG,EAAE;QACT,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAA;IACjC,CAAC,CAAA;IAED,OAAO,GAAG,GAAG,EAAE;QACb,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC5C,CAAC,CAAA;CACF"}
@@ -1,6 +1,6 @@
1
- import { Effect } from '@livestore/utils/effect';
2
- import { Vitest } from '@livestore/utils-dev/node-vitest';
3
1
  import { expect } from 'vitest';
2
+ import { Vitest } from '@livestore/utils-dev/node-vitest';
3
+ import { Effect } from '@livestore/utils/effect';
4
4
  import { makeTodoMvc } from "../utils/tests/fixture.js";
5
5
  import { computed } from "./computed.js";
6
6
  import { signal } from "./signal.js";
@@ -1 +1 @@
1
- {"version":3,"file":"signal.test.js","sourceRoot":"","sources":["../../src/live-queries/signal.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAA;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;IAC7B,MAAM,CAAC,UAAU,CAAC,mCAAmC,EAAE,GAAG,EAAE,CAC1D,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;QAEzC,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAA;QAE9E,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;QAEpC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAExC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QAExB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC1C,CAAC,CAAC,CACH,CAAA;IAED,MAAM,CAAC,UAAU,CAAC,iBAAiB,EAAE,GAAG,EAAE,CACxC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;QAE7C,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;QAEpC,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAA;QAEnE,SAAS,EAAE,CAAA;QACX,SAAS,EAAE,CAAA;QAEX,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACrC,CAAC,CAAC,CACH,CAAA;AACH,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"signal.test.js","sourceRoot":"","sources":["../../src/live-queries/signal.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAA;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;IAC7B,MAAM,CAAC,UAAU,CAAC,mCAAmC,EAAE,GAAG,EAAE,CAC1D,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;QAEzC,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAA;QAE9E,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;QAEpC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAExC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QAExB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC1C,CAAC,CAAC,CACH,CAAA;IAED,MAAM,CAAC,UAAU,CAAC,iBAAiB,EAAE,GAAG,EAAE,CACxC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;QAE7C,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;QAEpC,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAA;QAEnE,SAAS,EAAE,CAAA;QACX,SAAS,EAAE,CAAA;QAEX,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACrC,CAAC,CAAC,CACH,CAAA;AACH,CAAC,CAAC,CAAA"}
package/dist/mod.d.ts CHANGED
@@ -6,10 +6,10 @@ export { Schema } from '@livestore/utils/effect';
6
6
  export { nanoid } from '@livestore/utils/nanoid';
7
7
  export { computed, type LiveQuery, type LiveQueryDef, queryDb, type RcRef, type Signal, type SignalDef, signal, } from './live-queries/mod.ts';
8
8
  export { emptyDebugInfo, SqliteDbWrapper } from './SqliteDbWrapper.ts';
9
- export { type CreateStoreOptions, createStore, createStorePromise } from './store/create-store.ts';
9
+ export { type CreateStoreOptions, type CreateStoreOptionsPromise, createStore, createStorePromise, } from './store/create-store.ts';
10
+ export { type RegistryStoreOptions, StoreRegistry, storeOptions } from './store/StoreRegistry.ts';
10
11
  export { Store } from './store/store.ts';
11
- export type { OtelOptions, QueryDebugInfo, RefreshReason, Unsubscribe } from './store/store-types.ts';
12
- export { type LiveStoreContext, type LiveStoreContextRunning, makeShutdownDeferred, type ShutdownDeferred, } from './store/store-types.ts';
12
+ export { isLiveQueryDef, isLiveQueryInstance, isQueryable, type LiveStoreContext, type LiveStoreContextRunning, makeShutdownDeferred, type OtelOptions, type Queryable, type QueryDebugInfo, type RefreshReason, type ShutdownDeferred, type StoreInternals, StoreInternalsSymbol, type SubscribeOptions, type SyncStatus, type Unsubscribe, } from './store/store-types.ts';
13
13
  export { exposeDebugUtils } from './utils/dev.ts';
14
14
  export * from './utils/stack-info.ts';
15
15
  //# sourceMappingURL=mod.d.ts.map
package/dist/mod.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAClF,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,SAAS,EACd,wBAAwB,EACxB,gBAAgB,EAChB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,iBAAiB,EACjB,WAAW,EACX,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,QAAQ,EACb,eAAe,EACf,KAAK,QAAQ,EACb,gBAAgB,EAChB,KAAK,SAAS,EACd,GAAG,GACJ,MAAM,mBAAmB,CAAA;AAC1B,cAAc,0BAA0B,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAE5C,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,OAAO,EACL,QAAQ,EACR,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,OAAO,EACP,KAAK,KAAK,EACV,KAAK,MAAM,EACX,KAAK,SAAS,EACd,MAAM,GACP,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtE,OAAO,EAAE,KAAK,kBAAkB,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAClG,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACxC,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACrG,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC5B,oBAAoB,EACpB,KAAK,gBAAgB,GACtB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,cAAc,uBAAuB,CAAA"}
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAClF,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,SAAS,EACd,wBAAwB,EACxB,gBAAgB,EAChB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,iBAAiB,EACjB,WAAW,EACX,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,QAAQ,EACb,eAAe,EACf,KAAK,QAAQ,EACb,gBAAgB,EAChB,KAAK,SAAS,EACd,GAAG,GACJ,MAAM,mBAAmB,CAAA;AAC1B,cAAc,0BAA0B,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAE5C,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,OAAO,EACL,QAAQ,EACR,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,OAAO,EACP,KAAK,KAAK,EACV,KAAK,MAAM,EACX,KAAK,SAAS,EACd,MAAM,GACP,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtE,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAC9B,WAAW,EACX,kBAAkB,GACnB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,KAAK,oBAAoB,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACjG,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACxC,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,WAAW,EACX,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC5B,oBAAoB,EACpB,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,oBAAoB,EACpB,KAAK,gBAAgB,EACrB,KAAK,UAAU,EACf,KAAK,WAAW,GACjB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,cAAc,uBAAuB,CAAA"}