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
@@ -19,27 +19,22 @@ var __copyProps = (to, from, except, desc) => {
19
19
  }
20
20
  return to;
21
21
  };
22
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
22
23
  var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
24
  value: true
24
25
  }), mod);
25
26
  var createZeroSQLiteServer_exports = {};
26
27
  __export(createZeroSQLiteServer_exports, {
27
- createZeroSQLiteServer: () => createZeroSQLiteServer,
28
- createZeroSQLiteTransaction: () => createZeroSQLiteTransaction
28
+ createZeroSQLiteServer: () => createZeroSQLiteServer
29
29
  });
30
30
  module.exports = __toCommonJS(createZeroSQLiteServer_exports);
31
- var import_zero = require("@rocicorp/zero");
32
- var import_bindings = require("@rocicorp/zero/bindings");
33
31
  var import_createZeroServerCore = require("./createZeroServerCore.native.js");
34
- function _type_of(obj) {
35
- "@swc/helpers - typeof";
36
-
37
- return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
38
- }
32
+ var import_sqliteRuntime = require("./sqliteRuntime.native.js");
33
+ __reExport(createZeroSQLiteServer_exports, require("./sqliteRuntime.native.js"), module.exports);
39
34
  function createZeroSQLiteServer(param) {
40
35
  var {
41
- encodeValue = encodeSQLiteValue,
42
- ledgerTables = defaultLedgerTables,
36
+ encodeValue = import_sqliteRuntime.encodeSQLiteValue,
37
+ ledgerTables = import_sqliteRuntime.defaultLedgerTables,
43
38
  transactionProvider,
44
39
  ...options
45
40
  } = param;
@@ -53,388 +48,11 @@ function createZeroSQLiteServer(param) {
53
48
  return (0, import_createZeroServerCore.createZeroServerCore)({
54
49
  ...options,
55
50
  createDatabase: function () {
56
- return createSQLiteDatabase(databaseOptions);
51
+ return (0, import_sqliteRuntime.createSQLiteDatabase)(databaseOptions);
57
52
  },
58
53
  persistAlreadyProcessed: function (args) {
59
- return persistAlreadyProcessedMutationResults(databaseOptions, args);
60
- }
61
- });
62
- }
63
- function createSQLiteDatabase(options) {
64
- return {
65
- async transaction(callback, input) {
66
- var committedLedgers = /* @__PURE__ */new Set();
67
- var value = await options.transactionProvider(async function (executor) {
68
- var attemptLedgers = /* @__PURE__ */new Set();
69
- var ensureLedger = async function (upstreamSchema) {
70
- var tables = options.ledgerTables(upstreamSchema);
71
- var key2 = ledgerKey(tables);
72
- if (options.initializedLedgers.has(key2) || attemptLedgers.has(key2)) {
73
- return;
74
- }
75
- await createLedgerTables(executor, tables);
76
- attemptLedgers.add(key2);
77
- };
78
- var transaction = createZeroSQLiteTransaction(options, executor, input);
79
- var result = await callback(transaction, createLedgerHooks(options, executor, ensureLedger, input));
80
- committedLedgers = attemptLedgers;
81
- return result;
82
- });
83
- var _iteratorNormalCompletion = true,
84
- _didIteratorError = false,
85
- _iteratorError = void 0;
86
- try {
87
- for (var _iterator = committedLedgers[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
88
- var key = _step.value;
89
- options.initializedLedgers.add(key);
90
- }
91
- } catch (err) {
92
- _didIteratorError = true;
93
- _iteratorError = err;
94
- } finally {
95
- try {
96
- if (!_iteratorNormalCompletion && _iterator.return != null) {
97
- _iterator.return();
98
- }
99
- } finally {
100
- if (_didIteratorError) {
101
- throw _iteratorError;
102
- }
103
- }
104
- }
105
- return value;
106
- }
107
- };
108
- }
109
- function createZeroSQLiteTransaction(options, executor, input) {
110
- var _options_encodeValue;
111
- var transactionOptions = {
112
- encodeValue: (_options_encodeValue = options.encodeValue) !== null && _options_encodeValue !== void 0 ? _options_encodeValue : encodeSQLiteValue,
113
- schema: options.schema
114
- };
115
- var _input_clientID;
116
- var clientID = (_input_clientID = input === null || input === void 0 ? void 0 : input.clientID) !== null && _input_clientID !== void 0 ? _input_clientID : "";
117
- var _input_mutationID;
118
- var mutationID = (_input_mutationID = input === null || input === void 0 ? void 0 : input.mutationID) !== null && _input_mutationID !== void 0 ? _input_mutationID : 0;
119
- var mutate = new Proxy({}, {
120
- get(_target, tableKey) {
121
- var tableName = String(tableKey);
122
- if (!options.schema.tables[tableName]) {
123
- throw new Error(`unknown SQLite mutation table ${tableName}`);
124
- }
125
- return new Proxy({}, {
126
- get(_innerTarget, kindKey) {
127
- var kind = String(kindKey);
128
- if (!isCrudKind(kind)) return;
129
- return function (value) {
130
- return executeCrud(transactionOptions, executor, tableName, kind, value);
131
- };
132
- }
133
- });
134
- }
135
- });
136
- var runQuery = function (ast, format, queryName) {
137
- return Promise.resolve(executor.queryAst(ast, format, queryName));
138
- };
139
- var dbTransaction = {
140
- wrappedTransaction: executor,
141
- query: function (sql, args) {
142
- return executor.query(sql, args);
143
- },
144
- runQuery
145
- };
146
- return {
147
- clientID,
148
- dbTransaction,
149
- location: "server",
150
- mutate,
151
- mutationID,
152
- query: transactionOptions.schema.enableLegacyQueries ? createLegacyQueryBuilder(transactionOptions.schema, function (query) {
153
- var _internals_customQueryID;
154
- var internals = (0, import_bindings.asQueryInternals)(query);
155
- return runQuery(internals.ast, internals.format, (_internals_customQueryID = internals.customQueryID) === null || _internals_customQueryID === void 0 ? void 0 : _internals_customQueryID.name);
156
- }) : void 0,
157
- reason: "authoritative",
158
- async run(query) {
159
- var _internals_customQueryID;
160
- var internals = (0, import_bindings.asQueryInternals)(query);
161
- return runQuery(internals.ast, internals.format, (_internals_customQueryID = internals.customQueryID) === null || _internals_customQueryID === void 0 ? void 0 : _internals_customQueryID.name);
162
- }
163
- };
164
- }
165
- function isCrudKind(value) {
166
- return value === "delete" || value === "insert" || value === "update" || value === "upsert";
167
- }
168
- async function executeCrud(options, executor, tableName, kind, raw) {
169
- if (!raw || (typeof raw === "undefined" ? "undefined" : _type_of(raw)) !== "object" || Array.isArray(raw)) {
170
- throw new Error(`${tableName}.${kind} expects an object`);
171
- }
172
- var table = options.schema.tables[tableName];
173
- var values = Object.fromEntries(Object.entries(raw).filter(function (param) {
174
- var [, value] = param;
175
- return value !== void 0;
176
- }));
177
- var _iteratorNormalCompletion = true,
178
- _didIteratorError = false,
179
- _iteratorError = void 0;
180
- try {
181
- for (var _iterator = Object.keys(values)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
182
- var columnName = _step.value;
183
- if (!table.columns[columnName]) {
184
- throw new Error(`unknown SQLite column ${tableName}.${columnName}`);
185
- }
186
- }
187
- } catch (err) {
188
- _didIteratorError = true;
189
- _iteratorError = err;
190
- } finally {
191
- try {
192
- if (!_iteratorNormalCompletion && _iterator.return != null) {
193
- _iterator.return();
194
- }
195
- } finally {
196
- if (_didIteratorError) {
197
- throw _iteratorError;
198
- }
199
- }
200
- }
201
- var primaryValues = table.primaryKey.map(function (columnName2) {
202
- if (!(columnName2 in values)) {
203
- throw new Error(`${tableName}.${kind} is missing primary key ${columnName2}`);
204
- }
205
- return encodeColumn(options, tableName, columnName2, values[columnName2]);
206
- });
207
- var primaryWhere = table.primaryKey.map(function (columnName2) {
208
- return `${quoteSQLiteIdentifier(serverColumn(table, columnName2))} = ?`;
209
- }).join(" AND ");
210
- var _table_serverName;
211
- var serverTableName = quoteSQLiteIdentifier((_table_serverName = table.serverName) !== null && _table_serverName !== void 0 ? _table_serverName : table.name);
212
- if (kind === "delete") {
213
- await executor.exec(`DELETE FROM ${serverTableName} WHERE ${primaryWhere}`, primaryValues);
214
- return;
215
- }
216
- var columnNames = Object.keys(values);
217
- if (columnNames.length === 0) {
218
- throw new Error(`${tableName}.${kind} has no values`);
219
- }
220
- var serverColumns = columnNames.map(function (columnName2) {
221
- return quoteSQLiteIdentifier(serverColumn(table, columnName2));
222
- });
223
- var params = columnNames.map(function (columnName2) {
224
- return encodeColumn(options, tableName, columnName2, values[columnName2]);
225
- });
226
- var insert = `INSERT INTO ${serverTableName} (${serverColumns.join(", ")}) VALUES (${columnNames.map(function () {
227
- return "?";
228
- }).join(", ")})`;
229
- if (kind === "insert") {
230
- await executor.exec(insert, params);
231
- return;
232
- }
233
- if (kind === "upsert") {
234
- var mutableColumns = columnNames.filter(function (columnName2) {
235
- return !table.primaryKey.includes(columnName2);
236
- });
237
- var conflictColumns = table.primaryKey.map(function (columnName2) {
238
- return quoteSQLiteIdentifier(serverColumn(table, columnName2));
239
- }).join(", ");
240
- var conflictAction = mutableColumns.length === 0 ? "DO NOTHING" : `DO UPDATE SET ${mutableColumns.map(function (columnName2) {
241
- var column = quoteSQLiteIdentifier(serverColumn(table, columnName2));
242
- return `${column} = excluded.${column}`;
243
- }).join(", ")}`;
244
- await executor.exec(`${insert} ON CONFLICT (${conflictColumns}) ${conflictAction}`, params);
245
- return;
246
- }
247
- var mutableColumns1 = columnNames.filter(function (columnName2) {
248
- return !table.primaryKey.includes(columnName2);
249
- });
250
- if (mutableColumns1.length === 0) return;
251
- await executor.exec(`UPDATE ${serverTableName} SET ${mutableColumns1.map(function (columnName2) {
252
- return `${quoteSQLiteIdentifier(serverColumn(table, columnName2))} = ?`;
253
- }).join(", ")} WHERE ${primaryWhere}`, [...mutableColumns1.map(function (columnName2) {
254
- return encodeColumn(options, tableName, columnName2, values[columnName2]);
255
- }), ...primaryValues]);
256
- }
257
- function serverColumn(table, columnName) {
258
- var column = table.columns[columnName];
259
- if (!column) throw new Error(`unknown SQLite column ${table.name}.${columnName}`);
260
- var _column_serverName;
261
- return (_column_serverName = column.serverName) !== null && _column_serverName !== void 0 ? _column_serverName : columnName;
262
- }
263
- function encodeColumn(options, tableName, columnName, value) {
264
- return options.encodeValue(value, {
265
- column: options.schema.tables[tableName].columns[columnName],
266
- columnName,
267
- tableName
268
- });
269
- }
270
- function createLegacyQueryBuilder(schema, run) {
271
- var builder = (0, import_zero.createBuilder)(schema);
272
- return new Proxy(builder, {
273
- get(target, property) {
274
- return makeRunnableQuery(Reflect.get(target, property, target), run);
275
- }
276
- });
277
- }
278
- function makeRunnableQuery(query, run) {
279
- if (!isQueryBuilder(query)) return query;
280
- return new Proxy(query, {
281
- get(target, property) {
282
- if (property === "run") return function () {
283
- return run(target);
284
- };
285
- if (property === "materialize" || property === "preload") {
286
- return function () {
287
- throw new Error(`${String(property)}() is not supported in server transactions`);
288
- };
289
- }
290
- var value = Reflect.get(target, property, target);
291
- if (typeof value !== "function") return value;
292
- return function () {
293
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
294
- args[_key] = arguments[_key];
295
- }
296
- return makeRunnableQuery(Reflect.apply(value, target, args), run);
297
- };
298
- }
299
- });
300
- }
301
- function isQueryBuilder(value) {
302
- if (!value || (typeof value === "undefined" ? "undefined" : _type_of(value)) !== "object") return false;
303
- try {
304
- (0, import_bindings.asQueryInternals)(value);
305
- return true;
306
- } catch (e) {
307
- return false;
308
- }
309
- }
310
- function createLedgerHooks(options, executor, ensureLedger, input) {
311
- var _input_upstreamSchema;
312
- var upstreamSchema = (_input_upstreamSchema = input === null || input === void 0 ? void 0 : input.upstreamSchema) !== null && _input_upstreamSchema !== void 0 ? _input_upstreamSchema : "";
313
- var _input_clientGroupID;
314
- var clientGroupID = (_input_clientGroupID = input === null || input === void 0 ? void 0 : input.clientGroupID) !== null && _input_clientGroupID !== void 0 ? _input_clientGroupID : "";
315
- var _input_clientID;
316
- var clientID = (_input_clientID = input === null || input === void 0 ? void 0 : input.clientID) !== null && _input_clientID !== void 0 ? _input_clientID : "";
317
- var tables = options.ledgerTables(upstreamSchema);
318
- var clientsTable = quoteSQLiteIdentifier(tables.clients);
319
- var mutationsTable = quoteSQLiteIdentifier(tables.mutations);
320
- return {
321
- async updateClientMutationID() {
322
- var _rows_;
323
- await ensureLedger(upstreamSchema);
324
- var rows = await executor.query(`INSERT INTO ${clientsTable}
325
- (clientGroupID, clientID, lastMutationID)
326
- VALUES (?, ?, 1)
327
- ON CONFLICT (clientGroupID, clientID)
328
- DO UPDATE SET lastMutationID = lastMutationID + 1
329
- RETURNING lastMutationID`, [clientGroupID, clientID]);
330
- var lastMutationID = (_rows_ = rows[0]) === null || _rows_ === void 0 ? void 0 : _rows_.lastMutationID;
331
- if (typeof lastMutationID !== "number" && (typeof lastMutationID === "undefined" ? "undefined" : _type_of(lastMutationID)) !== "bigint") {
332
- throw new Error("SQLite mutation ledger returned no lastMutationID");
333
- }
334
- return {
335
- lastMutationID
336
- };
337
- },
338
- async writeMutationResult(result) {
339
- await ensureLedger(upstreamSchema);
340
- await executor.exec(`INSERT INTO ${mutationsTable}
341
- (clientGroupID, clientID, mutationID, result)
342
- VALUES (?, ?, ?, ?)`, [clientGroupID, result.id.clientID, result.id.id, JSON.stringify(result.result)]);
343
- },
344
- async deleteMutationResults(args) {
345
- await ensureLedger(upstreamSchema);
346
- if ("type" in args && args.type === "bulk") {
347
- if (args.clientIDs.length === 0) return;
348
- await executor.exec(`DELETE FROM ${mutationsTable}
349
- WHERE clientGroupID = ?
350
- AND clientID IN (${args.clientIDs.map(function () {
351
- return "?";
352
- }).join(", ")})`, [args.clientGroupID, ...args.clientIDs]);
353
- return;
354
- }
355
- await executor.exec(`DELETE FROM ${mutationsTable}
356
- WHERE clientGroupID = ?
357
- AND clientID = ?
358
- AND mutationID <= ?`, [args.clientGroupID, args.clientID, args.upToMutationID]);
359
- }
360
- };
361
- }
362
- async function persistAlreadyProcessedMutationResults(options, param) {
363
- var {
364
- clientGroupID,
365
- mutations,
366
- upstreamSchema
367
- } = param;
368
- var tables = options.ledgerTables(upstreamSchema);
369
- var table = quoteSQLiteIdentifier(tables.mutations);
370
- var key = ledgerKey(tables);
371
- await options.transactionProvider(async function (executor) {
372
- if (!options.initializedLedgers.has(key)) {
373
- await createLedgerTables(executor, tables);
374
- }
375
- var _iteratorNormalCompletion = true,
376
- _didIteratorError = false,
377
- _iteratorError = void 0;
378
- try {
379
- for (var _iterator = mutations[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
380
- var mutation = _step.value;
381
- await executor.exec(`INSERT INTO ${table}
382
- (clientGroupID, clientID, mutationID, result)
383
- VALUES (?, ?, ?, ?)
384
- ON CONFLICT (clientGroupID, clientID, mutationID) DO NOTHING`, [clientGroupID, mutation.id.clientID, mutation.id.id, JSON.stringify(mutation.result)]);
385
- }
386
- } catch (err) {
387
- _didIteratorError = true;
388
- _iteratorError = err;
389
- } finally {
390
- try {
391
- if (!_iteratorNormalCompletion && _iterator.return != null) {
392
- _iterator.return();
393
- }
394
- } finally {
395
- if (_didIteratorError) {
396
- throw _iteratorError;
397
- }
398
- }
54
+ return (0, import_sqliteRuntime.persistAlreadyProcessedMutationResults)(databaseOptions, args);
399
55
  }
400
56
  });
401
- options.initializedLedgers.add(key);
402
- }
403
- async function createLedgerTables(executor, tables) {
404
- await executor.exec(`CREATE TABLE IF NOT EXISTS ${quoteSQLiteIdentifier(tables.clients)} (
405
- clientGroupID TEXT NOT NULL,
406
- clientID TEXT NOT NULL,
407
- lastMutationID INTEGER NOT NULL,
408
- PRIMARY KEY (clientGroupID, clientID)
409
- )`);
410
- await executor.exec(`CREATE TABLE IF NOT EXISTS ${quoteSQLiteIdentifier(tables.mutations)} (
411
- clientGroupID TEXT NOT NULL,
412
- clientID TEXT NOT NULL,
413
- mutationID INTEGER NOT NULL,
414
- result TEXT NOT NULL,
415
- PRIMARY KEY (clientGroupID, clientID, mutationID)
416
- )`);
417
- }
418
- function ledgerKey(tables) {
419
- return `${tables.clients}\0${tables.mutations}`;
420
- }
421
- function defaultLedgerTables(upstreamSchema) {
422
- var prefix = upstreamSchema ? `${upstreamSchema}_` : "";
423
- return {
424
- clients: `${prefix}clients`,
425
- mutations: `${prefix}mutations`
426
- };
427
- }
428
- function encodeSQLiteValue(value, param) {
429
- var {
430
- column
431
- } = param;
432
- if (value === null) return null;
433
- if (column.type === "boolean") return value ? 1 : 0;
434
- if (column.type === "json") return JSON.stringify(value);
435
- return value;
436
- }
437
- function quoteSQLiteIdentifier(value) {
438
- return `"${value.replaceAll('"', '""')}"`;
439
57
  }
440
58
  //# sourceMappingURL=createZeroSQLiteServer.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createZeroSQLiteServer_exports","__export","createZeroSQLiteServer","createZeroSQLiteTransaction","module","exports","import_zero","require","import_bindings","import_createZeroServerCore","_type_of","obj","Symbol","constructor","param","encodeValue","encodeSQLiteValue","ledgerTables","defaultLedgerTables","transactionProvider","options","databaseOptions","initializedLedgers","Set","schema","createZeroServerCore","createDatabase","createSQLiteDatabase","persistAlreadyProcessed","args","persistAlreadyProcessedMutationResults","transaction","callback","input","committedLedgers","executor","attemptLedgers","ensureLedger","upstreamSchema","tables","key2","ledgerKey","has","createLedgerTables","add","result","createLedgerHooks","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","key","err","return","_options_encodeValue","transactionOptions","_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","location","enableLegacyQueries","createLegacyQueryBuilder","_internals_customQueryID","internals","asQueryInternals","customQueryID","name","reason","run","raw","Array","isArray","table","values","Object","fromEntries","entries","filter","keys","columnName","columns","primaryValues","primaryKey","map","columnName2","encodeColumn","primaryWhere","quoteSQLiteIdentifier","serverColumn","join","_table_serverName","serverTableName","serverName","exec","columnNames","length","serverColumns","params","insert","mutableColumns","includes","conflictColumns","conflictAction","column","mutableColumns1","_column_serverName","builder","createBuilder","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","upToMutationID"],"sources":["../../src/createZeroSQLiteServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createZeroSQLiteServer_exports","__export","createZeroSQLiteServer","module","exports","import_createZeroServerCore","require","import_sqliteRuntime","__reExport","param","encodeValue","encodeSQLiteValue","ledgerTables","defaultLedgerTables","transactionProvider","options","databaseOptions","initializedLedgers","Set","schema","createZeroServerCore","createDatabase","createSQLiteDatabase","persistAlreadyProcessed","args","persistAlreadyProcessedMutationResults"],"sources":["../../src/createZeroSQLiteServer.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,8BAAA;AAAAC,QAAA,CAAAD,8BAAA;EAAAE,sBAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAT,YAAA,CAAAK,8BAAqC;AACrC,IAAAK,2BAQO,GAAAC,OAAA;AA8CP,IAAAC,oBAAA,GAAAD,OAAA,4BAAc;AA9BPE,UAAS,CAAAR,8BAId,EAAAM,OAAA,+BAAAH,MAAA,CAAAC,OAAA;AAAA,SACAF,sBAAcA,CAAAO,KAAA;EACd;IAAAC,WAAe,GAAAH,oBAAA,CAAAI,iBAAA;IAAAC,YAAA,GAAAL,oBAAA,CAAAM,mBAAA;IAAAC,mBAAA;IAAA,GAAAC;EAAA,IAAAN,KAAA;EACf,IAAAO,eAAA;IACAN,WAAG;IAKHO,kBAAA,qBAAAC,GAAA;IACAN,YAAM;IACJO,MAAA,EAAAJ,OAAA,CAAAI,MAAA;IACAL;EAAoC;EACpC,OACA,IAAQT,2BAAQ,CAAAe,oBAAA;IAChB,GAAAL,OAAA;IACFM,cAAA,WAAAA,CAAA;MAEA,OAAO,IAAAd,oBAAA,CAAAe,oBAAA,EAAAN,eAAqB;IAC1B;IACAO,uBAAgB,WAAAA,CAAMC,IAAA;MACtB,WAAAjB,oBAA0B,CAAAkB,sCACxB,EAAAT,eAAA,EAAAQ,IAAA;IACH;EACH","ignoreList":[]}
@@ -94,13 +94,19 @@ function cleanupRequest() {
94
94
  let db;
95
95
  let retryNextTransaction;
96
96
  let transactionProvider;
97
+ let statements;
97
98
  (0, import_vitest.beforeEach)(() => {
98
99
  db = new import_node_sqlite.DatabaseSync(":memory:");
99
100
  db.exec(["CREATE TABLE project (id TEXT PRIMARY KEY, ownerId TEXT NOT NULL, name TEXT NOT NULL);", "CREATE TABLE note_records (note_id TEXT PRIMARY KEY, done INTEGER NOT NULL, data TEXT);"].join("\n"));
100
101
  retryNextTransaction = false;
102
+ statements = [];
101
103
  const executor = {
102
- async exec(sql, params = []) {
103
- db.prepare(sql).run(...params);
104
+ async exec(sql, params = [], metadata) {
105
+ if (metadata) statements.push(metadata);
106
+ const result = db.prepare(sql).run(...params);
107
+ return {
108
+ changes: Number(result.changes)
109
+ };
104
110
  },
105
111
  async query(sql, params = []) {
106
112
  return db.prepare(sql).all(...params);
@@ -378,6 +384,23 @@ function cleanupRequest() {
378
384
  id: "n1"
379
385
  });
380
386
  (0, import_vitest.expect)(db.prepare("SELECT * FROM note_records").all()).toEqual([]);
387
+ (0, import_vitest.expect)(statements).toEqual([{
388
+ table: "note_records",
389
+ publicTable: "note",
390
+ kind: "insert"
391
+ }, {
392
+ table: "note_records",
393
+ publicTable: "note",
394
+ kind: "upsert"
395
+ }, {
396
+ table: "note_records",
397
+ publicTable: "note",
398
+ kind: "update"
399
+ }, {
400
+ table: "note_records",
401
+ publicTable: "note",
402
+ kind: "delete"
403
+ }]);
381
404
  });
382
405
  (0, import_vitest.test)("decodes destination rows through a hidden two-hop junction", async () => {
383
406
  const server = (0, import_createZeroSQLiteServer.createZeroSQLiteServer)({
@@ -407,7 +430,11 @@ function cleanupRequest() {
407
430
  };
408
431
  let receivedQueryName;
409
432
  const hydratedExecutor = {
410
- async exec() {},
433
+ async exec() {
434
+ return {
435
+ changes: 0
436
+ };
437
+ },
411
438
  async query() {
412
439
  return [];
413
440
  },
@@ -99,14 +99,21 @@ function cleanupRequest() {
99
99
  var db;
100
100
  var retryNextTransaction;
101
101
  var transactionProvider;
102
+ var statements;
102
103
  (0, import_vitest.beforeEach)(function () {
103
104
  db = new import_node_sqlite.DatabaseSync(":memory:");
104
105
  db.exec(["CREATE TABLE project (id TEXT PRIMARY KEY, ownerId TEXT NOT NULL, name TEXT NOT NULL);", "CREATE TABLE note_records (note_id TEXT PRIMARY KEY, done INTEGER NOT NULL, data TEXT);"].join("\n"));
105
106
  retryNextTransaction = false;
107
+ statements = [];
106
108
  var executor = {
107
109
  async exec(sql) {
108
- var params = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];
109
- db.prepare(sql).run(...params);
110
+ var params = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [],
111
+ metadata = arguments.length > 2 ? arguments[2] : void 0;
112
+ if (metadata) statements.push(metadata);
113
+ var result = db.prepare(sql).run(...params);
114
+ return {
115
+ changes: Number(result.changes)
116
+ };
110
117
  },
111
118
  async query(sql) {
112
119
  var params = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];
@@ -404,6 +411,23 @@ function cleanupRequest() {
404
411
  id: "n1"
405
412
  });
406
413
  (0, import_vitest.expect)(db.prepare("SELECT * FROM note_records").all()).toEqual([]);
414
+ (0, import_vitest.expect)(statements).toEqual([{
415
+ table: "note_records",
416
+ publicTable: "note",
417
+ kind: "insert"
418
+ }, {
419
+ table: "note_records",
420
+ publicTable: "note",
421
+ kind: "upsert"
422
+ }, {
423
+ table: "note_records",
424
+ publicTable: "note",
425
+ kind: "update"
426
+ }, {
427
+ table: "note_records",
428
+ publicTable: "note",
429
+ kind: "delete"
430
+ }]);
407
431
  });
408
432
  (0, import_vitest.test)("decodes destination rows through a hidden two-hop junction", async function () {
409
433
  var server = (0, import_createZeroSQLiteServer.createZeroSQLiteServer)({
@@ -437,7 +461,11 @@ function cleanupRequest() {
437
461
  };
438
462
  var receivedQueryName;
439
463
  var hydratedExecutor = {
440
- async exec() {},
464
+ async exec() {
465
+ return {
466
+ changes: 0
467
+ };
468
+ },
441
469
  async query() {
442
470
  return [];
443
471
  },
@@ -1 +1 @@
1
- {"version":3,"names":["import_node_sqlite","require","import_zero","import_bindings","import_vitest","import_createZeroSQLiteServer","import_fixtureSchema","note","table","from","columns","id","string","done","boolean","data","json","optional","primaryKey","sqliteTypesSchema","createSchema","tables","relationships","enableLegacyQueries","person","membership","personId","teamId","team","active","metadata","twoHopSchema","param","many","teams","sourceField","destSchema","destField","pushRequest","name","args","Request","method","headers","body","JSON","stringify","clientGroupID","mutations","type","clientID","timestamp","pushVersion","requestID","cleanupRequest","upToMutationID","describe","db","retryNextTransaction","transactionProvider","beforeEach","DatabaseSync","exec","join","executor","sql","params","arguments","length","prepare","run","query","all","queryAst","ast","format","rows","map","row","note_id","parse","label","Error","singular","callback","value","error","afterEach","close","test","effectRuns","server","createZeroSQLiteServer","schema","zeroHttpFixtureSchema","models","project","mutate","create","tx","server2","insert","asyncTasks","push","expect","toHaveLength","splice","createServerActions","result","handleMutationRequest","authData","request","ownerId","skipAsyncTasks","response","toEqual","lastMutationID","toBe","fail","toMatchObject","message","get","stored","value2","duplicate","count","upsert","update","delete","q","resolves","transaction","location","one"],"sources":["../../src/createZeroSQLiteServer.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["import_node_sqlite","require","import_zero","import_bindings","import_vitest","import_createZeroSQLiteServer","import_fixtureSchema","note","table","from","columns","id","string","done","boolean","data","json","optional","primaryKey","sqliteTypesSchema","createSchema","tables","relationships","enableLegacyQueries","person","membership","personId","teamId","team","active","metadata","twoHopSchema","param","many","teams","sourceField","destSchema","destField","pushRequest","name","args","Request","method","headers","body","JSON","stringify","clientGroupID","mutations","type","clientID","timestamp","pushVersion","requestID","cleanupRequest","upToMutationID","describe","db","retryNextTransaction","transactionProvider","statements","beforeEach","DatabaseSync","exec","join","executor","sql","params","arguments","length","push","result","prepare","run","changes","Number","query","all","queryAst","ast","format","rows","map","row","note_id","parse","label","Error","singular","callback","value","error","afterEach","close","test","effectRuns","server","createZeroSQLiteServer","schema","zeroHttpFixtureSchema","models","project","mutate","create","tx","server2","insert","asyncTasks","expect","toHaveLength","splice","createServerActions","handleMutationRequest","authData","request","ownerId","skipAsyncTasks","response","toEqual","lastMutationID","toBe","fail","toMatchObject","message","get","stored","value2","duplicate","count","upsert","update","delete","q","resolves","transaction","location","one","dbTransaction"],"sources":["../../src/createZeroSQLiteServer.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}