@livestore/livestore 0.3.0-dev.28 → 0.3.0-dev.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/SqliteDbWrapper.d.ts.map +1 -1
  3. package/dist/SqliteDbWrapper.js +4 -1
  4. package/dist/SqliteDbWrapper.js.map +1 -1
  5. package/dist/live-queries/base-class.d.ts +8 -12
  6. package/dist/live-queries/base-class.d.ts.map +1 -1
  7. package/dist/live-queries/base-class.js.map +1 -1
  8. package/dist/live-queries/client-document-get-query.d.ts +12 -0
  9. package/dist/live-queries/client-document-get-query.d.ts.map +1 -0
  10. package/dist/live-queries/client-document-get-query.js +18 -0
  11. package/dist/live-queries/client-document-get-query.js.map +1 -0
  12. package/dist/live-queries/computed.d.ts +4 -8
  13. package/dist/live-queries/computed.d.ts.map +1 -1
  14. package/dist/live-queries/computed.js +1 -6
  15. package/dist/live-queries/computed.js.map +1 -1
  16. package/dist/live-queries/db-query.d.ts +13 -18
  17. package/dist/live-queries/db-query.d.ts.map +1 -1
  18. package/dist/live-queries/db-query.js +34 -34
  19. package/dist/live-queries/db-query.js.map +1 -1
  20. package/dist/live-queries/db-query.test.js +32 -23
  21. package/dist/live-queries/db-query.test.js.map +1 -1
  22. package/dist/live-queries/make-ref.d.ts.map +1 -1
  23. package/dist/live-queries/make-ref.js +1 -0
  24. package/dist/live-queries/make-ref.js.map +1 -1
  25. package/dist/mod.d.ts +0 -1
  26. package/dist/mod.d.ts.map +1 -1
  27. package/dist/mod.js +0 -1
  28. package/dist/mod.js.map +1 -1
  29. package/dist/reactive.d.ts.map +1 -1
  30. package/dist/reactive.js +1 -1
  31. package/dist/reactive.js.map +1 -1
  32. package/dist/store/create-store.js +2 -2
  33. package/dist/store/create-store.js.map +1 -1
  34. package/dist/store/store-types.d.ts +5 -5
  35. package/dist/store/store-types.d.ts.map +1 -1
  36. package/dist/store/store.d.ts +27 -26
  37. package/dist/store/store.d.ts.map +1 -1
  38. package/dist/store/store.js +74 -69
  39. package/dist/store/store.js.map +1 -1
  40. package/dist/utils/stack-info.test.js +6 -6
  41. package/dist/utils/tests/fixture.d.ts +54 -207
  42. package/dist/utils/tests/fixture.d.ts.map +1 -1
  43. package/dist/utils/tests/fixture.js +20 -13
  44. package/dist/utils/tests/fixture.js.map +1 -1
  45. package/dist/utils/tests/otel.d.ts.map +1 -1
  46. package/dist/utils/tests/otel.js +8 -3
  47. package/dist/utils/tests/otel.js.map +1 -1
  48. package/package.json +7 -7
  49. package/src/SqliteDbWrapper.ts +4 -1
  50. package/src/live-queries/__snapshots__/db-query.test.ts.snap +9 -9
  51. package/src/live-queries/base-class.ts +8 -25
  52. package/src/live-queries/client-document-get-query.ts +52 -0
  53. package/src/live-queries/computed.ts +4 -18
  54. package/src/live-queries/db-query.test.ts +38 -24
  55. package/src/live-queries/db-query.ts +60 -66
  56. package/src/live-queries/make-ref.ts +2 -0
  57. package/src/mod.ts +0 -2
  58. package/src/reactive.ts +1 -1
  59. package/src/store/create-store.ts +2 -2
  60. package/src/store/store-types.ts +5 -5
  61. package/src/store/store.ts +97 -91
  62. package/src/utils/stack-info.test.ts +6 -6
  63. package/src/utils/tests/fixture.ts +21 -25
  64. package/src/utils/tests/otel.ts +10 -3
  65. package/tmp/pack.tgz +0 -0
  66. package/dist/row-query-utils.d.ts +0 -17
  67. package/dist/row-query-utils.d.ts.map +0 -1
  68. package/dist/row-query-utils.js +0 -34
  69. package/dist/row-query-utils.js.map +0 -1
  70. package/src/row-query-utils.ts +0 -76
@@ -1,7 +1,5 @@
1
- import type { FromInputSchema } from '@livestore/common/schema';
2
- import type { Store } from '@livestore/livestore';
3
- import { DbSchema } from '@livestore/livestore';
4
- import { Effect } from '@livestore/utils/effect';
1
+ import { State } from '@livestore/livestore';
2
+ import { Effect, Schema } from '@livestore/utils/effect';
5
3
  import type * as otel from '@opentelemetry/api';
6
4
  export type Todo = {
7
5
  id: string;
@@ -13,26 +11,26 @@ export type AppState = {
13
11
  newTodoText: string;
14
12
  filter: Filter;
15
13
  };
16
- export declare const todos: DbSchema.TableDef<{
14
+ export declare const todos: State.SQLite.TableDef<{
17
15
  name: "todos";
18
16
  columns: {
19
- id: {
17
+ readonly id: {
20
18
  columnType: "text";
21
- schema: import("effect/Schema").Schema<string, string, never>;
19
+ schema: Schema.Schema<string, string, never>;
22
20
  default: import("effect/Option").None<never>;
23
21
  nullable: false;
24
22
  primaryKey: true;
25
23
  };
26
- text: {
24
+ readonly text: {
27
25
  columnType: "text";
28
- schema: import("effect/Schema").Schema<string, string, never>;
26
+ schema: Schema.Schema<string, string, never>;
29
27
  default: import("effect/Option").Some<"">;
30
28
  nullable: false;
31
29
  primaryKey: false;
32
30
  };
33
- completed: {
31
+ readonly completed: {
34
32
  columnType: "integer";
35
- schema: import("effect/Schema").Schema<boolean, number, never>;
33
+ schema: Schema.Schema<boolean, number, never>;
36
34
  default: import("effect/Option").Some<false>;
37
35
  nullable: false;
38
36
  primaryKey: false;
@@ -41,15 +39,9 @@ export declare const todos: DbSchema.TableDef<{
41
39
  indexes?: ReadonlyArray<import("@livestore/common/dist/schema/db-schema/dsl/mod.js").Index>;
42
40
  ast: import("@livestore/common/dist/schema/db-schema/ast/sqlite.js").Table;
43
41
  }, {
44
- isSingleton: false;
45
- disableAutomaticIdColumn: false;
46
- deriveMutations: {
47
- enabled: true;
48
- clientOnly: false;
49
- };
50
- isSingleColumn: false;
42
+ isClientDocumentTable: false;
51
43
  requiredInsertColumnNames: "id";
52
- }, import("effect/Schema").Schema<{
44
+ }, Schema.Schema<{
53
45
  readonly id: string;
54
46
  readonly text: string;
55
47
  readonly completed: boolean;
@@ -58,69 +50,43 @@ export declare const todos: DbSchema.TableDef<{
58
50
  readonly text: string;
59
51
  readonly completed: number;
60
52
  }, never>>;
61
- export declare const app: DbSchema.TableDef<{
62
- name: "app";
63
- columns: {
64
- id: {
65
- columnType: "text";
66
- schema: import("effect/Schema").Schema<string, string, never>;
67
- default: import("effect/Option").Some<"static">;
68
- nullable: false;
69
- primaryKey: true;
70
- };
71
- newTodoText: {
72
- columnType: "text";
73
- schema: import("effect/Schema").Schema<string | null, string | null, never>;
74
- default: import("effect/Option").Some<"">;
75
- nullable: true;
76
- primaryKey: false;
77
- };
78
- filter: {
79
- columnType: "text";
80
- schema: import("effect/Schema").Schema<string, string, never>;
81
- default: import("effect/Option").Some<"all">;
82
- nullable: false;
83
- primaryKey: false;
84
- };
85
- };
86
- indexes?: ReadonlyArray<import("@livestore/common/dist/schema/db-schema/dsl/mod.js").Index>;
87
- ast: import("@livestore/common/dist/schema/db-schema/ast/sqlite.js").Table;
88
- }, {
89
- isSingleton: true;
90
- disableAutomaticIdColumn: false;
91
- deriveMutations: never;
92
- isSingleColumn: false;
93
- requiredInsertColumnNames: never;
94
- }, import("effect/Schema").Schema<{
95
- readonly id: string;
96
- readonly newTodoText: string | null;
53
+ export declare const app: State.SQLite.ClientDocumentTableDef<"app", {
97
54
  readonly filter: string;
55
+ readonly newTodoText: string;
98
56
  }, {
99
- readonly id: string;
100
- readonly newTodoText: string | null;
101
57
  readonly filter: string;
102
- }, never>>;
58
+ readonly newTodoText: string;
59
+ }, {
60
+ partialSet: true;
61
+ default: {
62
+ id: undefined;
63
+ value: {
64
+ readonly newTodoText: "";
65
+ readonly filter: "all";
66
+ };
67
+ };
68
+ }>;
103
69
  export declare const tables: {
104
- todos: DbSchema.TableDef<{
70
+ todos: State.SQLite.TableDef<{
105
71
  name: "todos";
106
72
  columns: {
107
- id: {
73
+ readonly id: {
108
74
  columnType: "text";
109
- schema: import("effect/Schema").Schema<string, string, never>;
75
+ schema: Schema.Schema<string, string, never>;
110
76
  default: import("effect/Option").None<never>;
111
77
  nullable: false;
112
78
  primaryKey: true;
113
79
  };
114
- text: {
80
+ readonly text: {
115
81
  columnType: "text";
116
- schema: import("effect/Schema").Schema<string, string, never>;
82
+ schema: Schema.Schema<string, string, never>;
117
83
  default: import("effect/Option").Some<"">;
118
84
  nullable: false;
119
85
  primaryKey: false;
120
86
  };
121
- completed: {
87
+ readonly completed: {
122
88
  columnType: "integer";
123
- schema: import("effect/Schema").Schema<boolean, number, never>;
89
+ schema: Schema.Schema<boolean, number, never>;
124
90
  default: import("effect/Option").Some<false>;
125
91
  nullable: false;
126
92
  primaryKey: false;
@@ -129,15 +95,9 @@ export declare const tables: {
129
95
  indexes?: ReadonlyArray<import("@livestore/common/dist/schema/db-schema/dsl/mod.js").Index>;
130
96
  ast: import("@livestore/common/dist/schema/db-schema/ast/sqlite.js").Table;
131
97
  }, {
132
- isSingleton: false;
133
- disableAutomaticIdColumn: false;
134
- deriveMutations: {
135
- enabled: true;
136
- clientOnly: false;
137
- };
138
- isSingleColumn: false;
98
+ isClientDocumentTable: false;
139
99
  requiredInsertColumnNames: "id";
140
- }, import("effect/Schema").Schema<{
100
+ }, Schema.Schema<{
141
101
  readonly id: string;
142
102
  readonly text: string;
143
103
  readonly completed: boolean;
@@ -146,146 +106,33 @@ export declare const tables: {
146
106
  readonly text: string;
147
107
  readonly completed: number;
148
108
  }, never>>;
149
- app: DbSchema.TableDef<{
150
- name: "app";
151
- columns: {
152
- id: {
153
- columnType: "text";
154
- schema: import("effect/Schema").Schema<string, string, never>;
155
- default: import("effect/Option").Some<"static">;
156
- nullable: false;
157
- primaryKey: true;
158
- };
159
- newTodoText: {
160
- columnType: "text";
161
- schema: import("effect/Schema").Schema<string | null, string | null, never>;
162
- default: import("effect/Option").Some<"">;
163
- nullable: true;
164
- primaryKey: false;
165
- };
166
- filter: {
167
- columnType: "text";
168
- schema: import("effect/Schema").Schema<string, string, never>;
169
- default: import("effect/Option").Some<"all">;
170
- nullable: false;
171
- primaryKey: false;
172
- };
173
- };
174
- indexes?: ReadonlyArray<import("@livestore/common/dist/schema/db-schema/dsl/mod.js").Index>;
175
- ast: import("@livestore/common/dist/schema/db-schema/ast/sqlite.js").Table;
176
- }, {
177
- isSingleton: true;
178
- disableAutomaticIdColumn: false;
179
- deriveMutations: never;
180
- isSingleColumn: false;
181
- requiredInsertColumnNames: never;
182
- }, import("effect/Schema").Schema<{
183
- readonly id: string;
184
- readonly newTodoText: string | null;
109
+ app: State.SQLite.ClientDocumentTableDef<"app", {
185
110
  readonly filter: string;
111
+ readonly newTodoText: string;
186
112
  }, {
187
- readonly id: string;
188
- readonly newTodoText: string | null;
189
113
  readonly filter: string;
190
- }, never>>;
191
- };
192
- export declare const schema: FromInputSchema.DeriveSchema<{
193
- tables: {
194
- todos: DbSchema.TableDef<{
195
- name: "todos";
196
- columns: {
197
- id: {
198
- columnType: "text";
199
- schema: import("effect/Schema").Schema<string, string, never>;
200
- default: import("effect/Option").None<never>;
201
- nullable: false;
202
- primaryKey: true;
203
- };
204
- text: {
205
- columnType: "text";
206
- schema: import("effect/Schema").Schema<string, string, never>;
207
- default: import("effect/Option").Some<"">;
208
- nullable: false;
209
- primaryKey: false;
210
- };
211
- completed: {
212
- columnType: "integer";
213
- schema: import("effect/Schema").Schema<boolean, number, never>;
214
- default: import("effect/Option").Some<false>;
215
- nullable: false;
216
- primaryKey: false;
217
- };
218
- };
219
- indexes?: ReadonlyArray<import("@livestore/common/dist/schema/db-schema/dsl/mod.js").Index>;
220
- ast: import("@livestore/common/dist/schema/db-schema/ast/sqlite.js").Table;
221
- }, {
222
- isSingleton: false;
223
- disableAutomaticIdColumn: false;
224
- deriveMutations: {
225
- enabled: true;
226
- clientOnly: false;
227
- };
228
- isSingleColumn: false;
229
- requiredInsertColumnNames: "id";
230
- }, import("effect/Schema").Schema<{
231
- readonly id: string;
232
- readonly text: string;
233
- readonly completed: boolean;
234
- }, {
235
- readonly id: string;
236
- readonly text: string;
237
- readonly completed: number;
238
- }, never>>;
239
- app: DbSchema.TableDef<{
240
- name: "app";
241
- columns: {
242
- id: {
243
- columnType: "text";
244
- schema: import("effect/Schema").Schema<string, string, never>;
245
- default: import("effect/Option").Some<"static">;
246
- nullable: false;
247
- primaryKey: true;
248
- };
249
- newTodoText: {
250
- columnType: "text";
251
- schema: import("effect/Schema").Schema<string | null, string | null, never>;
252
- default: import("effect/Option").Some<"">;
253
- nullable: true;
254
- primaryKey: false;
255
- };
256
- filter: {
257
- columnType: "text";
258
- schema: import("effect/Schema").Schema<string, string, never>;
259
- default: import("effect/Option").Some<"all">;
260
- nullable: false;
261
- primaryKey: false;
262
- };
114
+ readonly newTodoText: string;
115
+ }, {
116
+ partialSet: true;
117
+ default: {
118
+ id: undefined;
119
+ value: {
120
+ readonly newTodoText: "";
121
+ readonly filter: "all";
263
122
  };
264
- indexes?: ReadonlyArray<import("@livestore/common/dist/schema/db-schema/dsl/mod.js").Index>;
265
- ast: import("@livestore/common/dist/schema/db-schema/ast/sqlite.js").Table;
266
- }, {
267
- isSingleton: true;
268
- disableAutomaticIdColumn: false;
269
- deriveMutations: never;
270
- isSingleColumn: false;
271
- requiredInsertColumnNames: never;
272
- }, import("effect/Schema").Schema<{
273
- readonly id: string;
274
- readonly newTodoText: string | null;
275
- readonly filter: string;
276
- }, {
277
- readonly id: string;
278
- readonly newTodoText: string | null;
279
- readonly filter: string;
280
- }, never>>;
281
- };
123
+ };
124
+ }>;
125
+ };
126
+ export declare const state: import("@livestore/common/dist/schema/schema.js").State;
127
+ export declare const schema: import("@livestore/livestore").FromInputSchema.DeriveSchema<{
128
+ state: import("@livestore/common/dist/schema/schema.js").State;
129
+ events: {};
282
130
  }>;
283
- export interface FixtureSchema extends FromInputSchema.DeriveSchema<{
284
- tables: typeof tables;
285
- }> {
286
- }
287
131
  export declare const makeTodoMvc: ({ otelTracer, otelContext, }?: {
288
132
  otelTracer?: otel.Tracer;
289
133
  otelContext?: otel.Context;
290
- }) => Effect.Effect<Store<FixtureSchema, {}>, import("@livestore/common").UnexpectedError, import("effect/Scope").Scope>;
134
+ }) => Effect.Effect<import("@livestore/livestore").Store<import("@livestore/livestore").FromInputSchema.DeriveSchema<{
135
+ state: import("@livestore/common/dist/schema/schema.js").State;
136
+ events: {};
137
+ }>, {}>, import("@livestore/common").UnexpectedError, import("effect/Scope").Scope>;
291
138
  //# sourceMappingURL=fixture.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fixture.d.ts","sourceRoot":"","sources":["../../../src/utils/tests/fixture.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAe,QAAQ,EAAc,MAAM,sBAAsB,CAAA;AACxE,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,OAAO,KAAK,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAE/C,MAAM,MAAM,IAAI,GAAG;IACjB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,WAAW,CAAA;AAEnD,MAAM,MAAM,QAAQ,GAAG;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAQjB,CAAA;AAED,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAQf,CAAA;AAED,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAiB,CAAA;AACpC,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAyB,CAAA;AAE5C,MAAM,WAAW,aAAc,SAAQ,eAAe,CAAC,YAAY,CAAC;IAAE,MAAM,EAAE,OAAO,MAAM,CAAA;CAAE,CAAC;CAAG;AAEjG,eAAO,MAAM,WAAW,GAAI,+BAGzB;IACD,UAAU,CAAC,EAAE,IAAI,CAAC,MAAM,CAAA;IACxB,WAAW,CAAC,EAAE,IAAI,CAAC,OAAO,CAAA;CACtB,uHAU4E,CAAA"}
1
+ {"version":3,"file":"fixture.d.ts","sourceRoot":"","sources":["../../../src/utils/tests/fixture.ts"],"names":[],"mappings":"AAEA,OAAO,EAA2B,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAE/C,MAAM,MAAM,IAAI,GAAG;IACjB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,WAAW,CAAA;AAEnD,MAAM,MAAM,QAAQ,GAAG;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAOhB,CAAA;AAEF,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;EAOd,CAAA;AAEF,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAiB,CAAA;AAEpC,eAAO,MAAM,KAAK,yDAAwD,CAAA;AAC1E,eAAO,MAAM,MAAM;;;EAAoC,CAAA;AAEvD,eAAO,MAAM,WAAW,GAAI,+BAGzB;IACD,UAAU,CAAC,EAAE,IAAI,CAAC,MAAM,CAAA;IACxB,WAAW,CAAC,EAAE,IAAI,CAAC,OAAO,CAAA;CACtB;;;mFAU4E,CAAA"}
@@ -1,19 +1,26 @@
1
1
  import { makeInMemoryAdapter } from '@livestore/adapter-web';
2
2
  import { provideOtel } from '@livestore/common';
3
- import { createStore, DbSchema, makeSchema } from '@livestore/livestore';
4
- import { Effect } from '@livestore/utils/effect';
5
- export const todos = DbSchema.table('todos', {
6
- id: DbSchema.text({ primaryKey: true }),
7
- text: DbSchema.text({ default: '', nullable: false }),
8
- completed: DbSchema.boolean({ default: false, nullable: false }),
9
- }, { deriveMutations: true, isSingleton: false });
10
- export const app = DbSchema.table('app', {
11
- id: DbSchema.text({ primaryKey: true, default: 'static' }),
12
- newTodoText: DbSchema.text({ default: '', nullable: true }),
13
- filter: DbSchema.text({ default: 'all', nullable: false }),
14
- }, { isSingleton: true });
3
+ import { createStore, makeSchema, State } from '@livestore/livestore';
4
+ import { Effect, Schema } from '@livestore/utils/effect';
5
+ export const todos = State.SQLite.table({
6
+ name: 'todos',
7
+ columns: {
8
+ id: State.SQLite.text({ primaryKey: true }),
9
+ text: State.SQLite.text({ default: '', nullable: false }),
10
+ completed: State.SQLite.boolean({ default: false, nullable: false }),
11
+ },
12
+ });
13
+ export const app = State.SQLite.clientDocument({
14
+ name: 'app',
15
+ schema: Schema.Struct({
16
+ newTodoText: Schema.String,
17
+ filter: Schema.String,
18
+ }),
19
+ default: { value: { newTodoText: '', filter: 'all' } },
20
+ });
15
21
  export const tables = { todos, app };
16
- export const schema = makeSchema({ tables });
22
+ export const state = State.SQLite.makeState({ tables, materializers: {} });
23
+ export const schema = makeSchema({ state, events: {} });
17
24
  export const makeTodoMvc = ({ otelTracer, otelContext, } = {}) => Effect.gen(function* () {
18
25
  const store = yield* createStore({
19
26
  schema,
@@ -1 +1 @@
1
- {"version":3,"file":"fixture.js","sourceRoot":"","sources":["../../../src/utils/tests/fixture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAG/C,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACxE,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAgBhD,MAAM,CAAC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CACjC,OAAO,EACP;IACE,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IACvC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACrD,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;CACjE,EACD,EAAE,eAAe,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAC9C,CAAA;AAED,MAAM,CAAC,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAC/B,KAAK,EACL;IACE,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;IAC1D,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC3D,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;CAC3D,EACD,EAAE,WAAW,EAAE,IAAI,EAAE,CACtB,CAAA;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAA;AACpC,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;AAI5C,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAC1B,UAAU,EACV,WAAW,MAIT,EAAE,EAAE,EAAE,CACR,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,KAAK,GAAyB,KAAK,CAAC,CAAC,WAAW,CAAC;QACrD,MAAM;QACN,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,mBAAmB,EAAE;QAC9B,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE;KAC9B,CAAC,CAAA;IAEF,OAAO,KAAK,CAAA;AACd,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,iBAAiB,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"fixture.js","sourceRoot":"","sources":["../../../src/utils/tests/fixture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAgBxD,MAAM,CAAC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;IACtC,IAAI,EAAE,OAAO;IACb,OAAO,EAAE;QACP,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;QAC3C,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QACzD,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;KACrE;CACF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC;IAC7C,IAAI,EAAE,KAAK;IACX,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC,MAAM;QAC1B,MAAM,EAAE,MAAM,CAAC,MAAM;KACtB,CAAC;IACF,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;CACvD,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAA;AAEpC,MAAM,CAAC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,CAAA;AAC1E,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAA;AAEvD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAC1B,UAAU,EACV,WAAW,MAIT,EAAE,EAAE,EAAE,CACR,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,WAAW,CAAC;QAC/B,MAAM;QACN,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,mBAAmB,EAAE;QAC9B,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE;KAC9B,CAAC,CAAA;IAEF,OAAO,KAAK,CAAA;AACd,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,iBAAiB,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"otel.d.ts","sourceRoot":"","sources":["../../../src/utils/tests/otel.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AACvF,KAAK,oBAAoB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,GAAG,CAAC;IAAC,QAAQ,EAAE,oBAAoB,EAAE,CAAA;CAAE,CAAA;AAEhG,eAAO,MAAM,qBAAqB,GAChC,UAAU,oBAAoB,EAC9B,gBAAgB,CAAC,UAAU,EAAE,UAAU,KAAK,UAAU,KACrD,oBAwCF,CAAA;AAqBD,eAAO,MAAM,WAAW,GAAI,OAAO,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyDhD,CAAA"}
1
+ {"version":3,"file":"otel.d.ts","sourceRoot":"","sources":["../../../src/utils/tests/otel.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AACvF,KAAK,oBAAoB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,GAAG,CAAC;IAAC,QAAQ,EAAE,oBAAoB,EAAE,CAAA;CAAE,CAAA;AAEhG,eAAO,MAAM,qBAAqB,GAChC,UAAU,oBAAoB,EAC9B,gBAAgB,CAAC,UAAU,EAAE,UAAU,KAAK,UAAU,KACrD,oBA+CF,CAAA;AAqBD,eAAO,MAAM,WAAW,GAAI,OAAO,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyDhD,CAAA"}
@@ -4,12 +4,17 @@ export const getSimplifiedRootSpan = (exporter, mapAttributes) => {
4
4
  const spansMap = new Map(spans.map((span) => [span.spanContext().spanId, { span, children: [] }]));
5
5
  const mapAttributesfn = mapAttributes ?? identity;
6
6
  spansMap.forEach((nestedSpan) => {
7
- const parentSpan = nestedSpan.span.parentSpanId ? spansMap.get(nestedSpan.span.parentSpanId) : undefined;
7
+ const parentId = nestedSpan.span.parentSpanContext?.spanId;
8
+ const parentSpan = parentId ? spansMap.get(parentId) : undefined;
8
9
  if (parentSpan) {
9
10
  parentSpan.children.push(nestedSpan);
10
11
  }
11
12
  });
12
- const rootSpan = spansMap.get(spans.find((_) => _.name === 'createStore').spanContext().spanId);
13
+ const createStoreSpanData = spans.find((_) => _.name === 'createStore');
14
+ if (createStoreSpanData === undefined) {
15
+ throw new Error("Could not find the root span named 'createStore'. Available spans: " + spans.map((s) => s.name).join(', '));
16
+ }
17
+ const rootSpan = spansMap.get(createStoreSpanData.spanContext().spanId);
13
18
  const simplifySpanRec = (span) => omitEmpty({
14
19
  _name: span.span.name,
15
20
  attributes: mapAttributesfn(span.span.attributes),
@@ -64,7 +69,7 @@ export const toTraceFile = (spans) => {
64
69
  spans: spans.map((span) => ({
65
70
  traceId: span.spanContext().traceId,
66
71
  spanId: span.spanContext().spanId,
67
- ...(span.parentSpanId ? { parentSpanId: span.parentSpanId } : {}),
72
+ ...(span.parentSpanContext?.spanId ? { parentSpanId: span.parentSpanContext.spanId } : {}),
68
73
  // traceState: span.spanContext().traceState ?? '',
69
74
  name: span.name,
70
75
  kind: 'SPAN_KIND_INTERNAL',
@@ -1 +1 @@
1
- {"version":3,"file":"otel.js","sourceRoot":"","sources":["../../../src/utils/tests/otel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"otel.js","sourceRoot":"","sources":["../../../src/utils/tests/otel.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.3.0-dev.28",
3
+ "version": "0.3.0-dev.29",
4
4
  "type": "module",
5
5
  "sideEffects": false,
6
6
  "exports": {
@@ -37,16 +37,16 @@
37
37
  },
38
38
  "dependencies": {
39
39
  "@opentelemetry/api": "1.9.0",
40
- "@livestore/common": "0.3.0-dev.28",
41
- "@livestore/utils": "0.3.0-dev.28"
40
+ "@livestore/common": "0.3.0-dev.29",
41
+ "@livestore/utils": "0.3.0-dev.29"
42
42
  },
43
43
  "devDependencies": {
44
- "@opentelemetry/sdk-trace-base": "^1.30.1",
44
+ "@opentelemetry/sdk-trace-base": "^2.0.0",
45
45
  "jsdom": "^26.0.0",
46
- "typescript": "^5.8.2",
46
+ "typescript": "^5.8.3",
47
47
  "vite": "^6.2.1",
48
- "vitest": "^3.0.8",
49
- "@livestore/adapter-web": "0.3.0-dev.28"
48
+ "vitest": "^3.1.1",
49
+ "@livestore/adapter-web": "0.3.0-dev.29"
50
50
  },
51
51
  "publishConfig": {
52
52
  "access": "public"
@@ -17,7 +17,7 @@ import {
17
17
  sql,
18
18
  SqliteError,
19
19
  } from '@livestore/common'
20
- import { isDevEnv } from '@livestore/utils'
20
+ import { isDevEnv, LS_DEV } from '@livestore/utils'
21
21
  import type * as otel from '@opentelemetry/api'
22
22
 
23
23
  import QueryCache from './QueryCache.js'
@@ -212,6 +212,9 @@ export class SqliteDbWrapper implements SqliteDb {
212
212
  } catch (cause: any) {
213
213
  span.recordException(cause)
214
214
  span.end()
215
+ if (LS_DEV) {
216
+ debugger
217
+ }
215
218
  throw new SqliteError({ cause, query: { bindValues: bindValues ?? {}, sql: queryStr } })
216
219
  }
217
220
  },
@@ -32,15 +32,15 @@ exports[`otel > otel 3`] = `
32
32
  "_name": "LiveStore:sync",
33
33
  },
34
34
  {
35
- "_name": "LiveStore:mutations",
35
+ "_name": "LiveStore:commits",
36
36
  "children": [
37
37
  {
38
38
  "_name": "LiveStore:commit",
39
39
  "attributes": {
40
- "livestore.mutationEventTags": [
40
+ "livestore.eventTags": [
41
41
  "livestore.RawSql",
42
42
  ],
43
- "livestore.mutationEventsCount": 1,
43
+ "livestore.eventsCount": 1,
44
44
  },
45
45
  "children": [
46
46
  {
@@ -300,15 +300,15 @@ exports[`otel > with thunks 7`] = `
300
300
  "_name": "LiveStore:sync",
301
301
  },
302
302
  {
303
- "_name": "LiveStore:mutations",
303
+ "_name": "LiveStore:commits",
304
304
  "children": [
305
305
  {
306
306
  "_name": "LiveStore:commit",
307
307
  "attributes": {
308
- "livestore.mutationEventTags": [
308
+ "livestore.eventTags": [
309
309
  "livestore.RawSql",
310
310
  ],
311
- "livestore.mutationEventsCount": 1,
311
+ "livestore.eventsCount": 1,
312
312
  },
313
313
  "children": [
314
314
  {
@@ -402,15 +402,15 @@ exports[`otel > with thunks with query builder and without labels 3`] = `
402
402
  "_name": "LiveStore:sync",
403
403
  },
404
404
  {
405
- "_name": "LiveStore:mutations",
405
+ "_name": "LiveStore:commits",
406
406
  "children": [
407
407
  {
408
408
  "_name": "LiveStore:commit",
409
409
  "attributes": {
410
- "livestore.mutationEventTags": [
410
+ "livestore.eventTags": [
411
411
  "livestore.RawSql",
412
412
  ],
413
- "livestore.mutationEventsCount": 1,
413
+ "livestore.eventsCount": 1,
414
414
  },
415
415
  "children": [
416
416
  {
@@ -1,4 +1,3 @@
1
- import type { QueryInfo } from '@livestore/common'
2
1
  import { isNotNil } from '@livestore/utils'
3
2
  import type * as otel from '@opentelemetry/api'
4
3
 
@@ -24,11 +23,7 @@ export type ReactivityGraphContext = {
24
23
  }
25
24
 
26
25
  export type GetResult<TQuery extends LiveQueryDef.Any | LiveQuery.Any> =
27
- TQuery extends LiveQuery<infer TResult, infer _1>
28
- ? TResult
29
- : TQuery extends LiveQueryDef<infer TResult, infer _1>
30
- ? TResult
31
- : unknown
26
+ TQuery extends LiveQuery<infer TResult> ? TResult : TQuery extends LiveQueryDef<infer TResult> ? TResult : unknown
32
27
 
33
28
  let queryIdCounter = 0
34
29
 
@@ -65,23 +60,22 @@ export const depsToString = (deps: DepKey): string => {
65
60
  return deps.filter(isNotNil).join(',')
66
61
  }
67
62
 
68
- export interface LiveQueryDef<TResult, TQueryInfo extends QueryInfo = QueryInfo.None> {
63
+ export interface LiveQueryDef<TResult> {
69
64
  _tag: 'def'
70
65
  /** Creates a new LiveQuery instance bound to a specific store/reactivityGraph */
71
- make: (ctx: ReactivityGraphContext, otelContext?: otel.Context) => RcRef<LiveQuery<TResult, TQueryInfo>>
66
+ make: (ctx: ReactivityGraphContext, otelContext?: otel.Context) => RcRef<LiveQuery<TResult>>
72
67
  label: string
73
68
  hash: string
74
- queryInfo: TQueryInfo
75
69
  }
76
70
 
77
71
  export namespace LiveQueryDef {
78
- export type Any = LiveQueryDef<any, any>
72
+ export type Any = LiveQueryDef<any>
79
73
  }
80
74
 
81
75
  /**
82
76
  * A LiveQuery is stateful
83
77
  */
84
- export interface LiveQuery<TResult, TQueryInfo extends QueryInfo = QueryInfo.None> {
78
+ export interface LiveQuery<TResult> {
85
79
  id: number
86
80
  _tag: 'computed' | 'db' | 'graphql'
87
81
  [TypeId]: TypeId
@@ -109,20 +103,16 @@ export interface LiveQuery<TResult, TQueryInfo extends QueryInfo = QueryInfo.Non
109
103
 
110
104
  activeSubscriptions: Set<StackInfo>
111
105
 
112
- queryInfo: TQueryInfo
113
-
114
106
  runs: number
115
107
 
116
108
  executionTimes: number[]
117
109
  }
118
110
 
119
111
  export namespace LiveQuery {
120
- export type Any = LiveQuery<any, any>
112
+ export type Any = LiveQuery<any>
121
113
  }
122
114
 
123
- export abstract class LiveStoreQueryBase<TResult, TQueryInfo extends QueryInfo>
124
- implements LiveQuery<TResult, TQueryInfo>
125
- {
115
+ export abstract class LiveStoreQueryBase<TResult> implements LiveQuery<TResult> {
126
116
  '__result!'!: TResult
127
117
  id = queryIdCounter++;
128
118
  [TypeId]: TypeId = TypeId
@@ -137,8 +127,6 @@ export abstract class LiveStoreQueryBase<TResult, TQueryInfo extends QueryInfo>
137
127
 
138
128
  abstract readonly reactivityGraph: ReactivityGraph
139
129
 
140
- abstract queryInfo: TQueryInfo
141
-
142
130
  get runs() {
143
131
  return this.results$.recomputations
144
132
  }
@@ -165,12 +153,7 @@ export abstract class LiveStoreQueryBase<TResult, TQueryInfo extends QueryInfo>
165
153
  }
166
154
 
167
155
  export type GetAtomResult = <T>(
168
- atom:
169
- | RG.Atom<T, any, RefreshReason>
170
- | LiveQueryDef<T, any>
171
- | LiveQuery<T, any>
172
- | ILiveQueryRef<T>
173
- | ILiveQueryRefDef<T>,
156
+ atom: RG.Atom<T, any, RefreshReason> | LiveQueryDef<T> | LiveQuery<T> | ILiveQueryRef<T> | ILiveQueryRefDef<T>,
174
157
  otelContext?: otel.Context | undefined,
175
158
  debugRefreshReason?: RefreshReason | undefined,
176
159
  ) => T