on-zero 0.6.13 → 0.6.15

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 (93) hide show
  1. package/dist/cjs/createSchemaFromDrizzle.cjs +4 -4
  2. package/dist/cjs/createSchemaFromDrizzle.native.js +4 -4
  3. package/dist/cjs/createSchemaFromDrizzle.native.js.map +1 -1
  4. package/dist/cjs/createZeroDirectServer.cjs +279 -0
  5. package/dist/cjs/createZeroDirectServer.native.js +292 -0
  6. package/dist/cjs/createZeroDirectServer.native.js.map +1 -0
  7. package/dist/cjs/createZeroSQLiteServer.cjs +8 -277
  8. package/dist/cjs/createZeroSQLiteServer.native.js +8 -390
  9. package/dist/cjs/createZeroSQLiteServer.native.js.map +1 -1
  10. package/dist/cjs/createZeroSQLiteServer.test.cjs +30 -3
  11. package/dist/cjs/createZeroSQLiteServer.test.native.js +31 -3
  12. package/dist/cjs/createZeroSQLiteServer.test.native.js.map +1 -1
  13. package/dist/cjs/createZeroServerCore.cjs +20 -205
  14. package/dist/cjs/createZeroServerCore.native.js +19 -213
  15. package/dist/cjs/createZeroServerCore.native.js.map +1 -1
  16. package/dist/cjs/generate.cjs +10 -3
  17. package/dist/cjs/generate.native.js +10 -3
  18. package/dist/cjs/generate.native.js.map +1 -1
  19. package/dist/cjs/generate.test.cjs +39 -0
  20. package/dist/cjs/generate.test.native.js +39 -0
  21. package/dist/cjs/generate.test.native.js.map +1 -1
  22. package/dist/cjs/sqliteRuntime.cjs +318 -0
  23. package/dist/cjs/sqliteRuntime.native.js +438 -0
  24. package/dist/cjs/sqliteRuntime.native.js.map +1 -0
  25. package/dist/cjs/syncHost.cjs +16 -9
  26. package/dist/cjs/syncHost.native.js +21 -12
  27. package/dist/cjs/syncHost.native.js.map +1 -1
  28. package/dist/cjs/syncHost.test.cjs +13 -2
  29. package/dist/cjs/syncHost.test.native.js +14 -2
  30. package/dist/cjs/syncHost.test.native.js.map +1 -1
  31. package/dist/esm/createSchemaFromDrizzle.mjs +2 -2
  32. package/dist/esm/createSchemaFromDrizzle.native.js +2 -2
  33. package/dist/esm/createZeroDirectServer.mjs +251 -0
  34. package/dist/esm/createZeroDirectServer.mjs.map +1 -0
  35. package/dist/esm/createZeroDirectServer.native.js +261 -0
  36. package/dist/esm/createZeroDirectServer.native.js.map +1 -0
  37. package/dist/esm/createZeroSQLiteServer.mjs +3 -272
  38. package/dist/esm/createZeroSQLiteServer.mjs.map +1 -1
  39. package/dist/esm/createZeroSQLiteServer.native.js +3 -385
  40. package/dist/esm/createZeroSQLiteServer.native.js.map +1 -1
  41. package/dist/esm/createZeroSQLiteServer.test.mjs +30 -3
  42. package/dist/esm/createZeroSQLiteServer.test.mjs.map +1 -1
  43. package/dist/esm/createZeroSQLiteServer.test.native.js +31 -3
  44. package/dist/esm/createZeroSQLiteServer.test.native.js.map +1 -1
  45. package/dist/esm/createZeroServerCore.mjs +18 -202
  46. package/dist/esm/createZeroServerCore.mjs.map +1 -1
  47. package/dist/esm/createZeroServerCore.native.js +18 -211
  48. package/dist/esm/createZeroServerCore.native.js.map +1 -1
  49. package/dist/esm/generate.mjs +10 -3
  50. package/dist/esm/generate.mjs.map +1 -1
  51. package/dist/esm/generate.native.js +10 -3
  52. package/dist/esm/generate.native.js.map +1 -1
  53. package/dist/esm/generate.test.mjs +39 -1
  54. package/dist/esm/generate.test.mjs.map +1 -1
  55. package/dist/esm/generate.test.native.js +39 -1
  56. package/dist/esm/generate.test.native.js.map +1 -1
  57. package/dist/esm/sqliteRuntime.mjs +289 -0
  58. package/dist/esm/sqliteRuntime.mjs.map +1 -0
  59. package/dist/esm/sqliteRuntime.native.js +406 -0
  60. package/dist/esm/sqliteRuntime.native.js.map +1 -0
  61. package/dist/esm/syncHost.mjs +14 -7
  62. package/dist/esm/syncHost.mjs.map +1 -1
  63. package/dist/esm/syncHost.native.js +19 -10
  64. package/dist/esm/syncHost.native.js.map +1 -1
  65. package/dist/esm/syncHost.test.mjs +13 -2
  66. package/dist/esm/syncHost.test.mjs.map +1 -1
  67. package/dist/esm/syncHost.test.native.js +14 -2
  68. package/dist/esm/syncHost.test.native.js.map +1 -1
  69. package/package.json +5 -6
  70. package/src/createSchemaFromDrizzle.ts +2 -2
  71. package/src/createZeroDirectServer.ts +427 -0
  72. package/src/createZeroSQLiteServer.test.ts +20 -5
  73. package/src/createZeroSQLiteServer.ts +14 -481
  74. package/src/createZeroServerCore.ts +32 -337
  75. package/src/generate.test.ts +57 -1
  76. package/src/generate.ts +23 -3
  77. package/src/sqliteRuntime.ts +512 -0
  78. package/src/syncHost.test.ts +10 -3
  79. package/src/syncHost.ts +49 -12
  80. package/test-fixtures/server-return-types.ts +8 -1
  81. package/types/createSchemaFromDrizzle.d.ts +2 -2
  82. package/types/createSchemaFromDrizzle.d.ts.map +1 -1
  83. package/types/createZeroDirectServer.d.ts +80 -0
  84. package/types/createZeroDirectServer.d.ts.map +1 -0
  85. package/types/createZeroSQLiteServer.d.ts +5 -30
  86. package/types/createZeroSQLiteServer.d.ts.map +1 -1
  87. package/types/createZeroServerCore.d.ts +30 -87
  88. package/types/createZeroServerCore.d.ts.map +1 -1
  89. package/types/generate.d.ts.map +1 -1
  90. package/types/sqliteRuntime.d.ts +71 -0
  91. package/types/sqliteRuntime.d.ts.map +1 -0
  92. package/types/syncHost.d.ts +10 -19
  93. package/types/syncHost.d.ts.map +1 -1
@@ -0,0 +1,406 @@
1
+ import { createBuilder } from "@rocicorp/zero";
2
+ import { asQueryInternals } from "@rocicorp/zero/bindings";
3
+ function _type_of(obj) {
4
+ "@swc/helpers - typeof";
5
+
6
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
7
+ }
8
+ function createSQLiteDatabase(options) {
9
+ return {
10
+ async transaction(callback, input) {
11
+ var committedLedgers = /* @__PURE__ */new Set();
12
+ var value = await options.transactionProvider(async function (executor) {
13
+ var attemptLedgers = /* @__PURE__ */new Set();
14
+ var ensureLedger = async function (upstreamSchema) {
15
+ var tables = options.ledgerTables(upstreamSchema);
16
+ var key2 = ledgerKey(tables);
17
+ if (options.initializedLedgers.has(key2) || attemptLedgers.has(key2)) {
18
+ return;
19
+ }
20
+ await createLedgerTables(executor, tables);
21
+ attemptLedgers.add(key2);
22
+ };
23
+ var transaction = createZeroSQLiteTransaction(options, executor, input);
24
+ var result = await callback(transaction, createLedgerHooks(options, executor, ensureLedger, input));
25
+ committedLedgers = attemptLedgers;
26
+ return result;
27
+ });
28
+ var _iteratorNormalCompletion = true,
29
+ _didIteratorError = false,
30
+ _iteratorError = void 0;
31
+ try {
32
+ for (var _iterator = committedLedgers[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
33
+ var key = _step.value;
34
+ options.initializedLedgers.add(key);
35
+ }
36
+ } catch (err) {
37
+ _didIteratorError = true;
38
+ _iteratorError = err;
39
+ } finally {
40
+ try {
41
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
42
+ _iterator.return();
43
+ }
44
+ } finally {
45
+ if (_didIteratorError) {
46
+ throw _iteratorError;
47
+ }
48
+ }
49
+ }
50
+ return value;
51
+ }
52
+ };
53
+ }
54
+ function createZeroSQLiteTransaction(options, executor, input) {
55
+ var _options_encodeValue;
56
+ var transactionOptions = {
57
+ encodeValue: (_options_encodeValue = options.encodeValue) !== null && _options_encodeValue !== void 0 ? _options_encodeValue : encodeSQLiteValue,
58
+ schema: options.schema
59
+ };
60
+ var _input_clientID;
61
+ var clientID = (_input_clientID = input === null || input === void 0 ? void 0 : input.clientID) !== null && _input_clientID !== void 0 ? _input_clientID : "";
62
+ var _input_mutationID;
63
+ var mutationID = (_input_mutationID = input === null || input === void 0 ? void 0 : input.mutationID) !== null && _input_mutationID !== void 0 ? _input_mutationID : 0;
64
+ var mutate = new Proxy({}, {
65
+ get(_target, tableKey) {
66
+ var tableName = String(tableKey);
67
+ if (!options.schema.tables[tableName]) {
68
+ throw new Error(`unknown SQLite mutation table ${tableName}`);
69
+ }
70
+ return new Proxy({}, {
71
+ get(_innerTarget, kindKey) {
72
+ var kind = String(kindKey);
73
+ if (!isCrudKind(kind)) return;
74
+ return function (value) {
75
+ return executeCrud(transactionOptions, executor, tableName, kind, value);
76
+ };
77
+ }
78
+ });
79
+ }
80
+ });
81
+ var runQuery = function (ast, format, queryName) {
82
+ return Promise.resolve(executor.queryAst(ast, format, queryName));
83
+ };
84
+ var dbTransaction = {
85
+ wrappedTransaction: executor,
86
+ query: function (sql, args) {
87
+ return executor.query(sql, args);
88
+ },
89
+ runQuery
90
+ };
91
+ return {
92
+ clientID,
93
+ dbTransaction,
94
+ location: "server",
95
+ mutate,
96
+ mutationID,
97
+ query: transactionOptions.schema.enableLegacyQueries ? createLegacyQueryBuilder(transactionOptions.schema, function (query) {
98
+ var _internals_customQueryID;
99
+ var internals = asQueryInternals(query);
100
+ return runQuery(internals.ast, internals.format, (_internals_customQueryID = internals.customQueryID) === null || _internals_customQueryID === void 0 ? void 0 : _internals_customQueryID.name);
101
+ }) : void 0,
102
+ reason: "authoritative",
103
+ async run(query) {
104
+ var _internals_customQueryID;
105
+ var internals = asQueryInternals(query);
106
+ return runQuery(internals.ast, internals.format, (_internals_customQueryID = internals.customQueryID) === null || _internals_customQueryID === void 0 ? void 0 : _internals_customQueryID.name);
107
+ }
108
+ };
109
+ }
110
+ function isCrudKind(value) {
111
+ return value === "delete" || value === "insert" || value === "update" || value === "upsert";
112
+ }
113
+ async function executeCrud(options, executor, tableName, kind, raw) {
114
+ if (!raw || (typeof raw === "undefined" ? "undefined" : _type_of(raw)) !== "object" || Array.isArray(raw)) {
115
+ throw new Error(`${tableName}.${kind} expects an object`);
116
+ }
117
+ var table = options.schema.tables[tableName];
118
+ var values = Object.fromEntries(Object.entries(raw).filter(function (param) {
119
+ var [, value] = param;
120
+ return value !== void 0;
121
+ }));
122
+ var _iteratorNormalCompletion = true,
123
+ _didIteratorError = false,
124
+ _iteratorError = void 0;
125
+ try {
126
+ for (var _iterator = Object.keys(values)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
127
+ var columnName = _step.value;
128
+ if (!table.columns[columnName]) {
129
+ throw new Error(`unknown SQLite column ${tableName}.${columnName}`);
130
+ }
131
+ }
132
+ } catch (err) {
133
+ _didIteratorError = true;
134
+ _iteratorError = err;
135
+ } finally {
136
+ try {
137
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
138
+ _iterator.return();
139
+ }
140
+ } finally {
141
+ if (_didIteratorError) {
142
+ throw _iteratorError;
143
+ }
144
+ }
145
+ }
146
+ var primaryValues = table.primaryKey.map(function (columnName2) {
147
+ if (!(columnName2 in values)) {
148
+ throw new Error(`${tableName}.${kind} is missing primary key ${columnName2}`);
149
+ }
150
+ return encodeColumn(options, tableName, columnName2, values[columnName2]);
151
+ });
152
+ var primaryWhere = table.primaryKey.map(function (columnName2) {
153
+ return `${quoteSQLiteIdentifier(serverColumn(table, columnName2))} = ?`;
154
+ }).join(" AND ");
155
+ var _table_serverName;
156
+ var serverTableName = quoteSQLiteIdentifier((_table_serverName = table.serverName) !== null && _table_serverName !== void 0 ? _table_serverName : table.name);
157
+ if (kind === "delete") {
158
+ var _table_serverName1;
159
+ await executor.exec(`DELETE FROM ${serverTableName} WHERE ${primaryWhere}`, primaryValues, {
160
+ table: (_table_serverName1 = table.serverName) !== null && _table_serverName1 !== void 0 ? _table_serverName1 : table.name,
161
+ publicTable: tableName,
162
+ kind
163
+ });
164
+ return;
165
+ }
166
+ var columnNames = Object.keys(values);
167
+ if (columnNames.length === 0) {
168
+ throw new Error(`${tableName}.${kind} has no values`);
169
+ }
170
+ var serverColumns = columnNames.map(function (columnName2) {
171
+ return quoteSQLiteIdentifier(serverColumn(table, columnName2));
172
+ });
173
+ var params = columnNames.map(function (columnName2) {
174
+ return encodeColumn(options, tableName, columnName2, values[columnName2]);
175
+ });
176
+ var insert = `INSERT INTO ${serverTableName} (${serverColumns.join(", ")}) VALUES (${columnNames.map(function () {
177
+ return "?";
178
+ }).join(", ")})`;
179
+ if (kind === "insert") {
180
+ var _table_serverName2;
181
+ await executor.exec(insert, params, {
182
+ table: (_table_serverName2 = table.serverName) !== null && _table_serverName2 !== void 0 ? _table_serverName2 : table.name,
183
+ publicTable: tableName,
184
+ kind
185
+ });
186
+ return;
187
+ }
188
+ if (kind === "upsert") {
189
+ var mutableColumns = columnNames.filter(function (columnName2) {
190
+ return !table.primaryKey.includes(columnName2);
191
+ });
192
+ var conflictColumns = table.primaryKey.map(function (columnName2) {
193
+ return quoteSQLiteIdentifier(serverColumn(table, columnName2));
194
+ }).join(", ");
195
+ var conflictAction = mutableColumns.length === 0 ? "DO NOTHING" : `DO UPDATE SET ${mutableColumns.map(function (columnName2) {
196
+ var column = quoteSQLiteIdentifier(serverColumn(table, columnName2));
197
+ return `${column} = excluded.${column}`;
198
+ }).join(", ")}`;
199
+ var _table_serverName3;
200
+ await executor.exec(`${insert} ON CONFLICT (${conflictColumns}) ${conflictAction}`, params, {
201
+ table: (_table_serverName3 = table.serverName) !== null && _table_serverName3 !== void 0 ? _table_serverName3 : table.name,
202
+ publicTable: tableName,
203
+ kind
204
+ });
205
+ return;
206
+ }
207
+ var mutableColumns1 = columnNames.filter(function (columnName2) {
208
+ return !table.primaryKey.includes(columnName2);
209
+ });
210
+ if (mutableColumns1.length === 0) return;
211
+ var _table_serverName4;
212
+ await executor.exec(`UPDATE ${serverTableName} SET ${mutableColumns1.map(function (columnName2) {
213
+ return `${quoteSQLiteIdentifier(serverColumn(table, columnName2))} = ?`;
214
+ }).join(", ")} WHERE ${primaryWhere}`, [...mutableColumns1.map(function (columnName2) {
215
+ return encodeColumn(options, tableName, columnName2, values[columnName2]);
216
+ }), ...primaryValues], {
217
+ table: (_table_serverName4 = table.serverName) !== null && _table_serverName4 !== void 0 ? _table_serverName4 : table.name,
218
+ publicTable: tableName,
219
+ kind
220
+ });
221
+ }
222
+ function serverColumn(table, columnName) {
223
+ var column = table.columns[columnName];
224
+ if (!column) throw new Error(`unknown SQLite column ${table.name}.${columnName}`);
225
+ var _column_serverName;
226
+ return (_column_serverName = column.serverName) !== null && _column_serverName !== void 0 ? _column_serverName : columnName;
227
+ }
228
+ function encodeColumn(options, tableName, columnName, value) {
229
+ return options.encodeValue(value, {
230
+ column: options.schema.tables[tableName].columns[columnName],
231
+ columnName,
232
+ tableName
233
+ });
234
+ }
235
+ function createLegacyQueryBuilder(schema, run) {
236
+ var builder = createBuilder(schema);
237
+ return new Proxy(builder, {
238
+ get(target, property) {
239
+ return makeRunnableQuery(Reflect.get(target, property, target), run);
240
+ }
241
+ });
242
+ }
243
+ function makeRunnableQuery(query, run) {
244
+ if (!isQueryBuilder(query)) return query;
245
+ return new Proxy(query, {
246
+ get(target, property) {
247
+ if (property === "run") return function () {
248
+ return run(target);
249
+ };
250
+ if (property === "materialize" || property === "preload") {
251
+ return function () {
252
+ throw new Error(`${String(property)}() is not supported in server transactions`);
253
+ };
254
+ }
255
+ var value = Reflect.get(target, property, target);
256
+ if (typeof value !== "function") return value;
257
+ return function () {
258
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
259
+ args[_key] = arguments[_key];
260
+ }
261
+ return makeRunnableQuery(Reflect.apply(value, target, args), run);
262
+ };
263
+ }
264
+ });
265
+ }
266
+ function isQueryBuilder(value) {
267
+ if (!value || (typeof value === "undefined" ? "undefined" : _type_of(value)) !== "object") return false;
268
+ try {
269
+ asQueryInternals(value);
270
+ return true;
271
+ } catch (e) {
272
+ return false;
273
+ }
274
+ }
275
+ function createLedgerHooks(options, executor, ensureLedger, input) {
276
+ var _input_upstreamSchema;
277
+ var upstreamSchema = (_input_upstreamSchema = input === null || input === void 0 ? void 0 : input.upstreamSchema) !== null && _input_upstreamSchema !== void 0 ? _input_upstreamSchema : "";
278
+ var _input_clientGroupID;
279
+ var clientGroupID = (_input_clientGroupID = input === null || input === void 0 ? void 0 : input.clientGroupID) !== null && _input_clientGroupID !== void 0 ? _input_clientGroupID : "";
280
+ var _input_clientID;
281
+ var clientID = (_input_clientID = input === null || input === void 0 ? void 0 : input.clientID) !== null && _input_clientID !== void 0 ? _input_clientID : "";
282
+ var tables = options.ledgerTables(upstreamSchema);
283
+ var clientsTable = quoteSQLiteIdentifier(tables.clients);
284
+ var mutationsTable = quoteSQLiteIdentifier(tables.mutations);
285
+ return {
286
+ async updateClientMutationID() {
287
+ var _rows_;
288
+ await ensureLedger(upstreamSchema);
289
+ var rows = await executor.query(`INSERT INTO ${clientsTable}
290
+ (clientGroupID, clientID, lastMutationID)
291
+ VALUES (?, ?, 1)
292
+ ON CONFLICT (clientGroupID, clientID)
293
+ DO UPDATE SET lastMutationID = lastMutationID + 1
294
+ RETURNING lastMutationID`, [clientGroupID, clientID]);
295
+ var lastMutationID = (_rows_ = rows[0]) === null || _rows_ === void 0 ? void 0 : _rows_.lastMutationID;
296
+ if (typeof lastMutationID !== "number" && (typeof lastMutationID === "undefined" ? "undefined" : _type_of(lastMutationID)) !== "bigint") {
297
+ throw new Error("SQLite mutation ledger returned no lastMutationID");
298
+ }
299
+ return {
300
+ lastMutationID
301
+ };
302
+ },
303
+ async writeMutationResult(result) {
304
+ await ensureLedger(upstreamSchema);
305
+ await executor.exec(`INSERT INTO ${mutationsTable}
306
+ (clientGroupID, clientID, mutationID, result)
307
+ VALUES (?, ?, ?, ?)`, [clientGroupID, result.id.clientID, result.id.id, JSON.stringify(result.result)]);
308
+ },
309
+ async deleteMutationResults(args) {
310
+ await ensureLedger(upstreamSchema);
311
+ if ("type" in args && args.type === "bulk") {
312
+ if (args.clientIDs.length === 0) return;
313
+ await executor.exec(`DELETE FROM ${mutationsTable}
314
+ WHERE clientGroupID = ?
315
+ AND clientID IN (${args.clientIDs.map(function () {
316
+ return "?";
317
+ }).join(", ")})`, [args.clientGroupID, ...args.clientIDs]);
318
+ return;
319
+ }
320
+ await executor.exec(`DELETE FROM ${mutationsTable}
321
+ WHERE clientGroupID = ?
322
+ AND clientID = ?
323
+ AND mutationID <= ?`, [args.clientGroupID, args.clientID, args.upToMutationID]);
324
+ }
325
+ };
326
+ }
327
+ async function persistAlreadyProcessedMutationResults(options, param) {
328
+ var {
329
+ clientGroupID,
330
+ mutations,
331
+ upstreamSchema
332
+ } = param;
333
+ var tables = options.ledgerTables(upstreamSchema);
334
+ var table = quoteSQLiteIdentifier(tables.mutations);
335
+ var key = ledgerKey(tables);
336
+ await options.transactionProvider(async function (executor) {
337
+ if (!options.initializedLedgers.has(key)) {
338
+ await createLedgerTables(executor, tables);
339
+ }
340
+ var _iteratorNormalCompletion = true,
341
+ _didIteratorError = false,
342
+ _iteratorError = void 0;
343
+ try {
344
+ for (var _iterator = mutations[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
345
+ var mutation = _step.value;
346
+ await executor.exec(`INSERT INTO ${table}
347
+ (clientGroupID, clientID, mutationID, result)
348
+ VALUES (?, ?, ?, ?)
349
+ ON CONFLICT (clientGroupID, clientID, mutationID) DO NOTHING`, [clientGroupID, mutation.id.clientID, mutation.id.id, JSON.stringify(mutation.result)]);
350
+ }
351
+ } catch (err) {
352
+ _didIteratorError = true;
353
+ _iteratorError = err;
354
+ } finally {
355
+ try {
356
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
357
+ _iterator.return();
358
+ }
359
+ } finally {
360
+ if (_didIteratorError) {
361
+ throw _iteratorError;
362
+ }
363
+ }
364
+ }
365
+ });
366
+ options.initializedLedgers.add(key);
367
+ }
368
+ async function createLedgerTables(executor, tables) {
369
+ await executor.exec(`CREATE TABLE IF NOT EXISTS ${quoteSQLiteIdentifier(tables.clients)} (
370
+ clientGroupID TEXT NOT NULL,
371
+ clientID TEXT NOT NULL,
372
+ lastMutationID INTEGER NOT NULL,
373
+ PRIMARY KEY (clientGroupID, clientID)
374
+ )`);
375
+ await executor.exec(`CREATE TABLE IF NOT EXISTS ${quoteSQLiteIdentifier(tables.mutations)} (
376
+ clientGroupID TEXT NOT NULL,
377
+ clientID TEXT NOT NULL,
378
+ mutationID INTEGER NOT NULL,
379
+ result TEXT NOT NULL,
380
+ PRIMARY KEY (clientGroupID, clientID, mutationID)
381
+ )`);
382
+ }
383
+ function ledgerKey(tables) {
384
+ return `${tables.clients}\0${tables.mutations}`;
385
+ }
386
+ function defaultLedgerTables(upstreamSchema) {
387
+ var prefix = upstreamSchema ? `${upstreamSchema}_` : "";
388
+ return {
389
+ clients: `${prefix}clients`,
390
+ mutations: `${prefix}mutations`
391
+ };
392
+ }
393
+ function encodeSQLiteValue(value, param) {
394
+ var {
395
+ column
396
+ } = param;
397
+ if (value === null) return null;
398
+ if (column.type === "boolean") return value ? 1 : 0;
399
+ if (column.type === "json") return JSON.stringify(value);
400
+ return value;
401
+ }
402
+ function quoteSQLiteIdentifier(value) {
403
+ return `"${value.replaceAll('"', '""')}"`;
404
+ }
405
+ export { createSQLiteDatabase, createZeroSQLiteTransaction, defaultLedgerTables, encodeSQLiteValue, persistAlreadyProcessedMutationResults };
406
+ //# sourceMappingURL=sqliteRuntime.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createBuilder","asQueryInternals","_type_of","obj","Symbol","constructor","createSQLiteDatabase","options","transaction","callback","input","committedLedgers","Set","value","transactionProvider","executor","attemptLedgers","ensureLedger","upstreamSchema","tables","ledgerTables","key2","ledgerKey","initializedLedgers","has","createLedgerTables","add","createZeroSQLiteTransaction","result","createLedgerHooks","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","key","err","return","_options_encodeValue","transactionOptions","encodeValue","encodeSQLiteValue","schema","_input_clientID","clientID","_input_mutationID","mutationID","mutate","Proxy","get","_target","tableKey","tableName","String","Error","_innerTarget","kindKey","kind","isCrudKind","executeCrud","runQuery","ast","format","queryName","Promise","resolve","queryAst","dbTransaction","wrappedTransaction","query","sql","args","location","enableLegacyQueries","createLegacyQueryBuilder","_internals_customQueryID","internals","customQueryID","name","reason","run","raw","Array","isArray","table","values","Object","fromEntries","entries","filter","param","keys","columnName","columns","primaryValues","primaryKey","map","columnName2","encodeColumn","primaryWhere","quoteSQLiteIdentifier","serverColumn","join","_table_serverName","serverTableName","serverName","_table_serverName1","exec","publicTable","columnNames","length","serverColumns","params","insert","_table_serverName2","mutableColumns","includes","conflictColumns","conflictAction","column","_table_serverName3","mutableColumns1","_table_serverName4","_column_serverName","builder","target","property","makeRunnableQuery","Reflect","isQueryBuilder","_len","arguments","_key","apply","e","_input_upstreamSchema","_input_clientGroupID","clientGroupID","clientsTable","clients","mutationsTable","mutations","updateClientMutationID","_rows_","rows","lastMutationID","writeMutationResult","id","JSON","stringify","deleteMutationResults","type","clientIDs"],"sources":["../../src/sqliteRuntime.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  import { asQueryInternals } from "@rocicorp/zero/bindings";
2
2
  import { createPermissions } from "./createPermissions.mjs";
3
- import { resolveServerQuery } from "./createZeroServerCore.mjs";
4
- import { createZeroSQLiteServer, createZeroSQLiteTransaction } from "./createZeroSQLiteServer.mjs";
3
+ import { createZeroDirectServer, resolveServerQuery } from "./createZeroDirectServer.mjs";
4
+ import { createSQLiteDatabase, createZeroSQLiteTransaction, defaultLedgerTables, encodeSQLiteValue } from "./sqliteRuntime.mjs";
5
5
  import { createMutators } from "./helpers/createMutators.mjs";
6
6
  import { runWithAuthScope } from "./helpers/mutatorContext.mjs";
7
7
  import { runWithQueryContext } from "./helpers/queryContext.mjs";
@@ -67,10 +67,17 @@ function createZeroSyncHostAdapter({
67
67
  }
68
68
  }
69
69
  mutators._zero_cleanupResults = async () => {};
70
- const direct = createZeroSQLiteServer({
70
+ const transactionProvider = work => transaction(executor => work(toSQLiteExecutor(executor)));
71
+ const directDatabaseOptions = {
72
+ encodeValue: encodeValue ?? encodeSQLiteValue,
73
+ initializedLedgers: /* @__PURE__ */new Set(),
74
+ ledgerTables: defaultLedgerTables,
75
+ schema: options.schema,
76
+ transactionProvider
77
+ };
78
+ const direct = createZeroDirectServer({
71
79
  ...options,
72
- encodeValue,
73
- transactionProvider: work => transaction(executor => work(toSQLiteExecutor(executor)))
80
+ createDatabase: () => createSQLiteDatabase(directDatabaseOptions)
74
81
  });
75
82
  return {
76
83
  mutators: Object.freeze(mutators),
@@ -106,8 +113,8 @@ function defaultMapAuthData(claims) {
106
113
  }
107
114
  function toSQLiteExecutor(executor) {
108
115
  return {
109
- exec(sql, params) {
110
- return executor.exec(sql, params);
116
+ exec(sql, params, metadata) {
117
+ return executor.exec(sql, params, metadata);
111
118
  },
112
119
  query(sql, params) {
113
120
  return executor.query(sql, params);
@@ -1 +1 @@
1
- {"version":3,"names":["asQueryInternals","createPermissions","resolveServerQuery","createZeroSQLiteServer","createZeroSQLiteTransaction","createMutators","runWithAuthScope","runWithQueryContext","setEnvironment","setSchema","MutationApplicationError","Error","constructor","details","message","name","createZeroSyncHostAdapter","encodeValue","mapAuthData","defaultMapAuthData","transaction","options","schema","permissions","environment","adminRoleMode","defaultAllowAdminRole","transactionOptions","mutators","modelName","model","Object","entries","models","mutatorName","keys","mutate","executor","args","context","authData","claims","asyncTasks","modelMutators","can","createServerActions","mutationValidators","mutations","validateMutation","mutation","mutationID","numericMutationID","onZeroTransaction","toSQLiteExecutor","clientGroupID","clientID","upstreamSchema","error","asMutationApplicationError","task","defer","_zero_cleanupResults","direct","transactionProvider","work","freeze","resolveQuery","queries","query","validateQuery","ast","server","id","userID","exec","sql","params","queryAst","format","queryName","value","numeric","Number","isSafeInteger","TypeError","String","applicationError","stack"],"sources":["../../src/syncHost.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["asQueryInternals","createPermissions","createZeroDirectServer","resolveServerQuery","createSQLiteDatabase","createZeroSQLiteTransaction","defaultLedgerTables","encodeSQLiteValue","createMutators","runWithAuthScope","runWithQueryContext","setEnvironment","setSchema","MutationApplicationError","Error","constructor","details","message","name","createZeroSyncHostAdapter","encodeValue","mapAuthData","defaultMapAuthData","transaction","options","schema","permissions","environment","adminRoleMode","defaultAllowAdminRole","transactionOptions","mutators","modelName","model","Object","entries","models","mutatorName","keys","mutate","executor","args","context","authData","claims","asyncTasks","modelMutators","can","createServerActions","mutationValidators","mutations","validateMutation","mutation","mutationID","numericMutationID","onZeroTransaction","toSQLiteExecutor","clientGroupID","clientID","upstreamSchema","error","asMutationApplicationError","task","defer","_zero_cleanupResults","transactionProvider","work","directDatabaseOptions","initializedLedgers","Set","ledgerTables","direct","createDatabase","freeze","resolveQuery","queries","query","validateQuery","ast","server","id","userID","exec","sql","params","metadata","queryAst","format","queryName","value","numeric","Number","isSafeInteger","TypeError","String","applicationError","stack"],"sources":["../../src/syncHost.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  import { asQueryInternals } from "@rocicorp/zero/bindings";
2
2
  import { createPermissions } from "./createPermissions.native.js";
3
- import { resolveServerQuery } from "./createZeroServerCore.native.js";
4
- import { createZeroSQLiteServer, createZeroSQLiteTransaction } from "./createZeroSQLiteServer.native.js";
3
+ import { createZeroDirectServer, resolveServerQuery } from "./createZeroDirectServer.native.js";
4
+ import { createSQLiteDatabase, createZeroSQLiteTransaction, defaultLedgerTables, encodeSQLiteValue } from "./sqliteRuntime.native.js";
5
5
  import { createMutators } from "./helpers/createMutators.native.js";
6
6
  import { runWithAuthScope } from "./helpers/mutatorContext.native.js";
7
7
  import { runWithQueryContext } from "./helpers/queryContext.native.js";
@@ -265,13 +265,22 @@ function createZeroSyncHostAdapter(param) {
265
265
  }
266
266
  }
267
267
  mutators._zero_cleanupResults = async function () {};
268
- var direct = createZeroSQLiteServer({
268
+ var transactionProvider = function (work) {
269
+ return transaction(function (executor) {
270
+ return work(toSQLiteExecutor(executor));
271
+ });
272
+ };
273
+ var directDatabaseOptions = {
274
+ encodeValue: encodeValue !== null && encodeValue !== void 0 ? encodeValue : encodeSQLiteValue,
275
+ initializedLedgers: /* @__PURE__ */new Set(),
276
+ ledgerTables: defaultLedgerTables,
277
+ schema: options.schema,
278
+ transactionProvider
279
+ };
280
+ var direct = createZeroDirectServer({
269
281
  ...options,
270
- encodeValue,
271
- transactionProvider: function (work) {
272
- return transaction(function (executor) {
273
- return work(toSQLiteExecutor(executor));
274
- });
282
+ createDatabase: function () {
283
+ return createSQLiteDatabase(directDatabaseOptions);
275
284
  }
276
285
  });
277
286
  return {
@@ -310,8 +319,8 @@ function defaultMapAuthData(claims) {
310
319
  }
311
320
  function toSQLiteExecutor(executor) {
312
321
  return {
313
- exec(sql, params) {
314
- return executor.exec(sql, params);
322
+ exec(sql, params, metadata) {
323
+ return executor.exec(sql, params, metadata);
315
324
  },
316
325
  query(sql, params) {
317
326
  return executor.query(sql, params);
@@ -1 +1 @@
1
- {"version":3,"names":["asQueryInternals","createPermissions","resolveServerQuery","createZeroSQLiteServer","createZeroSQLiteTransaction","createMutators","runWithAuthScope","runWithQueryContext","setEnvironment","setSchema","_assert_this_initialized","self","ReferenceError","_call_super","_this","derived","args","_get_prototype_of","_possible_constructor_return","_is_native_reflect_construct","Reflect","construct","constructor","apply","_class_call_check","instance","Constructor","TypeError","_construct","Parent","Class","Parent2","args2","Class2","a","push","Function","bind","_set_prototype_of","prototype","arguments","_define_property","obj","key","value","Object","defineProperty","enumerable","configurable","writable","o","setPrototypeOf","getPrototypeOf","o2","__proto__","_inherits","subClass","superClass","create","_instanceof","left","right","Symbol","hasInstance","_is_native_function","fn","toString","call","indexOf","_type_of","p","p2","_wrap_native_super","_cache","Map","wrapNativeSuper","has","get","set","Wrapper","result","Boolean","valueOf","_","MutationApplicationError","Error1","MutationApplicationError2","details","message","length","name","Error","createZeroSyncHostAdapter","param","encodeValue","mapAuthData","defaultMapAuthData","transaction","options"],"sources":["../../src/syncHost.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["asQueryInternals","createPermissions","createZeroDirectServer","resolveServerQuery","createSQLiteDatabase","createZeroSQLiteTransaction","defaultLedgerTables","encodeSQLiteValue","createMutators","runWithAuthScope","runWithQueryContext","setEnvironment","setSchema","_assert_this_initialized","self","ReferenceError","_call_super","_this","derived","args","_get_prototype_of","_possible_constructor_return","_is_native_reflect_construct","Reflect","construct","constructor","apply","_class_call_check","instance","Constructor","TypeError","_construct","Parent","Class","Parent2","args2","Class2","a","push","Function","bind","_set_prototype_of","prototype","arguments","_define_property","obj","key","value","Object","defineProperty","enumerable","configurable","writable","o","setPrototypeOf","getPrototypeOf","o2","__proto__","_inherits","subClass","superClass","create","_instanceof","left","right","Symbol","hasInstance","_is_native_function","fn","toString","call","indexOf","_type_of","p","p2","_wrap_native_super","_cache","Map","wrapNativeSuper","has","get","set","Wrapper","result","Boolean","valueOf","_","MutationApplicationError","Error1","MutationApplicationError2","details","message","length","name","Error","createZeroSyncHostAdapter","param","encodeValue","mapAuthData","defaultMapAuthData","transaction","options","schema","_options_defaultAllowAdminRole","permissions","environment","adminRoleMode","defaultAllowAdminRole","transactionOptions"],"sources":["../../src/syncHost.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -20,12 +20,18 @@ describe("createZeroSyncHostAdapter", () => {
20
20
  let executor;
21
21
  let transaction;
22
22
  let lastQueryFormat;
23
+ let statements;
23
24
  beforeEach(() => {
24
25
  db = new DatabaseSync(":memory:");
25
26
  db.exec("CREATE TABLE project (id TEXT PRIMARY KEY, ownerId TEXT NOT NULL, name TEXT NOT NULL)");
27
+ statements = [];
26
28
  executor = {
27
- exec(sql, params = []) {
28
- db.prepare(sql).run(...params);
29
+ exec(sql, params = [], metadata) {
30
+ if (metadata) statements.push(metadata);
31
+ const result = db.prepare(sql).run(...params);
32
+ return {
33
+ changes: Number(result.changes)
34
+ };
29
35
  },
30
36
  query(sql, params = []) {
31
37
  return db.prepare(sql).all(...params);
@@ -101,6 +107,11 @@ describe("createZeroSyncHostAdapter", () => {
101
107
  }]);
102
108
  expect(validatedAuthID).toBe("u1");
103
109
  expect(effectAuthID).toBe("u1");
110
+ expect(statements).toEqual([{
111
+ table: "project",
112
+ publicTable: "project",
113
+ kind: "insert"
114
+ }]);
104
115
  });
105
116
  test("returns a structural application error and drops rolled-back effects", async () => {
106
117
  let effectRuns = 0;