@livestore/livestore 0.3.0-dev.11 → 0.3.0-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.
Files changed (122) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/SynchronousDatabaseWrapper.d.ts +5 -14
  3. package/dist/SynchronousDatabaseWrapper.d.ts.map +1 -1
  4. package/dist/SynchronousDatabaseWrapper.js +4 -24
  5. package/dist/SynchronousDatabaseWrapper.js.map +1 -1
  6. package/dist/effect/LiveStore.d.ts +8 -12
  7. package/dist/effect/LiveStore.d.ts.map +1 -1
  8. package/dist/effect/LiveStore.js +3 -13
  9. package/dist/effect/LiveStore.js.map +1 -1
  10. package/dist/index.d.ts +7 -6
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +4 -4
  13. package/dist/index.js.map +1 -1
  14. package/dist/live-queries/base-class.d.ts +21 -64
  15. package/dist/live-queries/base-class.d.ts.map +1 -1
  16. package/dist/live-queries/base-class.js +13 -56
  17. package/dist/live-queries/base-class.js.map +1 -1
  18. package/dist/live-queries/computed.d.ts +7 -7
  19. package/dist/live-queries/computed.d.ts.map +1 -1
  20. package/dist/live-queries/computed.js +11 -35
  21. package/dist/live-queries/computed.js.map +1 -1
  22. package/dist/live-queries/db.d.ts +15 -12
  23. package/dist/live-queries/db.d.ts.map +1 -1
  24. package/dist/live-queries/db.js +25 -44
  25. package/dist/live-queries/db.js.map +1 -1
  26. package/dist/live-queries/db.test.js +14 -16
  27. package/dist/live-queries/db.test.js.map +1 -1
  28. package/dist/live-queries/graphql.d.ts +8 -8
  29. package/dist/live-queries/graphql.d.ts.map +1 -1
  30. package/dist/live-queries/graphql.js +9 -35
  31. package/dist/live-queries/graphql.js.map +1 -1
  32. package/dist/reactive.d.ts +13 -15
  33. package/dist/reactive.d.ts.map +1 -1
  34. package/dist/reactive.js +9 -15
  35. package/dist/reactive.js.map +1 -1
  36. package/dist/row-query-utils.d.ts +4 -4
  37. package/dist/row-query-utils.d.ts.map +1 -1
  38. package/dist/row-query-utils.js +10 -14
  39. package/dist/row-query-utils.js.map +1 -1
  40. package/dist/store/create-store.d.ts +4 -3
  41. package/dist/store/create-store.d.ts.map +1 -1
  42. package/dist/store/create-store.js +7 -7
  43. package/dist/store/create-store.js.map +1 -1
  44. package/dist/store/devtools.d.ts +2 -2
  45. package/dist/store/devtools.d.ts.map +1 -1
  46. package/dist/store/devtools.js +15 -15
  47. package/dist/store/devtools.js.map +1 -1
  48. package/dist/store/store-types.d.ts +5 -10
  49. package/dist/store/store-types.d.ts.map +1 -1
  50. package/dist/store/store-types.js.map +1 -1
  51. package/dist/store/store.d.ts +16 -34
  52. package/dist/store/store.d.ts.map +1 -1
  53. package/dist/store/store.js +77 -129
  54. package/dist/store/store.js.map +1 -1
  55. package/dist/utils/stack-info.d.ts.map +1 -1
  56. package/dist/utils/stack-info.js +1 -6
  57. package/dist/utils/stack-info.js.map +1 -1
  58. package/dist/utils/stack-info.test.js +1 -54
  59. package/dist/utils/stack-info.test.js.map +1 -1
  60. package/dist/utils/tests/fixture.d.ts +6 -2
  61. package/dist/utils/tests/fixture.d.ts.map +1 -1
  62. package/dist/utils/tests/fixture.js +5 -3
  63. package/dist/utils/tests/fixture.js.map +1 -1
  64. package/dist/utils/tests/mod.d.ts +0 -1
  65. package/dist/utils/tests/mod.d.ts.map +1 -1
  66. package/dist/utils/tests/mod.js +0 -1
  67. package/dist/utils/tests/mod.js.map +1 -1
  68. package/package.json +12 -12
  69. package/src/{SqliteDbWrapper.ts → SynchronousDatabaseWrapper.ts} +11 -41
  70. package/src/effect/LiveStore.ts +15 -26
  71. package/src/global-state.ts +20 -0
  72. package/src/index.ts +7 -14
  73. package/src/live-queries/__snapshots__/{db-query.test.ts.snap → db.test.ts.snap} +42 -196
  74. package/src/live-queries/base-class.ts +40 -160
  75. package/src/live-queries/computed.ts +19 -45
  76. package/src/live-queries/{db-query.test.ts → db.test.ts} +11 -21
  77. package/src/live-queries/{db-query.ts → db.ts} +39 -97
  78. package/src/live-queries/graphql.ts +21 -47
  79. package/src/reactive.ts +27 -52
  80. package/src/row-query-utils.ts +18 -29
  81. package/src/store/create-store.ts +23 -20
  82. package/src/store/devtools.ts +17 -17
  83. package/src/store/store-types.ts +5 -7
  84. package/src/store/store.ts +122 -231
  85. package/src/utils/stack-info.test.ts +1 -58
  86. package/src/utils/stack-info.ts +1 -6
  87. package/src/utils/tests/fixture.ts +7 -2
  88. package/src/utils/tests/mod.ts +0 -1
  89. package/dist/SqliteDbWrapper.d.ts +0 -54
  90. package/dist/SqliteDbWrapper.d.ts.map +0 -1
  91. package/dist/SqliteDbWrapper.js +0 -212
  92. package/dist/SqliteDbWrapper.js.map +0 -1
  93. package/dist/__tests__/fixture.d.ts +0 -252
  94. package/dist/__tests__/fixture.d.ts.map +0 -1
  95. package/dist/__tests__/fixture.js +0 -18
  96. package/dist/__tests__/fixture.js.map +0 -1
  97. package/dist/live-queries/db-query.d.ts +0 -67
  98. package/dist/live-queries/db-query.d.ts.map +0 -1
  99. package/dist/live-queries/db-query.js +0 -244
  100. package/dist/live-queries/db-query.js.map +0 -1
  101. package/dist/live-queries/db-query.test.d.ts +0 -2
  102. package/dist/live-queries/db-query.test.d.ts.map +0 -1
  103. package/dist/live-queries/db-query.test.js +0 -123
  104. package/dist/live-queries/db-query.test.js.map +0 -1
  105. package/dist/live-queries/make-ref.d.ts +0 -20
  106. package/dist/live-queries/make-ref.d.ts.map +0 -1
  107. package/dist/live-queries/make-ref.js +0 -33
  108. package/dist/live-queries/make-ref.js.map +0 -1
  109. package/dist/store/store.test.d.ts +0 -2
  110. package/dist/store/store.test.d.ts.map +0 -1
  111. package/dist/store/store.test.js +0 -27
  112. package/dist/store/store.test.js.map +0 -1
  113. package/dist/utils/expo.d.ts +0 -2
  114. package/dist/utils/expo.d.ts.map +0 -1
  115. package/dist/utils/expo.js +0 -8
  116. package/dist/utils/expo.js.map +0 -1
  117. package/dist/utils/function-string.d.ts +0 -7
  118. package/dist/utils/function-string.d.ts.map +0 -1
  119. package/dist/utils/function-string.js +0 -9
  120. package/dist/utils/function-string.js.map +0 -1
  121. package/src/live-queries/make-ref.ts +0 -47
  122. package/src/utils/function-string.ts +0 -12
@@ -1,7 +1,7 @@
1
1
  import { provideOtel } from '@livestore/common'
2
2
  import type { FromInputSchema } from '@livestore/common/schema'
3
3
  import type { Store } from '@livestore/livestore'
4
- import { createStore, DbSchema, makeSchema } from '@livestore/livestore'
4
+ import { createStore, DbSchema, globalReactivityGraph, makeReactivityGraph, makeSchema } from '@livestore/livestore'
5
5
  import { Effect } from '@livestore/utils/effect'
6
6
  import { makeInMemoryAdapter } from '@livestore/web'
7
7
  import type * as otel from '@opentelemetry/api'
@@ -47,17 +47,22 @@ export interface FixtureSchema extends FromInputSchema.DeriveSchema<{ tables: ty
47
47
  export const makeTodoMvc = ({
48
48
  otelTracer,
49
49
  otelContext,
50
+ useGlobalReactivityGraph = true,
50
51
  }: {
51
52
  otelTracer?: otel.Tracer
52
53
  otelContext?: otel.Context
54
+ useGlobalReactivityGraph?: boolean
53
55
  } = {}) =>
54
56
  Effect.gen(function* () {
57
+ const reactivityGraph = useGlobalReactivityGraph ? globalReactivityGraph : makeReactivityGraph()
58
+
55
59
  const store: Store<any, FixtureSchema> = yield* createStore({
56
60
  schema,
57
61
  storeId: 'default',
58
62
  adapter: makeInMemoryAdapter(),
63
+ reactivityGraph,
59
64
  debug: { instanceId: 'test' },
60
65
  })
61
66
 
62
- return store
67
+ return { store, reactivityGraph }
63
68
  }).pipe(provideOtel({ parentSpanContext: otelContext, otelTracer: otelTracer }))
@@ -1,3 +1,2 @@
1
1
  export * from './fixture.js'
2
2
  export * from './otel.js'
3
- export * as RG from '../../reactive.js'
@@ -1,54 +0,0 @@
1
- import type { DebugInfo, MutableDebugInfo, PreparedBindValues, PreparedStatement, SqliteDb, SqliteDbChangeset, SqliteDbSession } from '@livestore/common';
2
- import type * as otel from '@opentelemetry/api';
3
- export declare const emptyDebugInfo: () => DebugInfo;
4
- /**
5
- * This class is mostly adding result caching around a SqliteDb which is used to speed up
6
- * SQLite queries when used through the reactivity graph.
7
- */
8
- export declare class SqliteDbWrapper implements SqliteDb {
9
- _tag: "SqliteDb";
10
- private cachedStmts;
11
- private tablesUsedCache;
12
- private resultCache;
13
- private db;
14
- private otelTracer;
15
- private otelRootSpanContext;
16
- private tablesUsedStmt;
17
- debugInfo: MutableDebugInfo;
18
- constructor({ db, otel, }: {
19
- db: SqliteDb;
20
- otel: {
21
- tracer: otel.Tracer;
22
- rootSpanContext: otel.Context;
23
- };
24
- });
25
- metadata: any;
26
- prepare(queryStr: string): PreparedStatement;
27
- import(data: Uint8Array<ArrayBufferLike> | SqliteDb<any, any>): void;
28
- close(): void;
29
- destroy(): void;
30
- session(): SqliteDbSession;
31
- makeChangeset(data: Uint8Array): SqliteDbChangeset;
32
- txn<TRes>(callback: () => TRes): TRes;
33
- withChangeset<TRes>(callback: () => TRes): {
34
- result: TRes;
35
- changeset: Uint8Array | undefined;
36
- };
37
- rollback(changeset: Uint8Array): void;
38
- getTablesUsed(query: string): Set<string>;
39
- execute(queryStr: string, bindValues?: PreparedBindValues | undefined, options?: {
40
- hasNoEffects?: boolean;
41
- otelContext?: otel.Context;
42
- writeTables?: ReadonlySet<string>;
43
- onRowsChanged?: (rowsChanged: number) => void;
44
- }): {
45
- durationMs: number;
46
- };
47
- select<T = any>(queryStr: string, bindValues?: PreparedBindValues | undefined, options?: {
48
- queriedTables?: ReadonlySet<string>;
49
- skipCache?: boolean;
50
- otelContext?: otel.Context;
51
- }): ReadonlyArray<T>;
52
- export(): Uint8Array<ArrayBufferLike>;
53
- }
54
- //# sourceMappingURL=SqliteDbWrapper.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SqliteDbWrapper.d.ts","sourceRoot":"","sources":["../src/SqliteDbWrapper.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,SAAS,EACT,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,QAAQ,EACR,iBAAiB,EACjB,eAAe,EAChB,MAAM,mBAAmB,CAAA;AAG1B,OAAO,KAAK,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAK/C,eAAO,MAAM,cAAc,QAAO,SAKhC,CAAA;AAEF;;;GAGG;AACH,qBAAa,eAAgB,YAAW,QAAQ;IAC9C,IAAI,EAAG,UAAU,CAAS;IAE1B,OAAO,CAAC,WAAW,CAA+C;IAClE,OAAO,CAAC,eAAe,CAAyC;IAChE,OAAO,CAAC,WAAW,CAAmB;IACtC,OAAO,CAAC,EAAE,CAAU;IACpB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,mBAAmB,CAAc;IACzC,OAAO,CAAC,cAAc,CAAA;IACf,SAAS,EAAE,gBAAgB,CAAmB;gBAEzC,EACV,EAAE,EACF,IAAI,GACL,EAAE;QACD,EAAE,EAAE,QAAQ,CAAA;QACZ,IAAI,EAAE;YACJ,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;YACnB,eAAe,EAAE,IAAI,CAAC,OAAO,CAAA;SAC9B,CAAA;KACF;IAaD,QAAQ,EAAE,GAAG,CAAA;IACb,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB;IAG5C,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,eAAe,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAG7D,KAAK,IAAI,IAAI;IAGb,OAAO,IAAI,IAAI;IAGf,OAAO,IAAI,eAAe;IAG1B,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,iBAAiB;IAIlD,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAqBrC,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG;QAAE,MAAM,EAAE,IAAI,CAAC;QAAC,SAAS,EAAE,UAAU,GAAG,SAAS,CAAA;KAAE;IAU9F,QAAQ,CAAC,SAAS,EAAE,UAAU;IAK9B,aAAa,CAAC,KAAK,EAAE,MAAM;IA4B3B,OAAO,CACL,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,kBAAkB,GAAG,SAAS,EAC3C,OAAO,CAAC,EAAE;QACR,YAAY,CAAC,EAAE,OAAO,CAAA;QACtB,WAAW,CAAC,EAAE,IAAI,CAAC,OAAO,CAAA;QAC1B,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;QACjC,aAAa,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAA;KAC9C,GACA;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE;IA8CzB,MAAM,CAAC,CAAC,GAAG,GAAG,EACZ,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,kBAAkB,GAAG,SAAS,EAC3C,OAAO,CAAC,EAAE;QACR,aAAa,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;QACnC,SAAS,CAAC,EAAE,OAAO,CAAA;QACnB,WAAW,CAAC,EAAE,IAAI,CAAC,OAAO,CAAA;KAC3B,GACA,aAAa,CAAC,CAAC,CAAC;IA+DnB,MAAM;CAQP"}
@@ -1,212 +0,0 @@
1
- /* eslint-disable prefer-arrow/prefer-arrow-functions */
2
- import { BoundArray, BoundMap, sql } from '@livestore/common';
3
- import { isDevEnv } from '@livestore/utils';
4
- import QueryCache from './QueryCache.js';
5
- import { getDurationMsFromSpan, getStartTimeHighResFromSpan } from './utils/otel.js';
6
- export const emptyDebugInfo = () => ({
7
- slowQueries: new BoundArray(200),
8
- queryFrameDuration: 0,
9
- queryFrameCount: 0,
10
- events: new BoundArray(1000),
11
- });
12
- /**
13
- * This class is mostly adding result caching around a SqliteDb which is used to speed up
14
- * SQLite queries when used through the reactivity graph.
15
- */
16
- export class SqliteDbWrapper {
17
- _tag = 'SqliteDb';
18
- // TODO: how many unique active statements are expected?
19
- cachedStmts = new BoundMap(200);
20
- tablesUsedCache = new BoundMap(200);
21
- resultCache = new QueryCache();
22
- db;
23
- otelTracer;
24
- otelRootSpanContext;
25
- tablesUsedStmt;
26
- debugInfo = emptyDebugInfo();
27
- constructor({ db, otel, }) {
28
- this.db = db;
29
- this.otelTracer = otel.tracer;
30
- this.otelRootSpanContext = otel.rootSpanContext;
31
- this.tablesUsedStmt = db.prepare(`SELECT tbl_name FROM tables_used(?) AS u JOIN sqlite_master ON sqlite_master.name = u.name WHERE u.schema = 'main';`);
32
- this.cachedStmts.onEvict = (_queryStr, stmt) => stmt.finalize();
33
- configureSQLite(this);
34
- }
35
- metadata;
36
- prepare(queryStr) {
37
- return this.db.prepare(queryStr);
38
- }
39
- import(data) {
40
- return this.db.import(data);
41
- }
42
- close() {
43
- return this.db.close();
44
- }
45
- destroy() {
46
- return this.db.destroy();
47
- }
48
- session() {
49
- return this.db.session();
50
- }
51
- makeChangeset(data) {
52
- return this.db.makeChangeset(data);
53
- }
54
- txn(callback) {
55
- this.execute(sql `begin transaction;`);
56
- let errored = false;
57
- let result;
58
- try {
59
- result = callback();
60
- }
61
- catch (e) {
62
- errored = true;
63
- this.execute(sql `rollback;`);
64
- throw e;
65
- }
66
- if (!errored) {
67
- this.execute(sql `commit;`);
68
- }
69
- return result;
70
- }
71
- withChangeset(callback) {
72
- const session = this.db.session();
73
- const result = callback();
74
- const changeset = session.changeset();
75
- session.finish();
76
- return { result, changeset };
77
- }
78
- rollback(changeset) {
79
- const invertedChangeset = this.db.makeChangeset(changeset).invert();
80
- invertedChangeset.apply();
81
- }
82
- getTablesUsed(query) {
83
- // It seems that SQLite doesn't properly handle `DELETE FROM SOME_TABLE` queries without a WHERE clause
84
- // So we need to handle these queries separately
85
- const tableNameFromPlainDeleteQuery = tryGetTableNameFromPlainDeleteQuery(query);
86
- if (tableNameFromPlainDeleteQuery !== undefined) {
87
- return new Set([tableNameFromPlainDeleteQuery]);
88
- }
89
- const cached = this.tablesUsedCache.get(query);
90
- if (cached) {
91
- return cached;
92
- }
93
- const stmt = this.tablesUsedStmt;
94
- const tablesUsed = new Set();
95
- try {
96
- const results = stmt.select([query]);
97
- for (const row of results) {
98
- tablesUsed.add(row.tbl_name);
99
- }
100
- }
101
- catch (e) {
102
- console.error('Error getting tables used', e, 'for query', query);
103
- return new Set();
104
- }
105
- this.tablesUsedCache.set(query, tablesUsed);
106
- return tablesUsed;
107
- }
108
- execute(queryStr, bindValues, options) {
109
- // console.debug('in-memory-db:execute', query, bindValues)
110
- return this.otelTracer.startActiveSpan('livestore.in-memory-db:execute',
111
- // TODO truncate query string
112
- { attributes: { 'sql.query': queryStr } }, options?.otelContext ?? this.otelRootSpanContext, (span) => {
113
- let stmt = this.cachedStmts.get(queryStr);
114
- if (stmt === undefined) {
115
- stmt = this.db.prepare(queryStr);
116
- this.cachedStmts.set(queryStr, stmt);
117
- }
118
- stmt.execute(bindValues);
119
- if (options?.hasNoEffects !== true && !this.resultCache.ignoreQuery(queryStr)) {
120
- // TODO use write tables instead
121
- // check what queries actually end up here.
122
- this.resultCache.invalidate(options?.writeTables ?? this.getTablesUsed(queryStr));
123
- }
124
- span.end();
125
- const durationMs = getDurationMsFromSpan(span);
126
- this.debugInfo.queryFrameDuration += durationMs;
127
- this.debugInfo.queryFrameCount++;
128
- if (durationMs > 5 && isDevEnv()) {
129
- this.debugInfo.slowQueries.push({
130
- queryStr,
131
- bindValues,
132
- durationMs,
133
- rowsCount: undefined,
134
- queriedTables: new Set(),
135
- startTimePerfNow: getStartTimeHighResFromSpan(span),
136
- });
137
- }
138
- return { durationMs };
139
- });
140
- }
141
- select(queryStr, bindValues, options) {
142
- const { queriedTables, skipCache = false, otelContext } = options ?? {};
143
- // console.debug('in-memory-db:select', query, bindValues)
144
- return this.otelTracer.startActiveSpan('sql-in-memory-select', {}, otelContext ?? this.otelRootSpanContext, (span) => {
145
- try {
146
- span.setAttribute('sql.query', queryStr);
147
- const key = this.resultCache.getKey(queryStr, bindValues);
148
- const cachedResult = this.resultCache.get(key);
149
- if (skipCache === false && cachedResult !== undefined) {
150
- span.setAttribute('sql.rowsCount', cachedResult.length);
151
- span.setAttribute('sql.cached', true);
152
- span.end();
153
- return cachedResult;
154
- }
155
- let stmt = this.cachedStmts.get(queryStr);
156
- if (stmt === undefined) {
157
- stmt = this.db.prepare(queryStr);
158
- this.cachedStmts.set(queryStr, stmt);
159
- }
160
- const result = stmt.select(bindValues);
161
- span.setAttribute('sql.rowsCount', result.length);
162
- span.setAttribute('sql.cached', false);
163
- const queriedTables_ = queriedTables ?? this.getTablesUsed(queryStr);
164
- this.resultCache.set(queriedTables_, key, result);
165
- span.end();
166
- const durationMs = getDurationMsFromSpan(span);
167
- this.debugInfo.queryFrameDuration += durationMs;
168
- this.debugInfo.queryFrameCount++;
169
- // TODO also enable in non-dev mode
170
- if (durationMs > 5 && isDevEnv()) {
171
- this.debugInfo.slowQueries.push({
172
- queryStr,
173
- bindValues,
174
- durationMs,
175
- rowsCount: result.length,
176
- queriedTables: queriedTables_,
177
- startTimePerfNow: getStartTimeHighResFromSpan(span),
178
- });
179
- }
180
- return result;
181
- }
182
- finally {
183
- span.end();
184
- }
185
- });
186
- }
187
- export() {
188
- // Clear statement cache because exporting frees statements
189
- for (const key of this.cachedStmts.keys()) {
190
- this.cachedStmts.delete(key);
191
- }
192
- return this.db.export();
193
- }
194
- }
195
- /** Set up SQLite performance; hasn't been super carefully optimized yet. */
196
- const configureSQLite = (db) => {
197
- db.execute(
198
- // TODO: revisit these tuning parameters for max performance
199
- sql `
200
- PRAGMA page_size=32768;
201
- PRAGMA cache_size=10000;
202
- PRAGMA journal_mode='MEMORY'; -- we don't flush to disk before committing a write
203
- PRAGMA synchronous='OFF';
204
- PRAGMA temp_store='MEMORY';
205
- PRAGMA foreign_keys='ON'; -- we want foreign key constraints to be enforced
206
- `);
207
- };
208
- const tryGetTableNameFromPlainDeleteQuery = (query) => {
209
- const [_, tableName] = query.trim().match(/^delete\s+from\s+(\w+)$/i) ?? [];
210
- return tableName;
211
- };
212
- //# sourceMappingURL=SqliteDbWrapper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SqliteDbWrapper.js","sourceRoot":"","sources":["../src/SqliteDbWrapper.ts"],"names":[],"mappings":"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"}
@@ -1,252 +0,0 @@
1
- import { DbSchema } from '@livestore/common/schema';
2
- import { Schema } from '@livestore/utils/effect';
3
- export declare const todos: DbSchema.TableDef<{
4
- name: "todos";
5
- columns: {
6
- id: {
7
- columnType: "text";
8
- schema: Schema.Schema<string, string, never>;
9
- default: import("effect/Option").None<never>;
10
- nullable: false;
11
- primaryKey: true;
12
- };
13
- text: {
14
- columnType: "text";
15
- schema: Schema.Schema<string, string, never>;
16
- default: import("effect/Option").Some<"">;
17
- nullable: false;
18
- primaryKey: false;
19
- };
20
- completed: {
21
- columnType: "integer";
22
- schema: Schema.Schema<boolean, number, never>;
23
- default: import("effect/Option").Some<false>;
24
- nullable: false;
25
- primaryKey: false;
26
- };
27
- };
28
- indexes?: ReadonlyArray<DbSchema.SqliteDsl.Index>;
29
- ast: import("@livestore/db-schema/dist/ast/sqlite.js").Table;
30
- }, {
31
- isSingleton: false;
32
- disableAutomaticIdColumn: false;
33
- deriveMutations: {
34
- enabled: true;
35
- localOnly: boolean;
36
- };
37
- isSingleColumn: false;
38
- requiredInsertColumnNames: "id";
39
- }, Schema.Schema<{
40
- readonly id: string;
41
- readonly text: string;
42
- readonly completed: boolean;
43
- }, {
44
- readonly id: string;
45
- readonly text: string;
46
- readonly completed: number;
47
- }, never>>;
48
- export declare const appConfig: DbSchema.TableDef<{
49
- name: "app_config";
50
- columns: {
51
- value: {
52
- columnType: "text";
53
- schema: Schema.Schema<{
54
- readonly fontSize: number;
55
- readonly theme: "light" | "dark";
56
- } | null, string | null, never>;
57
- default: import("effect/Option").None<never>;
58
- nullable: true;
59
- primaryKey: false;
60
- };
61
- id: DbSchema.SqliteDsl.ColumnDefinition<"singleton", "singleton">;
62
- };
63
- indexes?: ReadonlyArray<DbSchema.SqliteDsl.Index>;
64
- ast: import("@livestore/db-schema/dist/ast/sqlite.js").Table;
65
- }, {
66
- isSingleton: true;
67
- disableAutomaticIdColumn: false;
68
- deriveMutations: {
69
- enabled: true;
70
- localOnly: boolean;
71
- };
72
- isSingleColumn: true;
73
- requiredInsertColumnNames: never;
74
- }, Schema.Schema<{
75
- readonly value: {
76
- readonly fontSize: number;
77
- readonly theme: "light" | "dark";
78
- } | null;
79
- readonly id: "singleton";
80
- }, {
81
- readonly value: string | null;
82
- readonly id: "singleton";
83
- }, never>>;
84
- export declare const tables: {
85
- todos: DbSchema.TableDef<{
86
- name: "todos";
87
- columns: {
88
- id: {
89
- columnType: "text";
90
- schema: Schema.Schema<string, string, never>;
91
- default: import("effect/Option").None<never>;
92
- nullable: false;
93
- primaryKey: true;
94
- };
95
- text: {
96
- columnType: "text";
97
- schema: Schema.Schema<string, string, never>;
98
- default: import("effect/Option").Some<"">;
99
- nullable: false;
100
- primaryKey: false;
101
- };
102
- completed: {
103
- columnType: "integer";
104
- schema: Schema.Schema<boolean, number, never>;
105
- default: import("effect/Option").Some<false>;
106
- nullable: false;
107
- primaryKey: false;
108
- };
109
- };
110
- indexes?: ReadonlyArray<DbSchema.SqliteDsl.Index>;
111
- ast: import("@livestore/db-schema/dist/ast/sqlite.js").Table;
112
- }, {
113
- isSingleton: false;
114
- disableAutomaticIdColumn: false;
115
- deriveMutations: {
116
- enabled: true;
117
- localOnly: boolean;
118
- };
119
- isSingleColumn: false;
120
- requiredInsertColumnNames: "id";
121
- }, Schema.Schema<{
122
- readonly id: string;
123
- readonly text: string;
124
- readonly completed: boolean;
125
- }, {
126
- readonly id: string;
127
- readonly text: string;
128
- readonly completed: number;
129
- }, never>>;
130
- appConfig: DbSchema.TableDef<{
131
- name: "app_config";
132
- columns: {
133
- value: {
134
- columnType: "text";
135
- schema: Schema.Schema<{
136
- readonly fontSize: number;
137
- readonly theme: "light" | "dark";
138
- } | null, string | null, never>;
139
- default: import("effect/Option").None<never>;
140
- nullable: true;
141
- primaryKey: false;
142
- };
143
- id: DbSchema.SqliteDsl.ColumnDefinition<"singleton", "singleton">;
144
- };
145
- indexes?: ReadonlyArray<DbSchema.SqliteDsl.Index>;
146
- ast: import("@livestore/db-schema/dist/ast/sqlite.js").Table;
147
- }, {
148
- isSingleton: true;
149
- disableAutomaticIdColumn: false;
150
- deriveMutations: {
151
- enabled: true;
152
- localOnly: boolean;
153
- };
154
- isSingleColumn: true;
155
- requiredInsertColumnNames: never;
156
- }, Schema.Schema<{
157
- readonly value: {
158
- readonly fontSize: number;
159
- readonly theme: "light" | "dark";
160
- } | null;
161
- readonly id: "singleton";
162
- }, {
163
- readonly value: string | null;
164
- readonly id: "singleton";
165
- }, never>>;
166
- };
167
- export declare const schema: import("@livestore/common/schema").FromInputSchema.DeriveSchema<{
168
- tables: {
169
- todos: DbSchema.TableDef<{
170
- name: "todos";
171
- columns: {
172
- id: {
173
- columnType: "text";
174
- schema: Schema.Schema<string, string, never>;
175
- default: import("effect/Option").None<never>;
176
- nullable: false;
177
- primaryKey: true;
178
- };
179
- text: {
180
- columnType: "text";
181
- schema: Schema.Schema<string, string, never>;
182
- default: import("effect/Option").Some<"">;
183
- nullable: false;
184
- primaryKey: false;
185
- };
186
- completed: {
187
- columnType: "integer";
188
- schema: Schema.Schema<boolean, number, never>;
189
- default: import("effect/Option").Some<false>;
190
- nullable: false;
191
- primaryKey: false;
192
- };
193
- };
194
- indexes?: ReadonlyArray<DbSchema.SqliteDsl.Index>;
195
- ast: import("@livestore/db-schema/dist/ast/sqlite.js").Table;
196
- }, {
197
- isSingleton: false;
198
- disableAutomaticIdColumn: false;
199
- deriveMutations: {
200
- enabled: true;
201
- localOnly: boolean;
202
- };
203
- isSingleColumn: false;
204
- requiredInsertColumnNames: "id";
205
- }, Schema.Schema<{
206
- readonly id: string;
207
- readonly text: string;
208
- readonly completed: boolean;
209
- }, {
210
- readonly id: string;
211
- readonly text: string;
212
- readonly completed: number;
213
- }, never>>;
214
- appConfig: DbSchema.TableDef<{
215
- name: "app_config";
216
- columns: {
217
- value: {
218
- columnType: "text";
219
- schema: Schema.Schema<{
220
- readonly fontSize: number;
221
- readonly theme: "light" | "dark";
222
- } | null, string | null, never>;
223
- default: import("effect/Option").None<never>;
224
- nullable: true;
225
- primaryKey: false;
226
- };
227
- id: DbSchema.SqliteDsl.ColumnDefinition<"singleton", "singleton">;
228
- };
229
- indexes?: ReadonlyArray<DbSchema.SqliteDsl.Index>;
230
- ast: import("@livestore/db-schema/dist/ast/sqlite.js").Table;
231
- }, {
232
- isSingleton: true;
233
- disableAutomaticIdColumn: false;
234
- deriveMutations: {
235
- enabled: true;
236
- localOnly: boolean;
237
- };
238
- isSingleColumn: true;
239
- requiredInsertColumnNames: never;
240
- }, Schema.Schema<{
241
- readonly value: {
242
- readonly fontSize: number;
243
- readonly theme: "light" | "dark";
244
- } | null;
245
- readonly id: "singleton";
246
- }, {
247
- readonly value: string | null;
248
- readonly id: "singleton";
249
- }, never>>;
250
- };
251
- }>;
252
- //# sourceMappingURL=fixture.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fixture.d.ts","sourceRoot":"","sources":["../../src/__tests__/fixture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAc,MAAM,0BAA0B,CAAA;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAQjB,CAAA;AAOD,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAGpB,CAAA;AAEF,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAuB,CAAA;AAE1C,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAyB,CAAA"}
@@ -1,18 +0,0 @@
1
- import { DbSchema, makeSchema } from '@livestore/common/schema';
2
- import { Schema } from '@livestore/utils/effect';
3
- export const todos = DbSchema.table('todos', {
4
- id: DbSchema.text({ primaryKey: true }),
5
- text: DbSchema.text({ default: '', nullable: false }),
6
- completed: DbSchema.boolean({ default: false, nullable: false }),
7
- }, { deriveMutations: true });
8
- const Config = Schema.Struct({
9
- fontSize: Schema.Number,
10
- theme: Schema.Literal('light', 'dark'),
11
- });
12
- export const appConfig = DbSchema.table('app_config', DbSchema.json({ schema: Config, nullable: true }), {
13
- isSingleton: true,
14
- deriveMutations: true,
15
- });
16
- export const tables = { todos, appConfig };
17
- export const schema = makeSchema({ tables });
18
- //# sourceMappingURL=fixture.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fixture.js","sourceRoot":"","sources":["../../src/__tests__/fixture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,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,CAC1B,CAAA;AAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC,MAAM;IACvB,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC;CACvC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE;IACvG,WAAW,EAAE,IAAI;IACjB,eAAe,EAAE,IAAI;CACtB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAA;AAE1C,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA"}
@@ -1,67 +0,0 @@
1
- import type { Bindable, QueryBuilder, QueryInfo } from '@livestore/common';
2
- import { Schema } from '@livestore/utils/effect';
3
- import * as otel from '@opentelemetry/api';
4
- import type { Thunk } from '../reactive.js';
5
- import type { RefreshReason } from '../store/store-types.js';
6
- import type { DepKey, GetAtomResult, LiveQueryDef, ReactivityGraph, ReactivityGraphContext } from './base-class.js';
7
- import { LiveStoreQueryBase } from './base-class.js';
8
- export type QueryInputRaw<TDecoded, TEncoded, TQueryInfo extends QueryInfo> = {
9
- query: string;
10
- schema: Schema.Schema<TDecoded, TEncoded>;
11
- bindValues?: Bindable;
12
- /**
13
- * Can be provided explicitly to slightly speed up initial query performance
14
- *
15
- * NOTE In the future we want to do this automatically at build time
16
- */
17
- queriedTables?: Set<string>;
18
- queryInfo?: TQueryInfo;
19
- execBeforeFirstRun?: (ctx: ReactivityGraphContext) => void;
20
- };
21
- export declare const isQueryInputRaw: (value: unknown) => value is QueryInputRaw<any, any, any>;
22
- export type QueryInput<TDecoded, TEncoded, TQueryInfo extends QueryInfo> = QueryInputRaw<TDecoded, TEncoded, TQueryInfo> | QueryBuilder<TDecoded, any, any, TQueryInfo>;
23
- /**
24
- * NOTE `query` is only supposed to read data. Don't use it to insert/update/delete data but use mutations instead.
25
- */
26
- export declare const queryDb: {
27
- <TResultSchema, TResult = TResultSchema, TQueryInfo extends QueryInfo = QueryInfo.None>(queryInput: QueryInputRaw<TResultSchema, ReadonlyArray<any>, TQueryInfo> | QueryBuilder<TResultSchema, any, any, TQueryInfo>, options?: {
28
- map?: (rows: TResultSchema) => TResult;
29
- /**
30
- * Used for debugging / devtools
31
- */
32
- label?: string;
33
- deps?: DepKey;
34
- queryInfo?: TQueryInfo;
35
- }): LiveQueryDef<TResult, TQueryInfo>;
36
- <TResultSchema, TResult = TResultSchema, TQueryInfo extends QueryInfo = QueryInfo.None>(queryInput: ((get: GetAtomResult) => QueryInputRaw<TResultSchema, ReadonlyArray<any>, TQueryInfo>) | ((get: GetAtomResult) => QueryBuilder<TResultSchema, any, any, TQueryInfo>), options?: {
37
- map?: (rows: TResultSchema) => TResult;
38
- /**
39
- * Used for debugging / devtools
40
- */
41
- label?: string;
42
- deps?: DepKey;
43
- queryInfo?: TQueryInfo;
44
- }): LiveQueryDef<TResult, TQueryInfo>;
45
- };
46
- export declare class LiveStoreDbQuery<TResultSchema, TResult = TResultSchema, TQueryInfo extends QueryInfo = QueryInfo.None> extends LiveStoreQueryBase<TResult, TQueryInfo> {
47
- _tag: 'db';
48
- /** A reactive thunk representing the query text */
49
- queryInput$: Thunk<QueryInputRaw<any, any, QueryInfo>, ReactivityGraphContext, RefreshReason> | undefined;
50
- /** A reactive thunk representing the query results */
51
- results$: Thunk<TResult, ReactivityGraphContext, RefreshReason>;
52
- label: string;
53
- queryInfo: TQueryInfo;
54
- readonly reactivityGraph: ReactivityGraph;
55
- private mapResult;
56
- constructor({ queryInput, label: inputLabel, reactivityGraph, map, queryInfo: inputQueryInfo, otelContext, }: {
57
- label?: string;
58
- queryInput: QueryInput<TResultSchema, ReadonlyArray<any>, TQueryInfo> | ((get: GetAtomResult, ctx: ReactivityGraphContext) => QueryInput<TResultSchema, ReadonlyArray<any>, TQueryInfo>);
59
- reactivityGraph: ReactivityGraph;
60
- map?: (rows: TResultSchema) => TResult;
61
- queryInfo?: TQueryInfo;
62
- /** Only used for the initial query execution */
63
- otelContext?: otel.Context;
64
- });
65
- destroy: () => void;
66
- }
67
- //# sourceMappingURL=db-query.d.ts.map