@livestore/livestore 0.3.2-dev.1 → 0.3.2-dev.5

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.
@@ -1,12 +1,10 @@
1
- import { sql } from '@livestore/common';
2
- import { rawSqlEvent } from '@livestore/common/schema';
3
1
  import { Effect, ReadonlyRecord, Schema } from '@livestore/utils/effect';
4
2
  import { Vitest } from '@livestore/utils-dev/node-vitest';
5
3
  import * as otel from '@opentelemetry/api';
6
4
  import { BasicTracerProvider, InMemorySpanExporter, SimpleSpanProcessor } from '@opentelemetry/sdk-trace-base';
7
5
  import { expect } from 'vitest';
8
6
  import * as RG from "../reactive.js";
9
- import { makeTodoMvc, tables } from "../utils/tests/fixture.js";
7
+ import { events, makeTodoMvc, tables } from "../utils/tests/fixture.js";
10
8
  import { getSimplifiedRootSpan } from "../utils/tests/otel.js";
11
9
  import { computed } from "./computed.js";
12
10
  import { queryDb } from "./db-query.js";
@@ -51,7 +49,7 @@ Vitest.describe('otel', () => {
51
49
  queriedTables: new Set(['todos']),
52
50
  });
53
51
  expect(store.query(query$)).toMatchInlineSnapshot('[]');
54
- store.commit(rawSqlEvent({ sql: sql `INSERT INTO todos (id, text, completed) VALUES ('t1', 'buy milk', 0)` }));
52
+ store.commit(events.todoCreated({ id: 't1', text: 'buy milk', completed: false }));
55
53
  expect(store.query(query$)).toMatchInlineSnapshot(`
56
54
  [
57
55
  {
@@ -85,7 +83,7 @@ Vitest.describe('otel', () => {
85
83
  }
86
84
  `);
87
85
  expect(store.reactivityGraph.getSnapshot({ includeResults: true })).toMatchSnapshot();
88
- store.commit(rawSqlEvent({ sql: sql `INSERT INTO todos (id, text, completed) VALUES ('t1', 'buy milk', 0)` }));
86
+ store.commit(events.todoCreated({ id: 't1', text: 'buy milk', completed: false }));
89
87
  expect(store.reactivityGraph.getSnapshot({ includeResults: true })).toMatchSnapshot();
90
88
  expect(store.query(query$)).toMatchInlineSnapshot(`
91
89
  {
@@ -114,7 +112,7 @@ Vitest.describe('otel', () => {
114
112
  "text": "",
115
113
  }
116
114
  `);
117
- store.commit(rawSqlEvent({ sql: sql `INSERT INTO todos (id, text, completed) VALUES ('t1', 'buy milk', 0)` }));
115
+ store.commit(events.todoCreated({ id: 't1', text: 'buy milk', completed: false }));
118
116
  expect(store.query(query$)).toMatchInlineSnapshot(`
119
117
  {
120
118
  "completed": false,
@@ -143,7 +141,7 @@ Vitest.describe('otel', () => {
143
141
  });
144
142
  expect(callbackResults).toHaveLength(1);
145
143
  expect(callbackResults[0]).toMatchObject(defaultTodo);
146
- store.commit(rawSqlEvent({ sql: sql `INSERT INTO todos (id, text, completed) VALUES ('t1', 'buy milk', 0)` }));
144
+ store.commit(events.todoCreated({ id: 't1', text: 'buy milk', completed: false }));
147
145
  expect(callbackResults).toHaveLength(2);
148
146
  expect(callbackResults[1]).toMatchObject({
149
147
  id: 't1',
@@ -178,11 +176,11 @@ Vitest.describe('otel', () => {
178
176
  });
179
177
  expect(callbackResults1).toHaveLength(1);
180
178
  expect(callbackResults2).toHaveLength(1);
181
- store.commit(rawSqlEvent({ sql: sql `INSERT INTO todos (id, text, completed) VALUES ('t3', 'read book', 0)` }));
179
+ store.commit(events.todoCreated({ id: 't3', text: 'read book', completed: false }));
182
180
  expect(callbackResults1).toHaveLength(2);
183
181
  expect(callbackResults2).toHaveLength(2);
184
182
  unsubscribe1();
185
- store.commit(rawSqlEvent({ sql: sql `INSERT INTO todos (id, text, completed) VALUES ('t4', 'cook dinner', 0)` }));
183
+ store.commit(events.todoCreated({ id: 't4', text: 'cook dinner', completed: false }));
186
184
  expect(callbackResults1).toHaveLength(2);
187
185
  expect(callbackResults2).toHaveLength(3);
188
186
  unsubscribe2();
@@ -203,7 +201,7 @@ Vitest.describe('otel', () => {
203
201
  });
204
202
  expect(callbackResults).toHaveLength(1);
205
203
  expect(callbackResults[0]).toEqual([]);
206
- store.commit(rawSqlEvent({ sql: sql `INSERT INTO todos (id, text, completed) VALUES ('t5', 'clean house', 1)` }));
204
+ store.commit(events.todoCreated({ id: 't5', text: 'clean house', completed: true }));
207
205
  expect(callbackResults).toHaveLength(2);
208
206
  expect(callbackResults[1]).toHaveLength(1);
209
207
  expect(callbackResults[1][0]).toMatchObject({
@@ -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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"}
@@ -113,16 +113,47 @@ export declare const tables: {
113
113
  };
114
114
  }>;
115
115
  };
116
+ export declare const events: {
117
+ todoCreated: State.SQLite.EventDef<"todo.created", {
118
+ readonly id: string;
119
+ readonly text: string;
120
+ readonly completed: boolean;
121
+ }, {
122
+ readonly id: string;
123
+ readonly text: string;
124
+ readonly completed: boolean;
125
+ }, false>;
126
+ };
116
127
  export declare const state: import("@livestore/livestore").InternalState;
117
128
  export declare const schema: import("@livestore/livestore").FromInputSchema.DeriveSchema<{
118
129
  state: import("@livestore/livestore").InternalState;
119
- events: {};
130
+ events: {
131
+ todoCreated: State.SQLite.EventDef<"todo.created", {
132
+ readonly id: string;
133
+ readonly text: string;
134
+ readonly completed: boolean;
135
+ }, {
136
+ readonly id: string;
137
+ readonly text: string;
138
+ readonly completed: boolean;
139
+ }, false>;
140
+ };
120
141
  }>;
121
142
  export declare const makeTodoMvc: ({ otelTracer, otelContext, }?: {
122
143
  otelTracer?: otel.Tracer;
123
144
  otelContext?: otel.Context;
124
145
  }) => Effect.Effect<import("@livestore/livestore").Store<import("@livestore/livestore").FromInputSchema.DeriveSchema<{
125
146
  state: import("@livestore/livestore").InternalState;
126
- events: {};
147
+ events: {
148
+ todoCreated: State.SQLite.EventDef<"todo.created", {
149
+ readonly id: string;
150
+ readonly text: string;
151
+ readonly completed: boolean;
152
+ }, {
153
+ readonly id: string;
154
+ readonly text: string;
155
+ readonly completed: boolean;
156
+ }, false>;
157
+ };
127
158
  }>, {}>, import("@livestore/common").UnexpectedError, import("effect/Scope").Scope>;
128
159
  //# 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,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,8CAAwD,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
+ {"version":3,"file":"fixture.d.ts","sourceRoot":"","sources":["../../../src/utils/tests/fixture.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmC,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAC7E,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,MAAM;;;;;;;;;;CASlB,CAAA;AAMD,eAAO,MAAM,KAAK,8CAAoD,CAAA;AACtE,eAAO,MAAM,MAAM;;;;;;;;;;;;;EAAgC,CAAA;AAEnD,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,6 +1,6 @@
1
1
  import { makeInMemoryAdapter } from '@livestore/adapter-web';
2
2
  import { provideOtel } from '@livestore/common';
3
- import { createStore, makeSchema, State } from '@livestore/livestore';
3
+ import { createStore, Events, makeSchema, State } from '@livestore/livestore';
4
4
  import { Effect, Schema } from '@livestore/utils/effect';
5
5
  export const todos = State.SQLite.table({
6
6
  name: 'todos',
@@ -19,8 +19,21 @@ export const app = State.SQLite.clientDocument({
19
19
  default: { value: { newTodoText: '', filter: 'all' } },
20
20
  });
21
21
  export const tables = { todos, app };
22
- export const state = State.SQLite.makeState({ tables, materializers: {} });
23
- export const schema = makeSchema({ state, events: {} });
22
+ export const events = {
23
+ todoCreated: Events.synced({
24
+ name: 'todo.created',
25
+ schema: Schema.Struct({
26
+ id: Schema.String,
27
+ text: Schema.String,
28
+ completed: Schema.Boolean,
29
+ }),
30
+ }),
31
+ };
32
+ const materializers = State.SQLite.materializers(events, {
33
+ 'todo.created': ({ id, text, completed }) => tables.todos.insert({ id, text, completed }),
34
+ });
35
+ export const state = State.SQLite.makeState({ tables, materializers });
36
+ export const schema = makeSchema({ state, events });
24
37
  export const makeTodoMvc = ({ otelTracer, otelContext, } = {}) => Effect.gen(function* () {
25
38
  const store = yield* createStore({
26
39
  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;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
+ {"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,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAC7E,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,MAAM,GAAG;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC;QACzB,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;YACpB,EAAE,EAAE,MAAM,CAAC,MAAM;YACjB,IAAI,EAAE,MAAM,CAAC,MAAM;YACnB,SAAS,EAAE,MAAM,CAAC,OAAO;SAC1B,CAAC;KACH,CAAC;CACH,CAAA;AAED,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE;IACvD,cAAc,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;CAC1F,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAA;AACtE,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;AAEnD,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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@livestore/livestore",
3
- "version": "0.3.2-dev.1",
3
+ "version": "0.3.2-dev.5",
4
4
  "type": "module",
5
5
  "sideEffects": false,
6
6
  "exports": {
@@ -37,8 +37,8 @@
37
37
  },
38
38
  "dependencies": {
39
39
  "@opentelemetry/api": "1.9.0",
40
- "@livestore/utils": "0.3.2-dev.1",
41
- "@livestore/common": "0.3.2-dev.1"
40
+ "@livestore/common": "0.3.2-dev.5",
41
+ "@livestore/utils": "0.3.2-dev.5"
42
42
  },
43
43
  "devDependencies": {
44
44
  "@opentelemetry/sdk-trace-base": "^2.0.0",
@@ -46,8 +46,8 @@
46
46
  "typescript": "^5.8.3",
47
47
  "vite": "^7.0.0",
48
48
  "vitest": "3.2.4",
49
- "@livestore/adapter-web": "0.3.2-dev.1",
50
- "@livestore/utils-dev": "0.3.2-dev.1"
49
+ "@livestore/utils-dev": "0.3.2-dev.5",
50
+ "@livestore/adapter-web": "0.3.2-dev.5"
51
51
  },
52
52
  "files": [
53
53
  "package.json",
@@ -45,7 +45,7 @@ exports[`otel > QueryBuilder subscription - basic functionality 1`] = `
45
45
  "_name": "LiveStore:commit",
46
46
  "attributes": {
47
47
  "livestore.eventTags": [
48
- "livestore.RawSql",
48
+ "todo.created",
49
49
  ],
50
50
  "livestore.eventsCount": 1,
51
51
  },
@@ -53,7 +53,7 @@ exports[`otel > QueryBuilder subscription - basic functionality 1`] = `
53
53
  {
54
54
  "_name": "livestore.in-memory-db:execute",
55
55
  "attributes": {
56
- "sql.query": "INSERT INTO todos (id, text, completed) VALUES ('t1', 'buy milk', 0)",
56
+ "sql.query": "INSERT INTO 'todos' (id, text, completed) VALUES (?, ?, ?)",
57
57
  },
58
58
  },
59
59
  ],
@@ -158,7 +158,7 @@ exports[`otel > QueryBuilder subscription - direct table subscription 1`] = `
158
158
  "_name": "LiveStore:commit",
159
159
  "attributes": {
160
160
  "livestore.eventTags": [
161
- "livestore.RawSql",
161
+ "todo.created",
162
162
  ],
163
163
  "livestore.eventsCount": 1,
164
164
  },
@@ -166,7 +166,7 @@ exports[`otel > QueryBuilder subscription - direct table subscription 1`] = `
166
166
  {
167
167
  "_name": "livestore.in-memory-db:execute",
168
168
  "attributes": {
169
- "sql.query": "INSERT INTO todos (id, text, completed) VALUES ('t5', 'clean house', 1)",
169
+ "sql.query": "INSERT INTO 'todos' (id, text, completed) VALUES (?, ?, ?)",
170
170
  },
171
171
  },
172
172
  ],
@@ -278,7 +278,7 @@ exports[`otel > QueryBuilder subscription - unsubscribe functionality 1`] = `
278
278
  "_name": "LiveStore:commit",
279
279
  "attributes": {
280
280
  "livestore.eventTags": [
281
- "livestore.RawSql",
281
+ "todo.created",
282
282
  ],
283
283
  "livestore.eventsCount": 1,
284
284
  },
@@ -286,7 +286,7 @@ exports[`otel > QueryBuilder subscription - unsubscribe functionality 1`] = `
286
286
  {
287
287
  "_name": "livestore.in-memory-db:execute",
288
288
  "attributes": {
289
- "sql.query": "INSERT INTO todos (id, text, completed) VALUES ('t3', 'read book', 0)",
289
+ "sql.query": "INSERT INTO 'todos' (id, text, completed) VALUES (?, ?, ?)",
290
290
  },
291
291
  },
292
292
  ],
@@ -295,7 +295,7 @@ exports[`otel > QueryBuilder subscription - unsubscribe functionality 1`] = `
295
295
  "_name": "LiveStore:commit",
296
296
  "attributes": {
297
297
  "livestore.eventTags": [
298
- "livestore.RawSql",
298
+ "todo.created",
299
299
  ],
300
300
  "livestore.eventsCount": 1,
301
301
  },
@@ -303,7 +303,7 @@ exports[`otel > QueryBuilder subscription - unsubscribe functionality 1`] = `
303
303
  {
304
304
  "_name": "livestore.in-memory-db:execute",
305
305
  "attributes": {
306
- "sql.query": "INSERT INTO todos (id, text, completed) VALUES ('t4', 'cook dinner', 0)",
306
+ "sql.query": "INSERT INTO 'todos' (id, text, completed) VALUES (?, ?, ?)",
307
307
  },
308
308
  },
309
309
  ],
@@ -434,7 +434,7 @@ exports[`otel > otel 3`] = `
434
434
  "_name": "LiveStore:commit",
435
435
  "attributes": {
436
436
  "livestore.eventTags": [
437
- "livestore.RawSql",
437
+ "todo.created",
438
438
  ],
439
439
  "livestore.eventsCount": 1,
440
440
  },
@@ -442,7 +442,7 @@ exports[`otel > otel 3`] = `
442
442
  {
443
443
  "_name": "livestore.in-memory-db:execute",
444
444
  "attributes": {
445
- "sql.query": "INSERT INTO todos (id, text, completed) VALUES ('t1', 'buy milk', 0)",
445
+ "sql.query": "INSERT INTO 'todos' (id, text, completed) VALUES (?, ?, ?)",
446
446
  },
447
447
  },
448
448
  ],
@@ -709,7 +709,7 @@ exports[`otel > with thunks 7`] = `
709
709
  "_name": "LiveStore:commit",
710
710
  "attributes": {
711
711
  "livestore.eventTags": [
712
- "livestore.RawSql",
712
+ "todo.created",
713
713
  ],
714
714
  "livestore.eventsCount": 1,
715
715
  },
@@ -717,7 +717,7 @@ exports[`otel > with thunks 7`] = `
717
717
  {
718
718
  "_name": "livestore.in-memory-db:execute",
719
719
  "attributes": {
720
- "sql.query": "INSERT INTO todos (id, text, completed) VALUES ('t1', 'buy milk', 0)",
720
+ "sql.query": "INSERT INTO 'todos' (id, text, completed) VALUES (?, ?, ?)",
721
721
  },
722
722
  },
723
723
  ],
@@ -818,7 +818,7 @@ exports[`otel > with thunks with query builder and without labels 3`] = `
818
818
  "_name": "LiveStore:commit",
819
819
  "attributes": {
820
820
  "livestore.eventTags": [
821
- "livestore.RawSql",
821
+ "todo.created",
822
822
  ],
823
823
  "livestore.eventsCount": 1,
824
824
  },
@@ -826,7 +826,7 @@ exports[`otel > with thunks with query builder and without labels 3`] = `
826
826
  {
827
827
  "_name": "livestore.in-memory-db:execute",
828
828
  "attributes": {
829
- "sql.query": "INSERT INTO todos (id, text, completed) VALUES ('t1', 'buy milk', 0)",
829
+ "sql.query": "INSERT INTO 'todos' (id, text, completed) VALUES (?, ?, ?)",
830
830
  },
831
831
  },
832
832
  ],
@@ -1,5 +1,3 @@
1
- import { sql } from '@livestore/common'
2
- import { rawSqlEvent } from '@livestore/common/schema'
3
1
  import { Effect, ReadonlyRecord, Schema } from '@livestore/utils/effect'
4
2
  import { Vitest } from '@livestore/utils-dev/node-vitest'
5
3
  import * as otel from '@opentelemetry/api'
@@ -7,7 +5,7 @@ import { BasicTracerProvider, InMemorySpanExporter, SimpleSpanProcessor } from '
7
5
  import { expect } from 'vitest'
8
6
 
9
7
  import * as RG from '../reactive.ts'
10
- import { makeTodoMvc, tables } from '../utils/tests/fixture.ts'
8
+ import { events, makeTodoMvc, tables } from '../utils/tests/fixture.ts'
11
9
  import { getSimplifiedRootSpan } from '../utils/tests/otel.ts'
12
10
  import { computed } from './computed.ts'
13
11
  import { queryDb } from './db-query.ts'
@@ -65,7 +63,7 @@ Vitest.describe('otel', () => {
65
63
  })
66
64
  expect(store.query(query$)).toMatchInlineSnapshot('[]')
67
65
 
68
- store.commit(rawSqlEvent({ sql: sql`INSERT INTO todos (id, text, completed) VALUES ('t1', 'buy milk', 0)` }))
66
+ store.commit(events.todoCreated({ id: 't1', text: 'buy milk', completed: false }))
69
67
 
70
68
  expect(store.query(query$)).toMatchInlineSnapshot(`
71
69
  [
@@ -119,7 +117,7 @@ Vitest.describe('otel', () => {
119
117
 
120
118
  expect(store.reactivityGraph.getSnapshot({ includeResults: true })).toMatchSnapshot()
121
119
 
122
- store.commit(rawSqlEvent({ sql: sql`INSERT INTO todos (id, text, completed) VALUES ('t1', 'buy milk', 0)` }))
120
+ store.commit(events.todoCreated({ id: 't1', text: 'buy milk', completed: false }))
123
121
 
124
122
  expect(store.reactivityGraph.getSnapshot({ includeResults: true })).toMatchSnapshot()
125
123
 
@@ -167,7 +165,7 @@ Vitest.describe('otel', () => {
167
165
  }
168
166
  `)
169
167
 
170
- store.commit(rawSqlEvent({ sql: sql`INSERT INTO todos (id, text, completed) VALUES ('t1', 'buy milk', 0)` }))
168
+ store.commit(events.todoCreated({ id: 't1', text: 'buy milk', completed: false }))
171
169
 
172
170
  expect(store.query(query$)).toMatchInlineSnapshot(`
173
171
  {
@@ -212,7 +210,7 @@ Vitest.describe('otel', () => {
212
210
  expect(callbackResults).toHaveLength(1)
213
211
  expect(callbackResults[0]).toMatchObject(defaultTodo)
214
212
 
215
- store.commit(rawSqlEvent({ sql: sql`INSERT INTO todos (id, text, completed) VALUES ('t1', 'buy milk', 0)` }))
213
+ store.commit(events.todoCreated({ id: 't1', text: 'buy milk', completed: false }))
216
214
 
217
215
  expect(callbackResults).toHaveLength(2)
218
216
  expect(callbackResults[1]).toMatchObject({
@@ -264,14 +262,14 @@ Vitest.describe('otel', () => {
264
262
  expect(callbackResults1).toHaveLength(1)
265
263
  expect(callbackResults2).toHaveLength(1)
266
264
 
267
- store.commit(rawSqlEvent({ sql: sql`INSERT INTO todos (id, text, completed) VALUES ('t3', 'read book', 0)` }))
265
+ store.commit(events.todoCreated({ id: 't3', text: 'read book', completed: false }))
268
266
 
269
267
  expect(callbackResults1).toHaveLength(2)
270
268
  expect(callbackResults2).toHaveLength(2)
271
269
 
272
270
  unsubscribe1()
273
271
 
274
- store.commit(rawSqlEvent({ sql: sql`INSERT INTO todos (id, text, completed) VALUES ('t4', 'cook dinner', 0)` }))
272
+ store.commit(events.todoCreated({ id: 't4', text: 'cook dinner', completed: false }))
275
273
 
276
274
  expect(callbackResults1).toHaveLength(2)
277
275
  expect(callbackResults2).toHaveLength(3)
@@ -307,7 +305,7 @@ Vitest.describe('otel', () => {
307
305
  expect(callbackResults).toHaveLength(1)
308
306
  expect(callbackResults[0]).toEqual([])
309
307
 
310
- store.commit(rawSqlEvent({ sql: sql`INSERT INTO todos (id, text, completed) VALUES ('t5', 'clean house', 1)` }))
308
+ store.commit(events.todoCreated({ id: 't5', text: 'clean house', completed: true }))
311
309
 
312
310
  expect(callbackResults).toHaveLength(2)
313
311
  expect(callbackResults[1]).toHaveLength(1)
@@ -1,6 +1,6 @@
1
1
  import { makeInMemoryAdapter } from '@livestore/adapter-web'
2
2
  import { provideOtel } from '@livestore/common'
3
- import { createStore, makeSchema, State } from '@livestore/livestore'
3
+ import { createStore, Events, makeSchema, State } from '@livestore/livestore'
4
4
  import { Effect, Schema } from '@livestore/utils/effect'
5
5
  import type * as otel from '@opentelemetry/api'
6
6
 
@@ -37,8 +37,23 @@ export const app = State.SQLite.clientDocument({
37
37
 
38
38
  export const tables = { todos, app }
39
39
 
40
- export const state = State.SQLite.makeState({ tables, materializers: {} })
41
- export const schema = makeSchema({ state, events: {} })
40
+ export const events = {
41
+ todoCreated: Events.synced({
42
+ name: 'todo.created',
43
+ schema: Schema.Struct({
44
+ id: Schema.String,
45
+ text: Schema.String,
46
+ completed: Schema.Boolean,
47
+ }),
48
+ }),
49
+ }
50
+
51
+ const materializers = State.SQLite.materializers(events, {
52
+ 'todo.created': ({ id, text, completed }) => tables.todos.insert({ id, text, completed }),
53
+ })
54
+
55
+ export const state = State.SQLite.makeState({ tables, materializers })
56
+ export const schema = makeSchema({ state, events })
42
57
 
43
58
  export const makeTodoMvc = ({
44
59
  otelTracer,