@livestore/livestore 0.0.10 → 0.0.13

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 (151) hide show
  1. package/README.md +7 -7
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/__tests__/react/fixture.d.ts +4 -120
  4. package/dist/__tests__/react/fixture.d.ts.map +1 -1
  5. package/dist/__tests__/react/fixture.js +19 -26
  6. package/dist/__tests__/react/fixture.js.map +1 -1
  7. package/dist/__tests__/reactive.test.js +31 -0
  8. package/dist/__tests__/reactive.test.js.map +1 -1
  9. package/dist/backends/base.d.ts +4 -4
  10. package/dist/backends/{web-in-memory.d.ts → in-memory/index.d.ts} +6 -6
  11. package/dist/backends/in-memory/index.d.ts.map +1 -0
  12. package/dist/backends/{web-in-memory.js → in-memory/index.js} +7 -7
  13. package/dist/backends/in-memory/index.js.map +1 -0
  14. package/dist/backends/index.d.ts +4 -8
  15. package/dist/backends/index.d.ts.map +1 -1
  16. package/dist/backends/index.js +0 -22
  17. package/dist/backends/index.js.map +1 -1
  18. package/dist/backends/{tauri.d.ts → tauri/index.d.ts} +5 -6
  19. package/dist/backends/tauri/index.d.ts.map +1 -0
  20. package/dist/backends/{tauri.js → tauri/index.js} +4 -4
  21. package/dist/backends/tauri/index.js.map +1 -0
  22. package/dist/backends/{web.d.ts → web-worker/index.d.ts} +6 -7
  23. package/dist/backends/web-worker/index.d.ts.map +1 -0
  24. package/dist/backends/{web.js → web-worker/index.js} +6 -6
  25. package/dist/backends/web-worker/index.js.map +1 -0
  26. package/dist/backends/{web-worker.d.ts → web-worker/worker.d.ts} +3 -3
  27. package/dist/backends/web-worker/worker.d.ts.map +1 -0
  28. package/dist/backends/{web-worker.js → web-worker/worker.js} +3 -3
  29. package/dist/backends/web-worker/worker.js.map +1 -0
  30. package/dist/effect/LiveStore.d.ts +6 -6
  31. package/dist/effect/LiveStore.d.ts.map +1 -1
  32. package/dist/effect/LiveStore.js +2 -5
  33. package/dist/effect/LiveStore.js.map +1 -1
  34. package/dist/events.d.ts +1 -1
  35. package/dist/events.d.ts.map +1 -1
  36. package/dist/events.js +1 -1
  37. package/dist/events.js.map +1 -1
  38. package/dist/inMemoryDatabase.d.ts +5 -10
  39. package/dist/inMemoryDatabase.d.ts.map +1 -1
  40. package/dist/inMemoryDatabase.js +78 -89
  41. package/dist/inMemoryDatabase.js.map +1 -1
  42. package/dist/index.d.ts +7 -7
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +3 -4
  45. package/dist/index.js.map +1 -1
  46. package/dist/migrations.d.ts +9 -0
  47. package/dist/migrations.d.ts.map +1 -0
  48. package/dist/migrations.js +62 -0
  49. package/dist/migrations.js.map +1 -0
  50. package/dist/otel.d.ts +0 -1
  51. package/dist/otel.d.ts.map +1 -1
  52. package/dist/otel.js +0 -11
  53. package/dist/otel.js.map +1 -1
  54. package/dist/react/LiveStoreProvider.d.ts +5 -4
  55. package/dist/react/LiveStoreProvider.d.ts.map +1 -1
  56. package/dist/react/LiveStoreProvider.js +6 -5
  57. package/dist/react/LiveStoreProvider.js.map +1 -1
  58. package/dist/react/index.d.ts +2 -1
  59. package/dist/react/index.d.ts.map +1 -1
  60. package/dist/react/index.js.map +1 -1
  61. package/dist/react/useGlobalQuery.d.ts.map +1 -1
  62. package/dist/react/useGlobalQuery.js +0 -2
  63. package/dist/react/useGlobalQuery.js.map +1 -1
  64. package/dist/react/useLiveStoreComponent.d.ts +22 -17
  65. package/dist/react/useLiveStoreComponent.d.ts.map +1 -1
  66. package/dist/react/useLiveStoreComponent.js +46 -17
  67. package/dist/react/useLiveStoreComponent.js.map +1 -1
  68. package/dist/reactive.d.ts.map +1 -1
  69. package/dist/reactive.js +1 -0
  70. package/dist/reactive.js.map +1 -1
  71. package/dist/schema.d.ts +32 -112
  72. package/dist/schema.d.ts.map +1 -1
  73. package/dist/schema.js +36 -79
  74. package/dist/schema.js.map +1 -1
  75. package/dist/storage/base.d.ts +10 -0
  76. package/dist/storage/base.d.ts.map +1 -0
  77. package/dist/storage/base.js +14 -0
  78. package/dist/storage/base.js.map +1 -0
  79. package/dist/storage/in-memory/index.d.ts +15 -0
  80. package/dist/storage/in-memory/index.d.ts.map +1 -0
  81. package/dist/storage/in-memory/index.js +14 -0
  82. package/dist/storage/in-memory/index.js.map +1 -0
  83. package/dist/storage/index.d.ts +14 -0
  84. package/dist/storage/index.d.ts.map +1 -0
  85. package/dist/storage/index.js +9 -0
  86. package/dist/storage/index.js.map +1 -0
  87. package/dist/storage/tauri/index.d.ts +19 -0
  88. package/dist/storage/tauri/index.d.ts.map +1 -0
  89. package/dist/storage/tauri/index.js +38 -0
  90. package/dist/storage/tauri/index.js.map +1 -0
  91. package/dist/storage/utils/idb.d.ts +10 -0
  92. package/dist/storage/utils/idb.d.ts.map +1 -0
  93. package/dist/storage/utils/idb.js +58 -0
  94. package/dist/storage/utils/idb.js.map +1 -0
  95. package/dist/storage/web-worker/index.d.ts +27 -0
  96. package/dist/storage/web-worker/index.d.ts.map +1 -0
  97. package/dist/storage/web-worker/index.js +76 -0
  98. package/dist/storage/web-worker/index.js.map +1 -0
  99. package/dist/storage/web-worker/worker.d.ts +13 -0
  100. package/dist/storage/web-worker/worker.d.ts.map +1 -0
  101. package/dist/storage/web-worker/worker.js +110 -0
  102. package/dist/storage/web-worker/worker.js.map +1 -0
  103. package/dist/store.d.ts +6 -6
  104. package/dist/store.d.ts.map +1 -1
  105. package/dist/store.js +93 -63
  106. package/dist/store.js.map +1 -1
  107. package/dist/util.d.ts +3 -1
  108. package/dist/util.d.ts.map +1 -1
  109. package/dist/util.js +2 -0
  110. package/dist/util.js.map +1 -1
  111. package/package.json +50 -23
  112. package/src/__tests__/react/fixture.tsx +19 -28
  113. package/src/__tests__/reactive.test.ts +39 -0
  114. package/src/effect/LiveStore.ts +8 -13
  115. package/src/events.ts +1 -1
  116. package/src/inMemoryDatabase.ts +100 -117
  117. package/src/index.ts +10 -16
  118. package/src/migrations.ts +101 -0
  119. package/src/otel.ts +0 -11
  120. package/src/react/LiveStoreProvider.tsx +12 -8
  121. package/src/react/index.ts +9 -0
  122. package/src/react/useGlobalQuery.ts +0 -3
  123. package/src/react/useLiveStoreComponent.ts +98 -38
  124. package/src/reactive.ts +2 -1
  125. package/src/schema.ts +72 -145
  126. package/src/storage/in-memory/index.ts +21 -0
  127. package/src/storage/index.ts +27 -0
  128. package/src/{backends/tauri.ts → storage/tauri/index.ts} +13 -27
  129. package/src/storage/web-worker/index.ts +118 -0
  130. package/src/{backends/web-worker.ts → storage/web-worker/worker.ts} +17 -52
  131. package/src/store.ts +112 -79
  132. package/src/util.ts +5 -1
  133. package/tsconfig.json +1 -3
  134. package/dist/backends/noop.d.ts +0 -18
  135. package/dist/backends/noop.d.ts.map +0 -1
  136. package/dist/backends/noop.js +0 -21
  137. package/dist/backends/noop.js.map +0 -1
  138. package/dist/backends/tauri.d.ts.map +0 -1
  139. package/dist/backends/tauri.js.map +0 -1
  140. package/dist/backends/web-in-memory.d.ts.map +0 -1
  141. package/dist/backends/web-in-memory.js.map +0 -1
  142. package/dist/backends/web-worker.d.ts.map +0 -1
  143. package/dist/backends/web-worker.js.map +0 -1
  144. package/dist/backends/web.d.ts.map +0 -1
  145. package/dist/backends/web.js.map +0 -1
  146. package/src/backends/base.ts +0 -67
  147. package/src/backends/index.ts +0 -98
  148. package/src/backends/noop.ts +0 -32
  149. package/src/backends/web-in-memory.ts +0 -65
  150. package/src/backends/web.ts +0 -97
  151. /package/src/{backends → storage}/utils/idb.ts +0 -0
@@ -13,128 +13,12 @@ export type AppState = {
13
13
  export declare const globalQueryDefs: {
14
14
  appState: LiveStore.QueryDefinition;
15
15
  };
16
- export declare const schema: {
17
- tables: {
18
- todos: {
19
- columns: {
20
- id: {
21
- type: "text";
22
- primaryKey: true;
23
- };
24
- text: {
25
- type: "text";
26
- default: string;
27
- nullable: false;
28
- };
29
- completed: {
30
- type: "boolean";
31
- default: false;
32
- nullable: false;
33
- };
34
- };
35
- };
36
- app: {
37
- columns: {
38
- id: {
39
- type: "text";
40
- primaryKey: true;
41
- };
42
- newTodoText: {
43
- type: "text";
44
- default: string;
45
- nullable: true;
46
- };
47
- filter: {
48
- type: "text";
49
- default: string;
50
- nullable: false;
51
- };
52
- };
53
- };
54
- };
55
- materializedViews: {};
56
- actions: {
57
- addTodo: {
58
- statement: {
59
- sql: string;
60
- writeTables: string[];
61
- };
62
- };
63
- completeTodo: {
64
- statement: {
65
- sql: string;
66
- writeTables: string[];
67
- };
68
- };
69
- uncompleteTodo: {
70
- statement: {
71
- sql: string;
72
- writeTables: string[];
73
- };
74
- };
75
- deleteTodo: {
76
- statement: {
77
- sql: string;
78
- writeTables: string[];
79
- };
80
- };
81
- clearCompleted: {
82
- statement: {
83
- sql: string;
84
- writeTables: string[];
85
- };
86
- };
87
- updateNewTodoText: {
88
- statement: {
89
- sql: string;
90
- writeTables: string[];
91
- };
92
- };
93
- setFilter: {
94
- statement: {
95
- sql: string;
96
- writeTables: string[];
97
- };
98
- };
99
- };
100
- } & {
101
- tables: {
102
- __events: {
103
- readonly columns: {
104
- readonly id: {
105
- readonly type: "text";
106
- readonly primaryKey: true;
107
- };
108
- readonly type: {
109
- readonly type: "text";
110
- readonly nullable: false;
111
- };
112
- readonly args: {
113
- readonly type: "text";
114
- readonly nullable: false;
115
- };
116
- };
117
- };
118
- livestore__event_cursor: {
119
- readonly columns: {
120
- readonly id: {
121
- readonly type: "text";
122
- readonly primaryKey: true;
123
- };
124
- readonly cursor: {
125
- readonly type: "text";
126
- readonly nullable: false;
127
- };
128
- };
129
- };
130
- };
131
- };
16
+ export declare const schema: LiveStore.Schema;
132
17
  export declare const makeTodoMvc: () => Promise<{
133
18
  wrapper: ({ children }: any) => React.JSX.Element;
134
- AppSchema: import("../../schema.js").ComponentStateSchema<{
135
- username: string;
136
- } & {
137
- id: string;
19
+ AppSchema: LiveStore.SqliteDsl.TableDefinition<"components__UserInfo", {
20
+ username: LiveStore.SqliteDsl.ColumnDefinition<LiveStore.SqliteDsl.FieldType.FieldTypeText<string, string>, false>;
21
+ id: LiveStore.SqliteDsl.ColumnDefinition<LiveStore.SqliteDsl.FieldType.FieldTypeText<string, string>, false>;
138
22
  }>;
139
23
  store: LiveStore.Store<LiveStore.BaseGraphQLContext>;
140
24
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"fixture.d.ts","sourceRoot":"","sources":["../../../src/__tests__/react/fixture.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAI3C,MAAM,MAAM,IAAI,GAAG;IACjB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,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;AAKD,eAAO,MAAM,eAAe;;CAE3B,CAAA;AAED,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCjB,CAAA;AAEF,eAAO,MAAM,WAAW;4BAwBS,GAAG;;kBAvBQ,MAAM;;;;;EA4BjD,CAAA"}
1
+ {"version":3,"file":"fixture.d.ts","sourceRoot":"","sources":["../../../src/__tests__/react/fixture.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAK3C,MAAM,MAAM,IAAI,GAAG;IACjB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,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;AAKD,eAAO,MAAM,eAAe;;CAE3B,CAAA;AAED,eAAO,MAAM,MAAM,kBA8BjB,CAAA;AAEF,eAAO,MAAM,WAAW;4BAmBS,GAAG;;;;;;EAKnC,CAAA"}
@@ -3,28 +3,24 @@ import React from 'react';
3
3
  import * as LiveStore from '../../index.js';
4
4
  import { sql } from '../../index.js';
5
5
  import * as LiveStoreReact from '../../react/index.js';
6
+ import { InMemoryStorage } from '../../storage/in-memory/index.js';
6
7
  const appState = (store) => store.querySQL(() => `select newTodoText, filter from app;`, { queriedTables: ['app'] }).getFirstRow();
7
8
  export const globalQueryDefs = {
8
9
  appState,
9
10
  };
10
- export const schema = LiveStore.defineSchema({
11
+ export const schema = LiveStore.makeSchema({
11
12
  tables: {
12
- todos: {
13
- columns: {
14
- id: { type: 'text', primaryKey: true },
15
- text: { type: 'text', default: '', nullable: false },
16
- completed: { type: 'boolean', default: false, nullable: false },
17
- },
18
- },
19
- app: {
20
- columns: {
21
- id: { type: 'text', primaryKey: true },
22
- newTodoText: { type: 'text', default: '', nullable: true },
23
- filter: { type: 'text', default: 'all', nullable: false },
24
- },
25
- },
13
+ todos: LiveStore.DbSchema.table('todos', {
14
+ id: LiveStore.DbSchema.text({ primaryKey: true }),
15
+ text: LiveStore.DbSchema.text({ default: '', nullable: false }),
16
+ completed: LiveStore.DbSchema.boolean({ default: false, nullable: false }),
17
+ }),
18
+ app: LiveStore.DbSchema.table('app', {
19
+ id: LiveStore.DbSchema.text({ primaryKey: true }),
20
+ newTodoText: LiveStore.DbSchema.text({ default: '', nullable: true }),
21
+ filter: LiveStore.DbSchema.text({ default: 'all', nullable: false }),
22
+ }),
26
23
  },
27
- materializedViews: {},
28
24
  actions: {
29
25
  // TODO: fix these actions to make them have write annotatinos
30
26
  addTodo: {
@@ -44,20 +40,17 @@ export const schema = LiveStore.defineSchema({
44
40
  },
45
41
  });
46
42
  export const makeTodoMvc = async () => {
47
- const AppSchema = LiveStore.defineComponentStateSchema({
48
- componentType: 'UserInfo',
49
- columns: {
50
- username: { type: 'text', default: '' },
51
- },
43
+ const AppSchema = LiveStore.defineComponentStateSchema('UserInfo', {
44
+ username: LiveStore.DbSchema.text({ default: '' }),
52
45
  });
53
46
  const store = await LiveStore.createStore({
54
47
  schema,
55
- backendOptions: { type: 'web-in-memory' },
56
- boot: async (backend) => {
57
- backend.execute(sql `INSERT INTO app (newTodoText, filter) VALUES ('', 'all');`);
48
+ loadStorage: () => InMemoryStorage.load(),
49
+ boot: async (storage) => {
50
+ storage.execute(sql `INSERT INTO app (newTodoText, filter) VALUES ('', 'all');`);
58
51
  // NOTE we can't insert into components__UserInfo yet because the table doesn't exist yet
59
- // backend.execute(sql`INSERT INTO components__UserInfo (id, username) VALUES ('u1', 'username_u1');`)
60
- // backend.execute(sql`INSERT INTO components__UserInfo (id, username) VALUES ('u2', 'username_u2');`)
52
+ // storage.execute(sql`INSERT INTO components__UserInfo (id, username) VALUES ('u1', 'username_u1');`)
53
+ // storage.execute(sql`INSERT INTO components__UserInfo (id, username) VALUES ('u2', 'username_u2');`)
61
54
  },
62
55
  });
63
56
  const globalQueries = mapObjectValues(globalQueryDefs, (_, queryDef) => queryDef(store));
@@ -1 +1 @@
1
- {"version":3,"file":"fixture.js","sourceRoot":"","sources":["../../../src/__tests__/react/fixture.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fixture.js","sourceRoot":"","sources":["../../../src/__tests__/react/fixture.tsx"],"names":[],"mappings":"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"}
@@ -164,4 +164,35 @@ describe('a diamond shaped graph', () => {
164
164
  expect(dRuns.runs).toBe(2);
165
165
  });
166
166
  });
167
+ // TODO handle `undefined` in the graph
168
+ describe.todo('a trivial graph with undefined', () => {
169
+ const makeGraph = () => {
170
+ const graph = new ReactiveGraph({ otelTracer: makeNoopTracer() });
171
+ const a = graph.makeRef(undefined);
172
+ const b = graph.makeRef(2);
173
+ const numberOfRunsForC = { runs: 0 };
174
+ const c = graph.makeThunk((get) => {
175
+ numberOfRunsForC.runs++;
176
+ return (get(a) ?? 0) + get(b);
177
+ }, undefined, mockOtelCtx);
178
+ const d = graph.makeRef(3);
179
+ const e = graph.makeThunk((get) => get(c) + get(d), undefined, mockOtelCtx);
180
+ // a(1) b(2)
181
+ // \ /
182
+ // \ /
183
+ // c = a + b
184
+ // \
185
+ // \
186
+ // d(3) \
187
+ // \ \
188
+ // \ \
189
+ // e = c + d
190
+ return { graph, a, b, c, d, e, numberOfRunsForC };
191
+ };
192
+ it('has the right initial values', () => {
193
+ const { c, e } = makeGraph();
194
+ expect(c.result).toBe(3);
195
+ expect(e.result).toBe(6);
196
+ });
197
+ });
167
198
  //# sourceMappingURL=reactive.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"reactive.test.js","sourceRoot":"","sources":["../../src/__tests__/reactive.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reactive.test.js","sourceRoot":"","sources":["../../src/__tests__/reactive.test.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import * as otel from '@opentelemetry/api';
2
- import type { LiveStoreEvent } from '../events.js';
3
- import type { ActionDefinition } from '../schema.js';
4
- import type { ParamsObject } from '../util.js';
5
- import type { Backend, SelectResponse } from './index.js';
2
+ import type { LiveStoreEvent } from '../../src/events.ts';
3
+ import type { ActionDefinition } from '../../src/schema.ts';
4
+ import type { ParamsObject } from '../../src/util.ts';
5
+ import type { Backend, SelectResponse } from './index.ts';
6
6
  export declare abstract class BaseBackend implements Backend {
7
7
  abstract otelTracer: otel.Tracer;
8
8
  select: <T = any>(query: string, bindValues?: ParamsObject) => Promise<SelectResponse<T>>;
@@ -1,22 +1,22 @@
1
1
  import type * as otel from '@opentelemetry/api';
2
2
  import type * as SqliteWasm from 'sqlite-esm';
3
- import type { ParamsObject } from '../util.js';
4
- import { BaseBackend } from './base.js';
5
- import type { BackendOtelProps, SelectResponse } from './index.js';
3
+ import type { ParamsObject } from '../../util.js';
4
+ import { BaseBackend } from '../base.js';
5
+ import type { BackendOtelProps, SelectResponse } from '../index.js';
6
6
  export type BackendOptionsWebInMemory = {
7
7
  type: 'web-in-memory';
8
8
  };
9
9
  declare type DatabaseWithCAPI = SqliteWasm.Database & {
10
10
  capi: SqliteWasm.CAPI;
11
11
  };
12
- export declare class WebInMemoryBackend extends BaseBackend {
12
+ export declare class InMemoryBackend extends BaseBackend {
13
13
  readonly otelTracer: otel.Tracer;
14
14
  readonly db: DatabaseWithCAPI;
15
15
  constructor(otelTracer: otel.Tracer, db: DatabaseWithCAPI);
16
- static load: (_options: BackendOptionsWebInMemory, { otelTracer }: BackendOtelProps) => Promise<WebInMemoryBackend>;
16
+ static load: (_options?: BackendOptionsWebInMemory) => Promise<({ otelTracer }: BackendOtelProps) => InMemoryBackend>;
17
17
  execute: (query: string, bindValues?: ParamsObject) => void;
18
18
  select: <T>(query: string, bindValues?: ParamsObject) => Promise<SelectResponse<T>>;
19
19
  getPersistedData: () => Promise<Uint8Array>;
20
20
  }
21
21
  export {};
22
- //# sourceMappingURL=web-in-memory.d.ts.map
22
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/backends/in-memory/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAC/C,OAAO,KAAK,KAAK,UAAU,MAAM,YAAY,CAAA;AAG7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAEjD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEnE,MAAM,MAAM,yBAAyB,GAAG;IACtC,IAAI,EAAE,eAAe,CAAA;CACtB,CAAA;AAED,OAAO,MAAM,gBAAgB,GAAG,UAAU,CAAC,QAAQ,GAAG;IAAE,IAAI,EAAE,UAAU,CAAC,IAAI,CAAA;CAAE,CAAA;AAG/E,qBAAa,eAAgB,SAAQ,WAAW;IAE5C,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM;IAChC,QAAQ,CAAC,EAAE,EAAE,gBAAgB;gBADpB,UAAU,EAAE,IAAI,CAAC,MAAM,EACvB,EAAE,EAAE,gBAAgB;IAK/B,MAAM,CAAC,IAAI,cAAqB,yBAAyB,8BAQ/B,gBAAgB,sBACzC;IAED,OAAO,UAAW,MAAM,eAAe,YAAY,KAAG,IAAI,CAOzD;IAED,MAAM,aAAoB,MAAM,eAAe,YAAY,gCAY1D;IAED,gBAAgB,QAAa,QAAQ,UAAU,CAAC,CAE/C;CACF"}
@@ -1,9 +1,9 @@
1
1
  var _a;
2
2
  import sqlite3InitModule from 'sqlite-esm';
3
- import { prepareBindValues } from '../util.js';
4
- import { BaseBackend } from './base.js';
3
+ import { prepareBindValues } from '../../util.js';
4
+ import { BaseBackend } from '../base.js';
5
5
  // NOTE: This backend is currently only used for testing
6
- export class WebInMemoryBackend extends BaseBackend {
6
+ export class InMemoryBackend extends BaseBackend {
7
7
  constructor(otelTracer, db) {
8
8
  super();
9
9
  this.otelTracer = otelTracer;
@@ -32,14 +32,14 @@ export class WebInMemoryBackend extends BaseBackend {
32
32
  };
33
33
  }
34
34
  }
35
- _a = WebInMemoryBackend;
36
- WebInMemoryBackend.load = async (_options, { otelTracer }) => {
35
+ _a = InMemoryBackend;
36
+ InMemoryBackend.load = async (_options) => {
37
37
  const sqlite3 = await sqlite3InitModule({
38
38
  print: (message) => console.log(`[sql-client] ${message}`),
39
39
  printErr: (message) => console.error(`[sql-client] ${message}`),
40
40
  });
41
41
  const db = new sqlite3.oo1.DB({ filename: ':memory:', flags: 'c' });
42
42
  db.capi = sqlite3.capi;
43
- return new _a(otelTracer, db);
43
+ return ({ otelTracer }) => new _a(otelTracer, db);
44
44
  };
45
- //# sourceMappingURL=web-in-memory.js.map
45
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/backends/in-memory/index.ts"],"names":[],"mappings":";AAEA,OAAO,iBAAiB,MAAM,YAAY,CAAA;AAG1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AASxC,wDAAwD;AACxD,MAAM,OAAO,eAAgB,SAAQ,WAAW;IAC9C,YACW,UAAuB,EACvB,EAAoB;QAE7B,KAAK,EAAE,CAAA;QAHE,eAAU,GAAV,UAAU,CAAa;QACvB,OAAE,GAAF,EAAE,CAAkB;QAgB/B,YAAO,GAAG,CAAC,KAAa,EAAE,UAAyB,EAAQ,EAAE;YAC3D,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;gBACX,GAAG,EAAE,KAAK;gBACV,IAAI,EAAE,iBAAiB,CAAC,UAAU,IAAI,EAAE,EAAE,KAAK,CAAS;gBACxD,WAAW,EAAE,YAAY;gBACzB,OAAO,EAAE,QAAQ;aAClB,CAAC,CAAA;QACJ,CAAC,CAAA;QAED,WAAM,GAAG,KAAK,EAAK,KAAa,EAAE,UAAyB,EAA8B,EAAE;YACzF,MAAM,UAAU,GAAQ,EAAE,CAAA;YAE1B,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;gBACX,GAAG,EAAE,KAAK;gBACV,IAAI,EAAE,iBAAiB,CAAC,UAAU,IAAI,EAAE,EAAE,KAAK,CAAS;gBACxD,OAAO,EAAE,QAAQ;gBACjB,UAAU;gBACV,iFAAiF;aAC1E,CAAC,CAAA;YAEV,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,CAAA;QAChC,CAAC,CAAA;QAED,qBAAgB,GAAG,KAAK,IAAyB,EAAE;YACjD,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAA;QAC3D,CAAC,CAAA;IAtCD,CAAC;;;AAEM,oBAAI,GAAG,KAAK,EAAE,QAAoC,EAAE,EAAE;IAC3D,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC;QACtC,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,OAAO,EAAE,CAAC;QAC1D,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,OAAO,EAAE,CAAC;KAChE,CAAC,CAAA;IACF,MAAM,EAAE,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,CAAqB,CAAA;IACvF,EAAE,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;IAEtB,OAAO,CAAC,EAAE,UAAU,EAAoB,EAAE,EAAE,CAAC,IAAI,EAAe,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;AAClF,CAAC,AATU,CASV"}
@@ -1,10 +1,7 @@
1
1
  import type * as otel from '@opentelemetry/api';
2
- import type { LiveStoreEvent } from '../events.js';
3
- import type { ActionDefinition } from '../schema.js';
4
- import type { ParamsObject } from '../util.js';
5
- import type { BackendOptionsTauri } from './tauri.js';
6
- import type { BackendOptionsWeb } from './web.js';
7
- import type { BackendOptionsWebInMemory } from './web-in-memory.js';
2
+ import type { LiveStoreEvent } from '../../src/events.ts';
3
+ import type { ActionDefinition } from '../../src/schema.ts';
4
+ import type { ParamsObject } from '../../src/util.ts';
8
5
  export type WritableDatabaseLocation = {
9
6
  type: 'opfs';
10
7
  virtualFilename: string;
@@ -18,6 +15,7 @@ export type WritableDatabaseLocation = {
18
15
  } | {
19
16
  type: 'volatile-in-memory';
20
17
  };
18
+ export type BackendInit = (otelProps: BackendOtelProps) => Promise<Backend> | Backend;
21
19
  export interface Backend {
22
20
  select<T = any>(query: string, bindValues?: ParamsObject, parentSpan?: otel.Span): Promise<SelectResponse<T>>;
23
21
  execute(query: string, bindValues?: ParamsObject, parentSpan?: otel.Span): void;
@@ -36,10 +34,8 @@ export declare enum IndexType {
36
34
  Basic = "Basic",
37
35
  FullText = "FullText"
38
36
  }
39
- export type BackendOptions = BackendOptionsTauri | BackendOptionsWeb | BackendOptionsWebInMemory;
40
37
  export type BackendOtelProps = {
41
38
  otelTracer: otel.Tracer;
42
39
  parentSpan: otel.Span;
43
40
  };
44
- export declare const createBackend: (options: BackendOptions, otelProps: BackendOtelProps) => Promise<Backend>;
45
41
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/backends/index.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAE/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAEjD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAA;AAInE,MAAM,MAAM,wBAAwB,GAChC;IACE,IAAI,EAAE,MAAM,CAAA;IACZ,eAAe,EAAE,MAAM,CAAA;CACxB,GACD;IACE,IAAI,EAAE,WAAW,CAAA;IACjB,eAAe,EAAE,MAAM,CAAA;CACxB,GACD;IACE,IAAI,EAAE,YAAY,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;CACjB,GACD;IACE,IAAI,EAAE,oBAAoB,CAAA;CAC3B,CAAA;AAEL,MAAM,WAAW,OAAO;IAGtB,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,YAAY,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAA;IAI7G,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,YAAY,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAE/E,oCAAoC;IACpC,UAAU,CAAC,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,gBAAgB,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAEjG,2DAA2D;IAC3D,gBAAgB,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;CAC9D;AAED,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,KAAK,GAAG,eAAe,CAAA;AAE3D,eAAO,MAAM,aAAa,SAAU,MAAM,wBAEzC,CAAA;AAED,MAAM,MAAM,cAAc,CAAC,CAAC,GAAG,GAAG,IAAI;IACpC,OAAO,EAAE,CAAC,EAAE,CAAA;IAGZ,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB,CAAA;AAED,oBAAY,SAAS;IACnB,KAAK,UAAU;IACf,QAAQ,aAAa;CACtB;AAED,MAAM,MAAM,cAAc,GAAG,mBAAmB,GAAG,iBAAiB,GAAG,yBAAyB,CAAA;AAChG,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,IAAI,CAAC,MAAM,CAAA;IACvB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,aAAa,YAAmB,cAAc,aAAa,gBAAgB,KAAG,QAAQ,OAAO,CAkBzG,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/backends/index.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAE/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAG9C,MAAM,MAAM,wBAAwB,GAChC;IACE,IAAI,EAAE,MAAM,CAAA;IACZ,eAAe,EAAE,MAAM,CAAA;CACxB,GACD;IACE,IAAI,EAAE,WAAW,CAAA;IACjB,eAAe,EAAE,MAAM,CAAA;CACxB,GACD;IACE,IAAI,EAAE,YAAY,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;CACjB,GACD;IACE,IAAI,EAAE,oBAAoB,CAAA;CAC3B,CAAA;AAEL,MAAM,MAAM,WAAW,GAAG,CAAC,SAAS,EAAE,gBAAgB,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAA;AAErF,MAAM,WAAW,OAAO;IAGtB,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,YAAY,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAA;IAI7G,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,YAAY,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAE/E,oCAAoC;IACpC,UAAU,CAAC,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,gBAAgB,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAEjG,2DAA2D;IAC3D,gBAAgB,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;CAC9D;AAED,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,KAAK,GAAG,eAAe,CAAA;AAE3D,eAAO,MAAM,aAAa,SAAU,MAAM,wBAEzC,CAAA;AAED,MAAM,MAAM,cAAc,CAAC,CAAC,GAAG,GAAG,IAAI;IACpC,OAAO,EAAE,CAAC,EAAE,CAAA;IAGZ,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB,CAAA;AAED,oBAAY,SAAS;IACnB,KAAK,UAAU;IACf,QAAQ,aAAa;CACtB;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,IAAI,CAAC,MAAM,CAAA;IACvB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAA;CACtB,CAAA"}
@@ -5,9 +5,6 @@
5
5
  //
6
6
  // We can send commands to execute various kinds of queries,
7
7
  // and respond to various events from the database.
8
- import { casesHandled } from '../util.js';
9
- import { WebWorkerBackend } from './web.js';
10
- import { WebInMemoryBackend } from './web-in-memory.js';
11
8
  export const isBackendType = (type) => {
12
9
  return type === 'tauri' || type === 'web' || type === 'web-in-memory';
13
10
  };
@@ -16,23 +13,4 @@ export var IndexType;
16
13
  IndexType["Basic"] = "Basic";
17
14
  IndexType["FullText"] = "FullText";
18
15
  })(IndexType || (IndexType = {}));
19
- export const createBackend = async (options, otelProps) => {
20
- switch (options.type) {
21
- case 'tauri': {
22
- // NOTE Dynamic import is needed to avoid Tauri is a dependency of LiveStore (e.g. when used in the web)
23
- const { TauriBackend } = await import('./tauri.js');
24
- return await TauriBackend.load(options, otelProps);
25
- }
26
- case 'web': {
27
- return WebWorkerBackend.load(options, otelProps);
28
- }
29
- // NOTE currently only needed for testing
30
- case 'web-in-memory': {
31
- return WebInMemoryBackend.load(options, otelProps);
32
- }
33
- default: {
34
- casesHandled(options);
35
- }
36
- }
37
- };
38
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/backends/index.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,oBAAoB;AACpB,4DAA4D;AAC5D,4DAA4D;AAC5D,EAAE;AACF,4DAA4D;AAC5D,mDAAmD;AAOnD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAGzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAE3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAuCvD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAY,EAAuB,EAAE;IACjE,OAAO,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,eAAe,CAAA;AACvE,CAAC,CAAA;AASD,MAAM,CAAN,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,4BAAe,CAAA;IACf,kCAAqB,CAAA;AACvB,CAAC,EAHW,SAAS,KAAT,SAAS,QAGpB;AAQD,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAAE,OAAuB,EAAE,SAA2B,EAAoB,EAAE;IAC5G,QAAQ,OAAO,CAAC,IAAI,EAAE;QACpB,KAAK,OAAO,CAAC,CAAC;YACZ,wGAAwG;YACxG,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAA;YACnD,OAAO,MAAM,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;SACnD;QACD,KAAK,KAAK,CAAC,CAAC;YACV,OAAO,gBAAgB,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;SACjD;QACD,yCAAyC;QACzC,KAAK,eAAe,CAAC,CAAC;YACpB,OAAO,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;SACnD;QACD,OAAO,CAAC,CAAC;YACP,YAAY,CAAC,OAAO,CAAC,CAAA;SACtB;KACF;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/backends/index.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,oBAAoB;AACpB,4DAA4D;AAC5D,4DAA4D;AAC5D,EAAE;AACF,4DAA4D;AAC5D,mDAAmD;AA+CnD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAY,EAAuB,EAAE;IACjE,OAAO,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,eAAe,CAAA;AACvE,CAAC,CAAA;AASD,MAAM,CAAN,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,4BAAe,CAAA;IACf,kCAAqB,CAAA;AACvB,CAAC,EAHW,SAAS,KAAT,SAAS,QAGpB"}
@@ -1,9 +1,8 @@
1
1
  import type * as otel from '@opentelemetry/api';
2
- import type { ParamsObject } from '../util.js';
3
- import { BaseBackend } from './base.js';
4
- import type { BackendOtelProps, SelectResponse } from './index.js';
2
+ import type { ParamsObject } from '../../util.js';
3
+ import { BaseBackend } from '../base.js';
4
+ import type { BackendOtelProps, SelectResponse } from '../index.js';
5
5
  export type BackendOptionsTauri = {
6
- type: 'tauri';
7
6
  dbDirPath: string;
8
7
  appDbFileName: string;
9
8
  };
@@ -13,10 +12,10 @@ export declare class TauriBackend extends BaseBackend {
13
12
  readonly otelTracer: otel.Tracer;
14
13
  readonly parentSpan: otel.Span;
15
14
  constructor(dbFilePath: string, dbDirPath: string, otelTracer: otel.Tracer, parentSpan: otel.Span);
16
- static load: ({ dbDirPath, appDbFileName }: BackendOptionsTauri, { otelTracer, parentSpan }: BackendOtelProps) => Promise<TauriBackend>;
15
+ static load: ({ dbDirPath, appDbFileName }: BackendOptionsTauri) => ({ otelTracer, parentSpan }: BackendOtelProps) => Promise<TauriBackend>;
17
16
  execute: (query: string, bindValues?: ParamsObject, parentSpan?: otel.Span) => void;
18
17
  select: <T>(query: string, bindValues?: ParamsObject, parentSpan?: otel.Span) => Promise<SelectResponse<T>>;
19
18
  getPersistedData: (parentSpan?: otel.Span) => Promise<Uint8Array>;
20
19
  private getOtelData;
21
20
  }
22
- //# sourceMappingURL=tauri.d.ts.map
21
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/backends/tauri/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAG/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAEjD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEnE,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,qBAAa,YAAa,SAAQ,WAAW;IAEzC,QAAQ,CAAC,UAAU,EAAE,MAAM;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM;IAC1B,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM;IAChC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI;gBAHrB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,IAAI,CAAC,MAAM,EACvB,UAAU,EAAE,IAAI,CAAC,IAAI;IAKhC,MAAM,CAAC,IAAI,iCACsB,mBAAmB,kCACf,gBAAgB,2BAKlD;IAEH,OAAO,UAAW,MAAM,eAAe,YAAY,eAAe,KAAK,IAAI,KAAG,IAAI,CAQjF;IAED,MAAM,aAAoB,MAAM,eAAe,YAAY,eAAe,KAAK,IAAI,gCAOlF;IAED,gBAAgB,gBAAuB,KAAK,IAAI,KAAG,QAAQ,UAAU,CAAC,CAOrE;IAED,OAAO,CAAC,WAAW,CAA2E;CAC/F"}
@@ -1,8 +1,8 @@
1
1
  var _a;
2
2
  import { getTraceParentHeader } from '@livestore/utils';
3
3
  import { invoke } from '@tauri-apps/api';
4
- import { prepareBindValues } from '../util.js';
5
- import { BaseBackend } from './base.js';
4
+ import { prepareBindValues } from '../../util.js';
5
+ import { BaseBackend } from '../base.js';
6
6
  export class TauriBackend extends BaseBackend {
7
7
  constructor(dbFilePath, dbDirPath, otelTracer, parentSpan) {
8
8
  super();
@@ -36,7 +36,7 @@ export class TauriBackend extends BaseBackend {
36
36
  }
37
37
  }
38
38
  _a = TauriBackend;
39
- TauriBackend.load = async ({ dbDirPath, appDbFileName }, { otelTracer, parentSpan }) => {
39
+ TauriBackend.load = ({ dbDirPath, appDbFileName }) => async ({ otelTracer, parentSpan }) => {
40
40
  const dbFilePath = `${dbDirPath}/${appDbFileName}`;
41
41
  await invoke('initialize_connection', { dbName: dbFilePath, otelData: getOtelData_(parentSpan) });
42
42
  return new _a(dbFilePath, dbDirPath, otelTracer, parentSpan);
@@ -45,4 +45,4 @@ const getOtelData_ = (parentSpan) => {
45
45
  const spanContext = parentSpan?.spanContext();
46
46
  return spanContext ? { trace_id: spanContext.traceId, span_id: spanContext.spanId } : undefined;
47
47
  };
48
- //# sourceMappingURL=tauri.js.map
48
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/backends/tauri/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAEvD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAGxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAQxC,MAAM,OAAO,YAAa,SAAQ,WAAW;IAC3C,YACW,UAAkB,EAClB,SAAiB,EACjB,UAAuB,EACvB,UAAqB;QAE9B,KAAK,EAAE,CAAA;QALE,eAAU,GAAV,UAAU,CAAQ;QAClB,cAAS,GAAT,SAAS,CAAQ;QACjB,eAAU,GAAV,UAAU,CAAa;QACvB,eAAU,GAAV,UAAU,CAAW;QAchC,YAAO,GAAG,CAAC,KAAa,EAAE,UAAyB,EAAE,UAAsB,EAAQ,EAAE;YACnF,2FAA2F;YAC3F,KAAK,MAAM,CAAC,SAAS,EAAE;gBACrB,MAAM,EAAE,IAAI,CAAC,UAAU;gBACvB,KAAK;gBACL,MAAM,EAAE,iBAAiB,CAAC,UAAU,IAAI,EAAE,EAAE,KAAK,CAAC;gBAClD,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;aACvC,CAAC,CAAA;QACJ,CAAC,CAAA;QAED,WAAM,GAAG,KAAK,EAAK,KAAa,EAAE,UAAyB,EAAE,UAAsB,EAA8B,EAAE;YACjH,OAAO,MAAM,CAAC,QAAQ,EAAE;gBACtB,EAAE,EAAE,IAAI,CAAC,UAAU;gBACnB,KAAK;gBACL,MAAM,EAAE,UAAU,IAAI,EAAE;gBACxB,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;aACvC,CAAC,CAAA;QACJ,CAAC,CAAA;QAED,qBAAgB,GAAG,KAAK,EAAE,UAAsB,EAAuB,EAAE;YACvE,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;YAC7B,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,oBAAoB,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAA;YAE/E,OAAO,KAAK,CAAC,uDAAuD,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CACtG,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAC9E,CAAA;QACH,CAAC,CAAA;QAEO,gBAAW,GAAG,CAAC,UAAsB,EAAE,EAAE,CAAC,YAAY,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAE,CAAA;IAvC9F,CAAC;;;AAEM,iBAAI,GACT,CAAC,EAAE,SAAS,EAAE,aAAa,EAAuB,EAAE,EAAE,CACtD,KAAK,EAAE,EAAE,UAAU,EAAE,UAAU,EAAoB,EAAE,EAAE;IACrD,MAAM,UAAU,GAAG,GAAG,SAAS,IAAI,aAAa,EAAE,CAAA;IAClD,MAAM,MAAM,CAAC,uBAAuB,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;IAEjG,OAAO,IAAI,EAAY,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAA;AACxE,CAAC,AAPQ,CAOR;AAiCL,MAAM,YAAY,GAAG,CAAC,UAAiC,EAAE,EAAE;IACzD,MAAM,WAAW,GAAG,UAAU,EAAE,WAAW,EAAE,CAAA;IAC7C,OAAO,WAAW,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;AACjG,CAAC,CAAA"}
@@ -1,11 +1,10 @@
1
1
  import type * as otel from '@opentelemetry/api';
2
2
  import * as Comlink from 'comlink';
3
- import type { ParamsObject } from '../util.js';
4
- import { BaseBackend } from './base.js';
5
- import type { BackendOtelProps, SelectResponse, WritableDatabaseLocation } from './index.js';
6
- import type { WrappedWorker } from './web-worker.js';
3
+ import type { ParamsObject } from '../../../src/util.ts';
4
+ import { BaseBackend } from '../base.ts';
5
+ import type { BackendOtelProps, SelectResponse, WritableDatabaseLocation } from '../index.ts';
6
+ import type { WrappedWorker } from './worker.ts';
7
7
  export type BackendOptionsWeb = {
8
- type: 'web';
9
8
  /** Specifies where to persist data for this backend */
10
9
  persistentDatabaseLocation: WritableDatabaseLocation;
11
10
  };
@@ -19,9 +18,9 @@ export declare class WebWorkerBackend extends BaseBackend {
19
18
  }[];
20
19
  executionPromise: Promise<void> | undefined;
21
20
  private constructor();
22
- static load: ({ persistentDatabaseLocation }: BackendOptionsWeb, { otelTracer }: BackendOtelProps) => Promise<WebWorkerBackend>;
21
+ static load: ({ persistentDatabaseLocation }: BackendOptionsWeb) => Promise<({ otelTracer }: BackendOtelProps) => WebWorkerBackend>;
23
22
  execute: (query: string, bindValues_?: ParamsObject) => void;
24
23
  select: <T>(query: string, bindValues?: ParamsObject) => Promise<SelectResponse<T>>;
25
24
  getPersistedData: (_parentSpan?: otel.Span) => Promise<Uint8Array>;
26
25
  }
27
- //# sourceMappingURL=web.d.ts.map
26
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/backends/web-worker/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAC/C,OAAO,KAAK,OAAO,MAAM,SAAS,CAAA;AAElC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAEjD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAC7F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,uDAAuD;IACvD,0BAA0B,EAAE,wBAAwB,CAAA;CACrD,CAAA;AAED,qBAAa,gBAAiB,SAAQ,WAAW;IAC/C,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;IACrC,0BAA0B,EAAE,wBAAwB,CAAA;IACpD,UAAU,EAAE,IAAI,CAAC,MAAM,CAAA;IAEvB,gBAAgB,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,YAAY,CAAA;KAAE,EAAE,CAAK;IACrE,gBAAgB,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAY;IAEvD,OAAO;IAeP,MAAM,CAAC,IAAI,mCAA0C,iBAAiB,8BAW5C,gBAAgB,uBAMzC;IAED,OAAO,UAAW,MAAM,gBAAgB,YAAY,UAgBnD;IAED,MAAM,aAAoB,MAAM,eAAe,YAAY,gCAW1D;IAED,gBAAgB,iBAAwB,KAAK,IAAI,KAAG,QAAQ,UAAU,CAAC,CAKtE;CACF"}
@@ -1,7 +1,7 @@
1
1
  var _a;
2
2
  import * as Comlink from 'comlink';
3
- import { prepareBindValues } from '../util.js';
4
- import { BaseBackend } from './base.js';
3
+ import { prepareBindValues } from '../../util.js';
4
+ import { BaseBackend } from '../base.js';
5
5
  export class WebWorkerBackend extends BaseBackend {
6
6
  constructor({ worker, persistentDatabaseLocation, otelTracer, }) {
7
7
  super();
@@ -45,19 +45,19 @@ export class WebWorkerBackend extends BaseBackend {
45
45
  }
46
46
  }
47
47
  _a = WebWorkerBackend;
48
- WebWorkerBackend.load = async ({ persistentDatabaseLocation }, { otelTracer }) => {
48
+ WebWorkerBackend.load = async ({ persistentDatabaseLocation }) => {
49
49
  // TODO: Importing the worker like this only works with Vite;
50
50
  // should this really be inside the LiveStore library?
51
51
  // Doesn't work with Firefox right now during dev https://bugzilla.mozilla.org/show_bug.cgi?id=1247687
52
- const worker = new Worker(new URL('./web-worker.js', import.meta.url), {
52
+ const worker = new Worker(new URL('./worker.js', import.meta.url), {
53
53
  type: 'module',
54
54
  });
55
55
  const wrappedWorker = Comlink.wrap(worker);
56
56
  await wrappedWorker.initialize({ persistentDatabaseLocation });
57
- return new _a({
57
+ return ({ otelTracer }) => new _a({
58
58
  worker: wrappedWorker,
59
59
  persistentDatabaseLocation,
60
60
  otelTracer,
61
61
  });
62
62
  };
63
- //# sourceMappingURL=web.js.map
63
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/backends/web-worker/index.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAA;AAGlC,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AASxC,MAAM,OAAO,gBAAiB,SAAQ,WAAW;IAQ/C,YAAoB,EAClB,MAAM,EACN,0BAA0B,EAC1B,UAAU,GAKX;QACC,KAAK,EAAE,CAAA;QAZT,qBAAgB,GAAmD,EAAE,CAAA;QACrE,qBAAgB,GAA8B,SAAS,CAAA;QAoCvD,YAAO,GAAG,CAAC,KAAa,EAAE,WAA0B,EAAE,EAAE;YACtD,MAAM,UAAU,GAAG,iBAAiB,CAAC,WAAW,IAAI,EAAE,EAAE,KAAK,CAAC,CAAA;YAC9D,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAA;YAEjD,sJAAsJ;YACtJ,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,EAAE;gBACvC,IAAI,CAAC,gBAAgB,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;oBAC9C,UAAU,CAAC,GAAG,EAAE;wBACd,KAAK,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;wBACnD,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAA;wBAC1B,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAA;wBAEjC,OAAO,EAAE,CAAA;oBACX,CAAC,EAAE,EAAE,CAAC,CAAA;gBACR,CAAC,CAAC,CAAA;aACH;QACH,CAAC,CAAA;QAED,WAAM,GAAG,KAAK,EAAK,KAAa,EAAE,UAAyB,EAA8B,EAAE;YACzF,wJAAwJ;YACxJ,MAAM,IAAI,CAAC,gBAAgB,CAAA;YAE3B,IAAI;gBACF,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,CAAsB,CAAA;gBACnF,OAAO,QAAQ,CAAA;aAChB;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,6CAA6C,KAAK,EAAE,CAAC,CAAA;gBACnE,MAAM,CAAC,CAAA;aACR;QACH,CAAC,CAAA;QAED,qBAAgB,GAAG,KAAK,EAAE,WAAuB,EAAuB,EAAE;YACxE,iEAAiE;YACjE,MAAM,IAAI,CAAC,gBAAgB,CAAA;YAE3B,OAAO,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAA;QACvC,CAAC,CAAA;QA5DC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,0BAA0B,GAAG,0BAA0B,CAAA;QAC5D,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;IAC9B,CAAC;;;AAEM,qBAAI,GAAG,KAAK,EAAE,EAAE,0BAA0B,EAAqB,EAAE,EAAE;IACxE,6DAA6D;IAC7D,sDAAsD;IACtD,sGAAsG;IACtG,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QACjE,IAAI,EAAE,QAAQ;KACf,CAAC,CAAA;IACF,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAgB,MAAM,CAAC,CAAA;IAEzD,MAAM,aAAa,CAAC,UAAU,CAAC,EAAE,0BAA0B,EAAE,CAAC,CAAA;IAE9D,OAAO,CAAC,EAAE,UAAU,EAAoB,EAAE,EAAE,CAC1C,IAAI,EAAgB,CAAC;QACnB,MAAM,EAAE,aAAa;QACrB,0BAA0B;QAC1B,UAAU;KACX,CAAC,CAAA;AACN,CAAC,AAjBU,CAiBV"}