@powersync/web 1.6.0 → 1.8.0

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 (75) hide show
  1. package/README.md +1 -1
  2. package/dist/fe5d98632ac68b2022d7.wasm +0 -0
  3. package/dist/index.umd.js +40336 -0
  4. package/dist/index.umd.js.map +1 -0
  5. package/dist/worker/SharedSyncImplementation.umd.js +4174 -0
  6. package/dist/worker/SharedSyncImplementation.umd.js.map +1 -0
  7. package/dist/worker/WASQLiteDB.umd.js +2780 -0
  8. package/dist/worker/WASQLiteDB.umd.js.map +1 -0
  9. package/dist/worker/node_modules_bson_lib_bson_mjs.umd.js +4437 -0
  10. package/dist/worker/node_modules_bson_lib_bson_mjs.umd.js.map +1 -0
  11. package/dist/worker/node_modules_crypto-browserify_index_js.umd.js +33582 -0
  12. package/dist/worker/node_modules_crypto-browserify_index_js.umd.js.map +1 -0
  13. package/dist/worker/node_modules_journeyapps_wa-sqlite_dist_wa-sqlite-async_mjs.umd.js +175 -0
  14. package/dist/worker/node_modules_journeyapps_wa-sqlite_dist_wa-sqlite-async_mjs.umd.js.map +1 -0
  15. package/dist/worker/node_modules_journeyapps_wa-sqlite_src_examples_IDBBatchAtomicVFS_js.umd.js +1926 -0
  16. package/dist/worker/node_modules_journeyapps_wa-sqlite_src_examples_IDBBatchAtomicVFS_js.umd.js.map +1 -0
  17. package/lib/package.json +89 -0
  18. package/lib/src/db/PowerSyncDatabase.d.ts +19 -7
  19. package/lib/src/db/PowerSyncDatabase.js +1 -0
  20. package/lib/src/db/PowerSyncDatabase.js.map +1 -0
  21. package/lib/src/db/adapters/AbstractWebPowerSyncDatabaseOpenFactory.js +1 -0
  22. package/lib/src/db/adapters/AbstractWebPowerSyncDatabaseOpenFactory.js.map +1 -0
  23. package/lib/src/db/adapters/AbstractWebSQLOpenFactory.d.ts +2 -2
  24. package/lib/src/db/adapters/AbstractWebSQLOpenFactory.js +5 -4
  25. package/lib/src/db/adapters/AbstractWebSQLOpenFactory.js.map +1 -0
  26. package/lib/src/db/adapters/SSRDBAdapter.js +1 -0
  27. package/lib/src/db/adapters/SSRDBAdapter.js.map +1 -0
  28. package/lib/src/db/adapters/wa-sqlite/WASQLiteDBAdapter.d.ts +3 -2
  29. package/lib/src/db/adapters/wa-sqlite/WASQLiteDBAdapter.js +11 -3
  30. package/lib/src/db/adapters/wa-sqlite/WASQLiteDBAdapter.js.map +1 -0
  31. package/lib/src/db/adapters/wa-sqlite/WASQLiteOpenFactory.js +1 -0
  32. package/lib/src/db/adapters/wa-sqlite/WASQLiteOpenFactory.js.map +1 -0
  33. package/lib/src/db/adapters/wa-sqlite/WASQLitePowerSyncDatabaseOpenFactory.js +1 -0
  34. package/lib/src/db/adapters/wa-sqlite/WASQLitePowerSyncDatabaseOpenFactory.js.map +1 -0
  35. package/lib/src/db/adapters/web-sql-flags.d.ts +13 -2
  36. package/lib/src/db/adapters/web-sql-flags.js +1 -0
  37. package/lib/src/db/adapters/web-sql-flags.js.map +1 -0
  38. package/lib/src/db/sync/SSRWebStreamingSyncImplementation.d.ts +34 -2
  39. package/lib/src/db/sync/SSRWebStreamingSyncImplementation.js +44 -3
  40. package/lib/src/db/sync/SSRWebStreamingSyncImplementation.js.map +1 -0
  41. package/lib/src/db/sync/SharedWebStreamingSyncImplementation.js +33 -9
  42. package/lib/src/db/sync/SharedWebStreamingSyncImplementation.js.map +1 -0
  43. package/lib/src/db/sync/WebRemote.d.ts +1 -0
  44. package/lib/src/db/sync/WebRemote.js +12 -0
  45. package/lib/src/db/sync/WebRemote.js.map +1 -0
  46. package/lib/src/db/sync/WebStreamingSyncImplementation.d.ts +9 -2
  47. package/lib/src/db/sync/WebStreamingSyncImplementation.js +1 -0
  48. package/lib/src/db/sync/WebStreamingSyncImplementation.js.map +1 -0
  49. package/lib/src/db/sync/userAgent.d.ts +17 -0
  50. package/lib/src/db/sync/userAgent.js +65 -0
  51. package/lib/src/db/sync/userAgent.js.map +1 -0
  52. package/lib/src/index.js +1 -0
  53. package/lib/src/index.js.map +1 -0
  54. package/lib/src/shared/open-db.js +1 -0
  55. package/lib/src/shared/open-db.js.map +1 -0
  56. package/lib/src/shared/types.js +1 -0
  57. package/lib/src/shared/types.js.map +1 -0
  58. package/lib/src/worker/db/WASQLiteDB.worker.d.ts +4 -1
  59. package/lib/src/worker/db/WASQLiteDB.worker.js +61 -1
  60. package/lib/src/worker/db/WASQLiteDB.worker.js.map +1 -0
  61. package/lib/src/worker/db/open-worker-database.d.ts +4 -2
  62. package/lib/src/worker/db/open-worker-database.js +41 -20
  63. package/lib/src/worker/db/open-worker-database.js.map +1 -0
  64. package/lib/src/worker/sync/AbstractSharedSyncClientProvider.js +1 -0
  65. package/lib/src/worker/sync/AbstractSharedSyncClientProvider.js.map +1 -0
  66. package/lib/src/worker/sync/BroadcastLogger.js +1 -0
  67. package/lib/src/worker/sync/BroadcastLogger.js.map +1 -0
  68. package/lib/src/worker/sync/SharedSyncImplementation.js +1 -0
  69. package/lib/src/worker/sync/SharedSyncImplementation.js.map +1 -0
  70. package/lib/src/worker/sync/SharedSyncImplementation.worker.js +1 -0
  71. package/lib/src/worker/sync/SharedSyncImplementation.worker.js.map +1 -0
  72. package/lib/tsconfig.tsbuildinfo +1 -1
  73. package/package.json +36 -14
  74. package/lib/src/worker/db/SharedWASQLiteDB.worker.d.ts +0 -1
  75. package/lib/src/worker/db/SharedWASQLiteDB.worker.js +0 -49
@@ -0,0 +1,2780 @@
1
+ var sdk_web;
2
+ /******/ (() => { // webpackBootstrap
3
+ /******/ "use strict";
4
+ /******/ var __webpack_modules__ = ({
5
+
6
+ /***/ "./lib/src/shared/open-db.js":
7
+ /*!***********************************!*\
8
+ !*** ./lib/src/shared/open-db.js ***!
9
+ \***********************************/
10
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
11
+
12
+ __webpack_require__.r(__webpack_exports__);
13
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
14
+ /* harmony export */ _openDB: () => (/* binding */ _openDB)
15
+ /* harmony export */ });
16
+ /* harmony import */ var _journeyapps_wa_sqlite__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @journeyapps/wa-sqlite */ "../../node_modules/@journeyapps/wa-sqlite/src/sqlite-api.js");
17
+ /* harmony import */ var comlink__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! comlink */ "../../node_modules/comlink/dist/esm/comlink.mjs");
18
+ /* harmony import */ var async_mutex__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! async-mutex */ "../../node_modules/async-mutex/index.mjs");
19
+
20
+
21
+
22
+
23
+ let nextId = 1;
24
+ async function _openDB(dbFileName, options = { useWebWorker: true }) {
25
+ const { default: moduleFactory } = await __webpack_require__.e(/*! import() */ "node_modules_journeyapps_wa-sqlite_dist_wa-sqlite-async_mjs").then(__webpack_require__.bind(__webpack_require__, /*! @journeyapps/wa-sqlite/dist/wa-sqlite-async.mjs */ "../../node_modules/@journeyapps/wa-sqlite/dist/wa-sqlite-async.mjs"));
26
+ const module = await moduleFactory();
27
+ const sqlite3 = _journeyapps_wa_sqlite__WEBPACK_IMPORTED_MODULE_0__.Factory(module);
28
+ const { IDBBatchAtomicVFS } = await __webpack_require__.e(/*! import() */ "node_modules_journeyapps_wa-sqlite_src_examples_IDBBatchAtomicVFS_js").then(__webpack_require__.bind(__webpack_require__, /*! @journeyapps/wa-sqlite/src/examples/IDBBatchAtomicVFS.js */ "../../node_modules/@journeyapps/wa-sqlite/src/examples/IDBBatchAtomicVFS.js"));
29
+ const vfs = new IDBBatchAtomicVFS(dbFileName);
30
+ sqlite3.vfs_register(vfs, true);
31
+ const db = await sqlite3.open_v2(dbFileName);
32
+ const statementMutex = new async_mutex__WEBPACK_IMPORTED_MODULE_1__.Mutex();
33
+ /**
34
+ * Listeners are exclusive to the DB connection.
35
+ */
36
+ const listeners = new Map();
37
+ let updatedTables = new Set();
38
+ let updateTimer = null;
39
+ function fireUpdates() {
40
+ updateTimer = null;
41
+ const event = { tables: [...updatedTables], groupedUpdates: {}, rawUpdates: [] };
42
+ updatedTables.clear();
43
+ Array.from(listeners.values()).forEach((l) => l(event));
44
+ }
45
+ sqlite3.register_table_onchange_hook(db, (opType, tableName, rowId) => {
46
+ updatedTables.add(tableName);
47
+ if (updateTimer == null) {
48
+ updateTimer = setTimeout(fireUpdates, 0);
49
+ }
50
+ });
51
+ /**
52
+ * This executes single SQL statements inside a requested lock.
53
+ */
54
+ const execute = async (sql, bindings) => {
55
+ // Running multiple statements on the same connection concurrently should not be allowed
56
+ return _acquireExecuteLock(async () => {
57
+ return executeSingleStatement(sql, bindings);
58
+ });
59
+ };
60
+ /**
61
+ * This requests a lock for executing statements.
62
+ * Should only be used internally.
63
+ */
64
+ const _acquireExecuteLock = (callback) => {
65
+ return statementMutex.runExclusive(callback);
66
+ };
67
+ /**
68
+ * This executes a single statement using SQLite3.
69
+ */
70
+ const executeSingleStatement = async (sql, bindings) => {
71
+ const results = [];
72
+ for await (const stmt of sqlite3.statements(db, sql)) {
73
+ let columns;
74
+ const wrappedBindings = bindings ? [bindings] : [[]];
75
+ for (const binding of wrappedBindings) {
76
+ // TODO not sure why this is needed currently, but booleans break
77
+ binding.forEach((b, index, arr) => {
78
+ if (typeof b == 'boolean') {
79
+ arr[index] = b ? 1 : 0;
80
+ }
81
+ });
82
+ sqlite3.reset(stmt);
83
+ if (bindings) {
84
+ sqlite3.bind_collection(stmt, binding);
85
+ }
86
+ const rows = [];
87
+ while ((await sqlite3.step(stmt)) === _journeyapps_wa_sqlite__WEBPACK_IMPORTED_MODULE_0__.SQLITE_ROW) {
88
+ const row = sqlite3.row(stmt);
89
+ rows.push(row);
90
+ }
91
+ columns = columns ?? sqlite3.column_names(stmt);
92
+ if (columns.length) {
93
+ results.push({ columns, rows });
94
+ }
95
+ }
96
+ // When binding parameters, only a single statement is executed.
97
+ if (bindings) {
98
+ break;
99
+ }
100
+ }
101
+ const rows = [];
102
+ for (const resultset of results) {
103
+ for (const row of resultset.rows) {
104
+ const outRow = {};
105
+ resultset.columns.forEach((key, index) => {
106
+ outRow[key] = row[index];
107
+ });
108
+ rows.push(outRow);
109
+ }
110
+ }
111
+ const result = {
112
+ insertId: sqlite3.last_insert_id(db),
113
+ rowsAffected: sqlite3.changes(db),
114
+ rows: {
115
+ _array: rows,
116
+ length: rows.length
117
+ }
118
+ };
119
+ return result;
120
+ };
121
+ /**
122
+ * This executes SQL statements in a batch.
123
+ */
124
+ const executeBatch = async (sql, bindings) => {
125
+ return _acquireExecuteLock(async () => {
126
+ let affectedRows = 0;
127
+ const str = sqlite3.str_new(db, sql);
128
+ const query = sqlite3.str_value(str);
129
+ try {
130
+ await executeSingleStatement('BEGIN TRANSACTION');
131
+ //Prepare statement once
132
+ const prepared = await sqlite3.prepare_v2(db, query);
133
+ if (prepared === null) {
134
+ return {
135
+ rowsAffected: 0,
136
+ rows: { _array: [], length: 0 }
137
+ };
138
+ }
139
+ const wrappedBindings = bindings ? bindings : [];
140
+ for (const binding of wrappedBindings) {
141
+ // TODO not sure why this is needed currently, but booleans break
142
+ for (let i = 0; i < binding.length; i++) {
143
+ const b = binding[i];
144
+ if (typeof b == 'boolean') {
145
+ binding[i] = b ? 1 : 0;
146
+ }
147
+ }
148
+ //Reset bindings
149
+ sqlite3.reset(prepared.stmt);
150
+ if (bindings) {
151
+ sqlite3.bind_collection(prepared.stmt, binding);
152
+ }
153
+ const result = await sqlite3.step(prepared.stmt);
154
+ if (result === _journeyapps_wa_sqlite__WEBPACK_IMPORTED_MODULE_0__.SQLITE_DONE) {
155
+ //The value returned by sqlite3_changes() immediately after an INSERT, UPDATE or DELETE statement run on a view is always zero.
156
+ affectedRows += sqlite3.changes(db);
157
+ }
158
+ }
159
+ //Finalize prepared statement
160
+ await sqlite3.finalize(prepared.stmt);
161
+ await executeSingleStatement('COMMIT');
162
+ }
163
+ catch (err) {
164
+ await executeSingleStatement('ROLLBACK');
165
+ return {
166
+ rowsAffected: 0,
167
+ rows: { _array: [], length: 0 }
168
+ };
169
+ }
170
+ finally {
171
+ sqlite3.str_finish(str);
172
+ }
173
+ const result = {
174
+ rowsAffected: affectedRows,
175
+ rows: { _array: [], length: 0 }
176
+ };
177
+ return result;
178
+ });
179
+ };
180
+ if (options.useWebWorker) {
181
+ const registerOnTableChange = (callback) => {
182
+ const id = nextId++;
183
+ listeners.set(id, callback);
184
+ return comlink__WEBPACK_IMPORTED_MODULE_2__.proxy(() => {
185
+ listeners.delete(id);
186
+ });
187
+ };
188
+ return {
189
+ execute: comlink__WEBPACK_IMPORTED_MODULE_2__.proxy(execute),
190
+ executeBatch: comlink__WEBPACK_IMPORTED_MODULE_2__.proxy(executeBatch),
191
+ registerOnTableChange: comlink__WEBPACK_IMPORTED_MODULE_2__.proxy(registerOnTableChange),
192
+ close: comlink__WEBPACK_IMPORTED_MODULE_2__.proxy(() => {
193
+ sqlite3.close(db);
194
+ })
195
+ };
196
+ }
197
+ const registerOnTableChange = (callback) => {
198
+ const id = nextId++;
199
+ listeners.set(id, callback);
200
+ return () => {
201
+ listeners.delete(id);
202
+ };
203
+ };
204
+ return {
205
+ execute: execute,
206
+ executeBatch: executeBatch,
207
+ registerOnTableChange: registerOnTableChange,
208
+ close: () => sqlite3.close(db)
209
+ };
210
+ }
211
+
212
+
213
+ /***/ }),
214
+
215
+ /***/ "../../node_modules/async-mutex/index.mjs":
216
+ /*!************************************************!*\
217
+ !*** ../../node_modules/async-mutex/index.mjs ***!
218
+ \************************************************/
219
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
220
+
221
+ __webpack_require__.r(__webpack_exports__);
222
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
223
+ /* harmony export */ E_ALREADY_LOCKED: () => (/* binding */ E_ALREADY_LOCKED),
224
+ /* harmony export */ E_CANCELED: () => (/* binding */ E_CANCELED),
225
+ /* harmony export */ E_TIMEOUT: () => (/* binding */ E_TIMEOUT),
226
+ /* harmony export */ Mutex: () => (/* binding */ Mutex),
227
+ /* harmony export */ Semaphore: () => (/* binding */ Semaphore),
228
+ /* harmony export */ tryAcquire: () => (/* binding */ tryAcquire),
229
+ /* harmony export */ withTimeout: () => (/* binding */ withTimeout)
230
+ /* harmony export */ });
231
+ const E_TIMEOUT = new Error('timeout while waiting for mutex to become available');
232
+ const E_ALREADY_LOCKED = new Error('mutex already locked');
233
+ const E_CANCELED = new Error('request for lock canceled');
234
+
235
+ var __awaiter$2 = ( false) || function (thisArg, _arguments, P, generator) {
236
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
237
+ return new (P || (P = Promise))(function (resolve, reject) {
238
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
239
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
240
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
241
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
242
+ });
243
+ };
244
+ class Semaphore {
245
+ constructor(_value, _cancelError = E_CANCELED) {
246
+ this._value = _value;
247
+ this._cancelError = _cancelError;
248
+ this._weightedQueues = [];
249
+ this._weightedWaiters = [];
250
+ }
251
+ acquire(weight = 1) {
252
+ if (weight <= 0)
253
+ throw new Error(`invalid weight ${weight}: must be positive`);
254
+ return new Promise((resolve, reject) => {
255
+ if (!this._weightedQueues[weight - 1])
256
+ this._weightedQueues[weight - 1] = [];
257
+ this._weightedQueues[weight - 1].push({ resolve, reject });
258
+ this._dispatch();
259
+ });
260
+ }
261
+ runExclusive(callback, weight = 1) {
262
+ return __awaiter$2(this, void 0, void 0, function* () {
263
+ const [value, release] = yield this.acquire(weight);
264
+ try {
265
+ return yield callback(value);
266
+ }
267
+ finally {
268
+ release();
269
+ }
270
+ });
271
+ }
272
+ waitForUnlock(weight = 1) {
273
+ if (weight <= 0)
274
+ throw new Error(`invalid weight ${weight}: must be positive`);
275
+ return new Promise((resolve) => {
276
+ if (!this._weightedWaiters[weight - 1])
277
+ this._weightedWaiters[weight - 1] = [];
278
+ this._weightedWaiters[weight - 1].push(resolve);
279
+ this._dispatch();
280
+ });
281
+ }
282
+ isLocked() {
283
+ return this._value <= 0;
284
+ }
285
+ getValue() {
286
+ return this._value;
287
+ }
288
+ setValue(value) {
289
+ this._value = value;
290
+ this._dispatch();
291
+ }
292
+ release(weight = 1) {
293
+ if (weight <= 0)
294
+ throw new Error(`invalid weight ${weight}: must be positive`);
295
+ this._value += weight;
296
+ this._dispatch();
297
+ }
298
+ cancel() {
299
+ this._weightedQueues.forEach((queue) => queue.forEach((entry) => entry.reject(this._cancelError)));
300
+ this._weightedQueues = [];
301
+ }
302
+ _dispatch() {
303
+ var _a;
304
+ for (let weight = this._value; weight > 0; weight--) {
305
+ const queueEntry = (_a = this._weightedQueues[weight - 1]) === null || _a === void 0 ? void 0 : _a.shift();
306
+ if (!queueEntry)
307
+ continue;
308
+ const previousValue = this._value;
309
+ const previousWeight = weight;
310
+ this._value -= weight;
311
+ weight = this._value + 1;
312
+ queueEntry.resolve([previousValue, this._newReleaser(previousWeight)]);
313
+ }
314
+ this._drainUnlockWaiters();
315
+ }
316
+ _newReleaser(weight) {
317
+ let called = false;
318
+ return () => {
319
+ if (called)
320
+ return;
321
+ called = true;
322
+ this.release(weight);
323
+ };
324
+ }
325
+ _drainUnlockWaiters() {
326
+ for (let weight = this._value; weight > 0; weight--) {
327
+ if (!this._weightedWaiters[weight - 1])
328
+ continue;
329
+ this._weightedWaiters[weight - 1].forEach((waiter) => waiter());
330
+ this._weightedWaiters[weight - 1] = [];
331
+ }
332
+ }
333
+ }
334
+
335
+ var __awaiter$1 = ( false) || function (thisArg, _arguments, P, generator) {
336
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
337
+ return new (P || (P = Promise))(function (resolve, reject) {
338
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
339
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
340
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
341
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
342
+ });
343
+ };
344
+ class Mutex {
345
+ constructor(cancelError) {
346
+ this._semaphore = new Semaphore(1, cancelError);
347
+ }
348
+ acquire() {
349
+ return __awaiter$1(this, void 0, void 0, function* () {
350
+ const [, releaser] = yield this._semaphore.acquire();
351
+ return releaser;
352
+ });
353
+ }
354
+ runExclusive(callback) {
355
+ return this._semaphore.runExclusive(() => callback());
356
+ }
357
+ isLocked() {
358
+ return this._semaphore.isLocked();
359
+ }
360
+ waitForUnlock() {
361
+ return this._semaphore.waitForUnlock();
362
+ }
363
+ release() {
364
+ if (this._semaphore.isLocked())
365
+ this._semaphore.release();
366
+ }
367
+ cancel() {
368
+ return this._semaphore.cancel();
369
+ }
370
+ }
371
+
372
+ var __awaiter = ( false) || function (thisArg, _arguments, P, generator) {
373
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
374
+ return new (P || (P = Promise))(function (resolve, reject) {
375
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
376
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
377
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
378
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
379
+ });
380
+ };
381
+ function withTimeout(sync, timeout, timeoutError = E_TIMEOUT) {
382
+ return {
383
+ acquire: (weight) => {
384
+ if (weight !== undefined && weight <= 0) {
385
+ throw new Error(`invalid weight ${weight}: must be positive`);
386
+ }
387
+ return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
388
+ let isTimeout = false;
389
+ const handle = setTimeout(() => {
390
+ isTimeout = true;
391
+ reject(timeoutError);
392
+ }, timeout);
393
+ try {
394
+ const ticket = yield sync.acquire(weight);
395
+ if (isTimeout) {
396
+ const release = Array.isArray(ticket) ? ticket[1] : ticket;
397
+ release();
398
+ }
399
+ else {
400
+ clearTimeout(handle);
401
+ resolve(ticket);
402
+ }
403
+ }
404
+ catch (e) {
405
+ if (!isTimeout) {
406
+ clearTimeout(handle);
407
+ reject(e);
408
+ }
409
+ }
410
+ }));
411
+ },
412
+ runExclusive(callback, weight) {
413
+ return __awaiter(this, void 0, void 0, function* () {
414
+ let release = () => undefined;
415
+ try {
416
+ const ticket = yield this.acquire(weight);
417
+ if (Array.isArray(ticket)) {
418
+ release = ticket[1];
419
+ return yield callback(ticket[0]);
420
+ }
421
+ else {
422
+ release = ticket;
423
+ return yield callback();
424
+ }
425
+ }
426
+ finally {
427
+ release();
428
+ }
429
+ });
430
+ },
431
+ release(weight) {
432
+ sync.release(weight);
433
+ },
434
+ cancel() {
435
+ return sync.cancel();
436
+ },
437
+ waitForUnlock: (weight) => {
438
+ if (weight !== undefined && weight <= 0) {
439
+ throw new Error(`invalid weight ${weight}: must be positive`);
440
+ }
441
+ return new Promise((resolve, reject) => {
442
+ const handle = setTimeout(() => reject(timeoutError), timeout);
443
+ sync.waitForUnlock(weight).then(() => {
444
+ clearTimeout(handle);
445
+ resolve();
446
+ });
447
+ });
448
+ },
449
+ isLocked: () => sync.isLocked(),
450
+ getValue: () => sync.getValue(),
451
+ setValue: (value) => sync.setValue(value),
452
+ };
453
+ }
454
+
455
+ // eslint-disable-next-lisne @typescript-eslint/explicit-module-boundary-types
456
+ function tryAcquire(sync, alreadyAcquiredError = E_ALREADY_LOCKED) {
457
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
458
+ return withTimeout(sync, 0, alreadyAcquiredError);
459
+ }
460
+
461
+
462
+
463
+
464
+ /***/ }),
465
+
466
+ /***/ "../../node_modules/comlink/dist/esm/comlink.mjs":
467
+ /*!*******************************************************!*\
468
+ !*** ../../node_modules/comlink/dist/esm/comlink.mjs ***!
469
+ \*******************************************************/
470
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
471
+
472
+ __webpack_require__.r(__webpack_exports__);
473
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
474
+ /* harmony export */ createEndpoint: () => (/* binding */ createEndpoint),
475
+ /* harmony export */ expose: () => (/* binding */ expose),
476
+ /* harmony export */ finalizer: () => (/* binding */ finalizer),
477
+ /* harmony export */ proxy: () => (/* binding */ proxy),
478
+ /* harmony export */ proxyMarker: () => (/* binding */ proxyMarker),
479
+ /* harmony export */ releaseProxy: () => (/* binding */ releaseProxy),
480
+ /* harmony export */ transfer: () => (/* binding */ transfer),
481
+ /* harmony export */ transferHandlers: () => (/* binding */ transferHandlers),
482
+ /* harmony export */ windowEndpoint: () => (/* binding */ windowEndpoint),
483
+ /* harmony export */ wrap: () => (/* binding */ wrap)
484
+ /* harmony export */ });
485
+ /**
486
+ * @license
487
+ * Copyright 2019 Google LLC
488
+ * SPDX-License-Identifier: Apache-2.0
489
+ */
490
+ const proxyMarker = Symbol("Comlink.proxy");
491
+ const createEndpoint = Symbol("Comlink.endpoint");
492
+ const releaseProxy = Symbol("Comlink.releaseProxy");
493
+ const finalizer = Symbol("Comlink.finalizer");
494
+ const throwMarker = Symbol("Comlink.thrown");
495
+ const isObject = (val) => (typeof val === "object" && val !== null) || typeof val === "function";
496
+ /**
497
+ * Internal transfer handle to handle objects marked to proxy.
498
+ */
499
+ const proxyTransferHandler = {
500
+ canHandle: (val) => isObject(val) && val[proxyMarker],
501
+ serialize(obj) {
502
+ const { port1, port2 } = new MessageChannel();
503
+ expose(obj, port1);
504
+ return [port2, [port2]];
505
+ },
506
+ deserialize(port) {
507
+ port.start();
508
+ return wrap(port);
509
+ },
510
+ };
511
+ /**
512
+ * Internal transfer handler to handle thrown exceptions.
513
+ */
514
+ const throwTransferHandler = {
515
+ canHandle: (value) => isObject(value) && throwMarker in value,
516
+ serialize({ value }) {
517
+ let serialized;
518
+ if (value instanceof Error) {
519
+ serialized = {
520
+ isError: true,
521
+ value: {
522
+ message: value.message,
523
+ name: value.name,
524
+ stack: value.stack,
525
+ },
526
+ };
527
+ }
528
+ else {
529
+ serialized = { isError: false, value };
530
+ }
531
+ return [serialized, []];
532
+ },
533
+ deserialize(serialized) {
534
+ if (serialized.isError) {
535
+ throw Object.assign(new Error(serialized.value.message), serialized.value);
536
+ }
537
+ throw serialized.value;
538
+ },
539
+ };
540
+ /**
541
+ * Allows customizing the serialization of certain values.
542
+ */
543
+ const transferHandlers = new Map([
544
+ ["proxy", proxyTransferHandler],
545
+ ["throw", throwTransferHandler],
546
+ ]);
547
+ function isAllowedOrigin(allowedOrigins, origin) {
548
+ for (const allowedOrigin of allowedOrigins) {
549
+ if (origin === allowedOrigin || allowedOrigin === "*") {
550
+ return true;
551
+ }
552
+ if (allowedOrigin instanceof RegExp && allowedOrigin.test(origin)) {
553
+ return true;
554
+ }
555
+ }
556
+ return false;
557
+ }
558
+ function expose(obj, ep = globalThis, allowedOrigins = ["*"]) {
559
+ ep.addEventListener("message", function callback(ev) {
560
+ if (!ev || !ev.data) {
561
+ return;
562
+ }
563
+ if (!isAllowedOrigin(allowedOrigins, ev.origin)) {
564
+ console.warn(`Invalid origin '${ev.origin}' for comlink proxy`);
565
+ return;
566
+ }
567
+ const { id, type, path } = Object.assign({ path: [] }, ev.data);
568
+ const argumentList = (ev.data.argumentList || []).map(fromWireValue);
569
+ let returnValue;
570
+ try {
571
+ const parent = path.slice(0, -1).reduce((obj, prop) => obj[prop], obj);
572
+ const rawValue = path.reduce((obj, prop) => obj[prop], obj);
573
+ switch (type) {
574
+ case "GET" /* MessageType.GET */:
575
+ {
576
+ returnValue = rawValue;
577
+ }
578
+ break;
579
+ case "SET" /* MessageType.SET */:
580
+ {
581
+ parent[path.slice(-1)[0]] = fromWireValue(ev.data.value);
582
+ returnValue = true;
583
+ }
584
+ break;
585
+ case "APPLY" /* MessageType.APPLY */:
586
+ {
587
+ returnValue = rawValue.apply(parent, argumentList);
588
+ }
589
+ break;
590
+ case "CONSTRUCT" /* MessageType.CONSTRUCT */:
591
+ {
592
+ const value = new rawValue(...argumentList);
593
+ returnValue = proxy(value);
594
+ }
595
+ break;
596
+ case "ENDPOINT" /* MessageType.ENDPOINT */:
597
+ {
598
+ const { port1, port2 } = new MessageChannel();
599
+ expose(obj, port2);
600
+ returnValue = transfer(port1, [port1]);
601
+ }
602
+ break;
603
+ case "RELEASE" /* MessageType.RELEASE */:
604
+ {
605
+ returnValue = undefined;
606
+ }
607
+ break;
608
+ default:
609
+ return;
610
+ }
611
+ }
612
+ catch (value) {
613
+ returnValue = { value, [throwMarker]: 0 };
614
+ }
615
+ Promise.resolve(returnValue)
616
+ .catch((value) => {
617
+ return { value, [throwMarker]: 0 };
618
+ })
619
+ .then((returnValue) => {
620
+ const [wireValue, transferables] = toWireValue(returnValue);
621
+ ep.postMessage(Object.assign(Object.assign({}, wireValue), { id }), transferables);
622
+ if (type === "RELEASE" /* MessageType.RELEASE */) {
623
+ // detach and deactive after sending release response above.
624
+ ep.removeEventListener("message", callback);
625
+ closeEndPoint(ep);
626
+ if (finalizer in obj && typeof obj[finalizer] === "function") {
627
+ obj[finalizer]();
628
+ }
629
+ }
630
+ })
631
+ .catch((error) => {
632
+ // Send Serialization Error To Caller
633
+ const [wireValue, transferables] = toWireValue({
634
+ value: new TypeError("Unserializable return value"),
635
+ [throwMarker]: 0,
636
+ });
637
+ ep.postMessage(Object.assign(Object.assign({}, wireValue), { id }), transferables);
638
+ });
639
+ });
640
+ if (ep.start) {
641
+ ep.start();
642
+ }
643
+ }
644
+ function isMessagePort(endpoint) {
645
+ return endpoint.constructor.name === "MessagePort";
646
+ }
647
+ function closeEndPoint(endpoint) {
648
+ if (isMessagePort(endpoint))
649
+ endpoint.close();
650
+ }
651
+ function wrap(ep, target) {
652
+ return createProxy(ep, [], target);
653
+ }
654
+ function throwIfProxyReleased(isReleased) {
655
+ if (isReleased) {
656
+ throw new Error("Proxy has been released and is not useable");
657
+ }
658
+ }
659
+ function releaseEndpoint(ep) {
660
+ return requestResponseMessage(ep, {
661
+ type: "RELEASE" /* MessageType.RELEASE */,
662
+ }).then(() => {
663
+ closeEndPoint(ep);
664
+ });
665
+ }
666
+ const proxyCounter = new WeakMap();
667
+ const proxyFinalizers = "FinalizationRegistry" in globalThis &&
668
+ new FinalizationRegistry((ep) => {
669
+ const newCount = (proxyCounter.get(ep) || 0) - 1;
670
+ proxyCounter.set(ep, newCount);
671
+ if (newCount === 0) {
672
+ releaseEndpoint(ep);
673
+ }
674
+ });
675
+ function registerProxy(proxy, ep) {
676
+ const newCount = (proxyCounter.get(ep) || 0) + 1;
677
+ proxyCounter.set(ep, newCount);
678
+ if (proxyFinalizers) {
679
+ proxyFinalizers.register(proxy, ep, proxy);
680
+ }
681
+ }
682
+ function unregisterProxy(proxy) {
683
+ if (proxyFinalizers) {
684
+ proxyFinalizers.unregister(proxy);
685
+ }
686
+ }
687
+ function createProxy(ep, path = [], target = function () { }) {
688
+ let isProxyReleased = false;
689
+ const proxy = new Proxy(target, {
690
+ get(_target, prop) {
691
+ throwIfProxyReleased(isProxyReleased);
692
+ if (prop === releaseProxy) {
693
+ return () => {
694
+ unregisterProxy(proxy);
695
+ releaseEndpoint(ep);
696
+ isProxyReleased = true;
697
+ };
698
+ }
699
+ if (prop === "then") {
700
+ if (path.length === 0) {
701
+ return { then: () => proxy };
702
+ }
703
+ const r = requestResponseMessage(ep, {
704
+ type: "GET" /* MessageType.GET */,
705
+ path: path.map((p) => p.toString()),
706
+ }).then(fromWireValue);
707
+ return r.then.bind(r);
708
+ }
709
+ return createProxy(ep, [...path, prop]);
710
+ },
711
+ set(_target, prop, rawValue) {
712
+ throwIfProxyReleased(isProxyReleased);
713
+ // FIXME: ES6 Proxy Handler `set` methods are supposed to return a
714
+ // boolean. To show good will, we return true asynchronously ¯\_(ツ)_/¯
715
+ const [value, transferables] = toWireValue(rawValue);
716
+ return requestResponseMessage(ep, {
717
+ type: "SET" /* MessageType.SET */,
718
+ path: [...path, prop].map((p) => p.toString()),
719
+ value,
720
+ }, transferables).then(fromWireValue);
721
+ },
722
+ apply(_target, _thisArg, rawArgumentList) {
723
+ throwIfProxyReleased(isProxyReleased);
724
+ const last = path[path.length - 1];
725
+ if (last === createEndpoint) {
726
+ return requestResponseMessage(ep, {
727
+ type: "ENDPOINT" /* MessageType.ENDPOINT */,
728
+ }).then(fromWireValue);
729
+ }
730
+ // We just pretend that `bind()` didn’t happen.
731
+ if (last === "bind") {
732
+ return createProxy(ep, path.slice(0, -1));
733
+ }
734
+ const [argumentList, transferables] = processArguments(rawArgumentList);
735
+ return requestResponseMessage(ep, {
736
+ type: "APPLY" /* MessageType.APPLY */,
737
+ path: path.map((p) => p.toString()),
738
+ argumentList,
739
+ }, transferables).then(fromWireValue);
740
+ },
741
+ construct(_target, rawArgumentList) {
742
+ throwIfProxyReleased(isProxyReleased);
743
+ const [argumentList, transferables] = processArguments(rawArgumentList);
744
+ return requestResponseMessage(ep, {
745
+ type: "CONSTRUCT" /* MessageType.CONSTRUCT */,
746
+ path: path.map((p) => p.toString()),
747
+ argumentList,
748
+ }, transferables).then(fromWireValue);
749
+ },
750
+ });
751
+ registerProxy(proxy, ep);
752
+ return proxy;
753
+ }
754
+ function myFlat(arr) {
755
+ return Array.prototype.concat.apply([], arr);
756
+ }
757
+ function processArguments(argumentList) {
758
+ const processed = argumentList.map(toWireValue);
759
+ return [processed.map((v) => v[0]), myFlat(processed.map((v) => v[1]))];
760
+ }
761
+ const transferCache = new WeakMap();
762
+ function transfer(obj, transfers) {
763
+ transferCache.set(obj, transfers);
764
+ return obj;
765
+ }
766
+ function proxy(obj) {
767
+ return Object.assign(obj, { [proxyMarker]: true });
768
+ }
769
+ function windowEndpoint(w, context = globalThis, targetOrigin = "*") {
770
+ return {
771
+ postMessage: (msg, transferables) => w.postMessage(msg, targetOrigin, transferables),
772
+ addEventListener: context.addEventListener.bind(context),
773
+ removeEventListener: context.removeEventListener.bind(context),
774
+ };
775
+ }
776
+ function toWireValue(value) {
777
+ for (const [name, handler] of transferHandlers) {
778
+ if (handler.canHandle(value)) {
779
+ const [serializedValue, transferables] = handler.serialize(value);
780
+ return [
781
+ {
782
+ type: "HANDLER" /* WireValueType.HANDLER */,
783
+ name,
784
+ value: serializedValue,
785
+ },
786
+ transferables,
787
+ ];
788
+ }
789
+ }
790
+ return [
791
+ {
792
+ type: "RAW" /* WireValueType.RAW */,
793
+ value,
794
+ },
795
+ transferCache.get(value) || [],
796
+ ];
797
+ }
798
+ function fromWireValue(value) {
799
+ switch (value.type) {
800
+ case "HANDLER" /* WireValueType.HANDLER */:
801
+ return transferHandlers.get(value.name).deserialize(value.value);
802
+ case "RAW" /* WireValueType.RAW */:
803
+ return value.value;
804
+ }
805
+ }
806
+ function requestResponseMessage(ep, msg, transfers) {
807
+ return new Promise((resolve) => {
808
+ const id = generateUUID();
809
+ ep.addEventListener("message", function l(ev) {
810
+ if (!ev.data || !ev.data.id || ev.data.id !== id) {
811
+ return;
812
+ }
813
+ ep.removeEventListener("message", l);
814
+ resolve(ev.data);
815
+ });
816
+ if (ep.start) {
817
+ ep.start();
818
+ }
819
+ ep.postMessage(Object.assign({ id }, msg), transfers);
820
+ });
821
+ }
822
+ function generateUUID() {
823
+ return new Array(4)
824
+ .fill(0)
825
+ .map(() => Math.floor(Math.random() * Number.MAX_SAFE_INTEGER).toString(16))
826
+ .join("-");
827
+ }
828
+
829
+
830
+ //# sourceMappingURL=comlink.mjs.map
831
+
832
+
833
+ /***/ }),
834
+
835
+ /***/ "../../node_modules/@journeyapps/wa-sqlite/src/sqlite-api.js":
836
+ /*!*******************************************************************!*\
837
+ !*** ../../node_modules/@journeyapps/wa-sqlite/src/sqlite-api.js ***!
838
+ \*******************************************************************/
839
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
840
+
841
+ __webpack_require__.r(__webpack_exports__);
842
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
843
+ /* harmony export */ Factory: () => (/* binding */ Factory),
844
+ /* harmony export */ SQLITE_ABORT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_ABORT),
845
+ /* harmony export */ SQLITE_ACCESS_EXISTS: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_ACCESS_EXISTS),
846
+ /* harmony export */ SQLITE_ACCESS_READ: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_ACCESS_READ),
847
+ /* harmony export */ SQLITE_ACCESS_READWRITE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_ACCESS_READWRITE),
848
+ /* harmony export */ SQLITE_ALTER_TABLE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_ALTER_TABLE),
849
+ /* harmony export */ SQLITE_ANALYZE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_ANALYZE),
850
+ /* harmony export */ SQLITE_ATTACH: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_ATTACH),
851
+ /* harmony export */ SQLITE_AUTH: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_AUTH),
852
+ /* harmony export */ SQLITE_BLOB: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_BLOB),
853
+ /* harmony export */ SQLITE_BUSY: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_BUSY),
854
+ /* harmony export */ SQLITE_CANTOPEN: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CANTOPEN),
855
+ /* harmony export */ SQLITE_CONSTRAINT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CONSTRAINT),
856
+ /* harmony export */ SQLITE_CONSTRAINT_CHECK: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CONSTRAINT_CHECK),
857
+ /* harmony export */ SQLITE_CONSTRAINT_COMMITHOOK: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CONSTRAINT_COMMITHOOK),
858
+ /* harmony export */ SQLITE_CONSTRAINT_FOREIGNKEY: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CONSTRAINT_FOREIGNKEY),
859
+ /* harmony export */ SQLITE_CONSTRAINT_FUNCTION: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CONSTRAINT_FUNCTION),
860
+ /* harmony export */ SQLITE_CONSTRAINT_NOTNULL: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CONSTRAINT_NOTNULL),
861
+ /* harmony export */ SQLITE_CONSTRAINT_PINNED: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CONSTRAINT_PINNED),
862
+ /* harmony export */ SQLITE_CONSTRAINT_PRIMARYKEY: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CONSTRAINT_PRIMARYKEY),
863
+ /* harmony export */ SQLITE_CONSTRAINT_ROWID: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CONSTRAINT_ROWID),
864
+ /* harmony export */ SQLITE_CONSTRAINT_TRIGGER: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CONSTRAINT_TRIGGER),
865
+ /* harmony export */ SQLITE_CONSTRAINT_UNIQUE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CONSTRAINT_UNIQUE),
866
+ /* harmony export */ SQLITE_CONSTRAINT_VTAB: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CONSTRAINT_VTAB),
867
+ /* harmony export */ SQLITE_COPY: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_COPY),
868
+ /* harmony export */ SQLITE_CORRUPT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CORRUPT),
869
+ /* harmony export */ SQLITE_CREATE_INDEX: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CREATE_INDEX),
870
+ /* harmony export */ SQLITE_CREATE_TABLE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CREATE_TABLE),
871
+ /* harmony export */ SQLITE_CREATE_TEMP_INDEX: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CREATE_TEMP_INDEX),
872
+ /* harmony export */ SQLITE_CREATE_TEMP_TABLE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CREATE_TEMP_TABLE),
873
+ /* harmony export */ SQLITE_CREATE_TEMP_TRIGGER: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CREATE_TEMP_TRIGGER),
874
+ /* harmony export */ SQLITE_CREATE_TEMP_VIEW: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CREATE_TEMP_VIEW),
875
+ /* harmony export */ SQLITE_CREATE_TRIGGER: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CREATE_TRIGGER),
876
+ /* harmony export */ SQLITE_CREATE_VIEW: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CREATE_VIEW),
877
+ /* harmony export */ SQLITE_CREATE_VTABLE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CREATE_VTABLE),
878
+ /* harmony export */ SQLITE_DELETE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_DELETE),
879
+ /* harmony export */ SQLITE_DENY: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_DENY),
880
+ /* harmony export */ SQLITE_DETACH: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_DETACH),
881
+ /* harmony export */ SQLITE_DETERMINISTIC: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_DETERMINISTIC),
882
+ /* harmony export */ SQLITE_DIRECTONLY: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_DIRECTONLY),
883
+ /* harmony export */ SQLITE_DONE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_DONE),
884
+ /* harmony export */ SQLITE_DROP_INDEX: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_DROP_INDEX),
885
+ /* harmony export */ SQLITE_DROP_TABLE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_DROP_TABLE),
886
+ /* harmony export */ SQLITE_DROP_TEMP_INDEX: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_DROP_TEMP_INDEX),
887
+ /* harmony export */ SQLITE_DROP_TEMP_TABLE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_DROP_TEMP_TABLE),
888
+ /* harmony export */ SQLITE_DROP_TEMP_TRIGGER: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_DROP_TEMP_TRIGGER),
889
+ /* harmony export */ SQLITE_DROP_TEMP_VIEW: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_DROP_TEMP_VIEW),
890
+ /* harmony export */ SQLITE_DROP_TRIGGER: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_DROP_TRIGGER),
891
+ /* harmony export */ SQLITE_DROP_VIEW: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_DROP_VIEW),
892
+ /* harmony export */ SQLITE_DROP_VTABLE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_DROP_VTABLE),
893
+ /* harmony export */ SQLITE_EMPTY: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_EMPTY),
894
+ /* harmony export */ SQLITE_ERROR: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_ERROR),
895
+ /* harmony export */ SQLITE_FCNTL_BEGIN_ATOMIC_WRITE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_BEGIN_ATOMIC_WRITE),
896
+ /* harmony export */ SQLITE_FCNTL_BUSYHANDLER: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_BUSYHANDLER),
897
+ /* harmony export */ SQLITE_FCNTL_CHUNK_SIZE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_CHUNK_SIZE),
898
+ /* harmony export */ SQLITE_FCNTL_CKPT_DONE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_CKPT_DONE),
899
+ /* harmony export */ SQLITE_FCNTL_CKPT_START: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_CKPT_START),
900
+ /* harmony export */ SQLITE_FCNTL_COMMIT_ATOMIC_WRITE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_COMMIT_ATOMIC_WRITE),
901
+ /* harmony export */ SQLITE_FCNTL_COMMIT_PHASETWO: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_COMMIT_PHASETWO),
902
+ /* harmony export */ SQLITE_FCNTL_DATA_VERSION: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_DATA_VERSION),
903
+ /* harmony export */ SQLITE_FCNTL_FILE_POINTER: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_FILE_POINTER),
904
+ /* harmony export */ SQLITE_FCNTL_GET_LOCKPROXYFILE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_GET_LOCKPROXYFILE),
905
+ /* harmony export */ SQLITE_FCNTL_HAS_MOVED: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_HAS_MOVED),
906
+ /* harmony export */ SQLITE_FCNTL_JOURNAL_POINTER: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_JOURNAL_POINTER),
907
+ /* harmony export */ SQLITE_FCNTL_LAST_ERRNO: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_LAST_ERRNO),
908
+ /* harmony export */ SQLITE_FCNTL_LOCKSTATE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_LOCKSTATE),
909
+ /* harmony export */ SQLITE_FCNTL_LOCK_TIMEOUT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_LOCK_TIMEOUT),
910
+ /* harmony export */ SQLITE_FCNTL_MMAP_SIZE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_MMAP_SIZE),
911
+ /* harmony export */ SQLITE_FCNTL_OVERWRITE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_OVERWRITE),
912
+ /* harmony export */ SQLITE_FCNTL_PDB: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_PDB),
913
+ /* harmony export */ SQLITE_FCNTL_PERSIST_WAL: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_PERSIST_WAL),
914
+ /* harmony export */ SQLITE_FCNTL_POWERSAFE_OVERWRITE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_POWERSAFE_OVERWRITE),
915
+ /* harmony export */ SQLITE_FCNTL_PRAGMA: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_PRAGMA),
916
+ /* harmony export */ SQLITE_FCNTL_RBU: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_RBU),
917
+ /* harmony export */ SQLITE_FCNTL_RESERVE_BYTES: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_RESERVE_BYTES),
918
+ /* harmony export */ SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE),
919
+ /* harmony export */ SQLITE_FCNTL_SET_LOCKPROXYFILE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_SET_LOCKPROXYFILE),
920
+ /* harmony export */ SQLITE_FCNTL_SIZE_HINT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_SIZE_HINT),
921
+ /* harmony export */ SQLITE_FCNTL_SIZE_LIMIT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_SIZE_LIMIT),
922
+ /* harmony export */ SQLITE_FCNTL_SYNC: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_SYNC),
923
+ /* harmony export */ SQLITE_FCNTL_SYNC_OMITTED: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_SYNC_OMITTED),
924
+ /* harmony export */ SQLITE_FCNTL_TEMPFILENAME: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_TEMPFILENAME),
925
+ /* harmony export */ SQLITE_FCNTL_TRACE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_TRACE),
926
+ /* harmony export */ SQLITE_FCNTL_VFSNAME: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_VFSNAME),
927
+ /* harmony export */ SQLITE_FCNTL_VFS_POINTER: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_VFS_POINTER),
928
+ /* harmony export */ SQLITE_FCNTL_WAL_BLOCK: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_WAL_BLOCK),
929
+ /* harmony export */ SQLITE_FCNTL_WIN32_AV_RETRY: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_WIN32_AV_RETRY),
930
+ /* harmony export */ SQLITE_FCNTL_WIN32_GET_HANDLE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_WIN32_GET_HANDLE),
931
+ /* harmony export */ SQLITE_FCNTL_WIN32_SET_HANDLE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_WIN32_SET_HANDLE),
932
+ /* harmony export */ SQLITE_FCNTL_ZIPVFS: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_ZIPVFS),
933
+ /* harmony export */ SQLITE_FLOAT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FLOAT),
934
+ /* harmony export */ SQLITE_FORMAT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FORMAT),
935
+ /* harmony export */ SQLITE_FULL: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FULL),
936
+ /* harmony export */ SQLITE_FUNCTION: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FUNCTION),
937
+ /* harmony export */ SQLITE_IGNORE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IGNORE),
938
+ /* harmony export */ SQLITE_INDEX_CONSTRAINT_EQ: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INDEX_CONSTRAINT_EQ),
939
+ /* harmony export */ SQLITE_INDEX_CONSTRAINT_FUNCTION: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INDEX_CONSTRAINT_FUNCTION),
940
+ /* harmony export */ SQLITE_INDEX_CONSTRAINT_GE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INDEX_CONSTRAINT_GE),
941
+ /* harmony export */ SQLITE_INDEX_CONSTRAINT_GLOB: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INDEX_CONSTRAINT_GLOB),
942
+ /* harmony export */ SQLITE_INDEX_CONSTRAINT_GT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INDEX_CONSTRAINT_GT),
943
+ /* harmony export */ SQLITE_INDEX_CONSTRAINT_IS: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INDEX_CONSTRAINT_IS),
944
+ /* harmony export */ SQLITE_INDEX_CONSTRAINT_ISNOT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INDEX_CONSTRAINT_ISNOT),
945
+ /* harmony export */ SQLITE_INDEX_CONSTRAINT_ISNOTNULL: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INDEX_CONSTRAINT_ISNOTNULL),
946
+ /* harmony export */ SQLITE_INDEX_CONSTRAINT_ISNULL: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INDEX_CONSTRAINT_ISNULL),
947
+ /* harmony export */ SQLITE_INDEX_CONSTRAINT_LE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INDEX_CONSTRAINT_LE),
948
+ /* harmony export */ SQLITE_INDEX_CONSTRAINT_LIKE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INDEX_CONSTRAINT_LIKE),
949
+ /* harmony export */ SQLITE_INDEX_CONSTRAINT_LT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INDEX_CONSTRAINT_LT),
950
+ /* harmony export */ SQLITE_INDEX_CONSTRAINT_MATCH: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INDEX_CONSTRAINT_MATCH),
951
+ /* harmony export */ SQLITE_INDEX_CONSTRAINT_NE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INDEX_CONSTRAINT_NE),
952
+ /* harmony export */ SQLITE_INDEX_CONSTRAINT_REGEXP: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INDEX_CONSTRAINT_REGEXP),
953
+ /* harmony export */ SQLITE_INDEX_SCAN_UNIQUE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INDEX_SCAN_UNIQUE),
954
+ /* harmony export */ SQLITE_INNOCUOUS: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INNOCUOUS),
955
+ /* harmony export */ SQLITE_INSERT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INSERT),
956
+ /* harmony export */ SQLITE_INTEGER: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INTEGER),
957
+ /* harmony export */ SQLITE_INTERNAL: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INTERNAL),
958
+ /* harmony export */ SQLITE_INTERRUPT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INTERRUPT),
959
+ /* harmony export */ SQLITE_IOCAP_ATOMIC: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOCAP_ATOMIC),
960
+ /* harmony export */ SQLITE_IOCAP_ATOMIC16K: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOCAP_ATOMIC16K),
961
+ /* harmony export */ SQLITE_IOCAP_ATOMIC1K: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOCAP_ATOMIC1K),
962
+ /* harmony export */ SQLITE_IOCAP_ATOMIC2K: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOCAP_ATOMIC2K),
963
+ /* harmony export */ SQLITE_IOCAP_ATOMIC32K: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOCAP_ATOMIC32K),
964
+ /* harmony export */ SQLITE_IOCAP_ATOMIC4K: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOCAP_ATOMIC4K),
965
+ /* harmony export */ SQLITE_IOCAP_ATOMIC512: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOCAP_ATOMIC512),
966
+ /* harmony export */ SQLITE_IOCAP_ATOMIC64K: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOCAP_ATOMIC64K),
967
+ /* harmony export */ SQLITE_IOCAP_ATOMIC8K: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOCAP_ATOMIC8K),
968
+ /* harmony export */ SQLITE_IOCAP_BATCH_ATOMIC: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOCAP_BATCH_ATOMIC),
969
+ /* harmony export */ SQLITE_IOCAP_IMMUTABLE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOCAP_IMMUTABLE),
970
+ /* harmony export */ SQLITE_IOCAP_POWERSAFE_OVERWRITE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOCAP_POWERSAFE_OVERWRITE),
971
+ /* harmony export */ SQLITE_IOCAP_SAFE_APPEND: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOCAP_SAFE_APPEND),
972
+ /* harmony export */ SQLITE_IOCAP_SEQUENTIAL: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOCAP_SEQUENTIAL),
973
+ /* harmony export */ SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN),
974
+ /* harmony export */ SQLITE_IOERR: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR),
975
+ /* harmony export */ SQLITE_IOERR_ACCESS: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_ACCESS),
976
+ /* harmony export */ SQLITE_IOERR_BEGIN_ATOMIC: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_BEGIN_ATOMIC),
977
+ /* harmony export */ SQLITE_IOERR_CHECKRESERVEDLOCK: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_CHECKRESERVEDLOCK),
978
+ /* harmony export */ SQLITE_IOERR_CLOSE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_CLOSE),
979
+ /* harmony export */ SQLITE_IOERR_COMMIT_ATOMIC: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_COMMIT_ATOMIC),
980
+ /* harmony export */ SQLITE_IOERR_DATA: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_DATA),
981
+ /* harmony export */ SQLITE_IOERR_DELETE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_DELETE),
982
+ /* harmony export */ SQLITE_IOERR_DELETE_NOENT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_DELETE_NOENT),
983
+ /* harmony export */ SQLITE_IOERR_DIR_FSYNC: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_DIR_FSYNC),
984
+ /* harmony export */ SQLITE_IOERR_FSTAT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_FSTAT),
985
+ /* harmony export */ SQLITE_IOERR_FSYNC: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_FSYNC),
986
+ /* harmony export */ SQLITE_IOERR_GETTEMPPATH: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_GETTEMPPATH),
987
+ /* harmony export */ SQLITE_IOERR_LOCK: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_LOCK),
988
+ /* harmony export */ SQLITE_IOERR_NOMEM: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_NOMEM),
989
+ /* harmony export */ SQLITE_IOERR_RDLOCK: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_RDLOCK),
990
+ /* harmony export */ SQLITE_IOERR_READ: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_READ),
991
+ /* harmony export */ SQLITE_IOERR_ROLLBACK_ATOMIC: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_ROLLBACK_ATOMIC),
992
+ /* harmony export */ SQLITE_IOERR_SEEK: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_SEEK),
993
+ /* harmony export */ SQLITE_IOERR_SHORT_READ: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_SHORT_READ),
994
+ /* harmony export */ SQLITE_IOERR_TRUNCATE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_TRUNCATE),
995
+ /* harmony export */ SQLITE_IOERR_UNLOCK: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_UNLOCK),
996
+ /* harmony export */ SQLITE_IOERR_VNODE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_VNODE),
997
+ /* harmony export */ SQLITE_IOERR_WRITE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_WRITE),
998
+ /* harmony export */ SQLITE_LIMIT_ATTACHED: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_LIMIT_ATTACHED),
999
+ /* harmony export */ SQLITE_LIMIT_COLUMN: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_LIMIT_COLUMN),
1000
+ /* harmony export */ SQLITE_LIMIT_COMPOUND_SELECT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_LIMIT_COMPOUND_SELECT),
1001
+ /* harmony export */ SQLITE_LIMIT_EXPR_DEPTH: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_LIMIT_EXPR_DEPTH),
1002
+ /* harmony export */ SQLITE_LIMIT_FUNCTION_ARG: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_LIMIT_FUNCTION_ARG),
1003
+ /* harmony export */ SQLITE_LIMIT_LENGTH: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_LIMIT_LENGTH),
1004
+ /* harmony export */ SQLITE_LIMIT_LIKE_PATTERN_LENGTH: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_LIMIT_LIKE_PATTERN_LENGTH),
1005
+ /* harmony export */ SQLITE_LIMIT_SQL_LENGTH: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_LIMIT_SQL_LENGTH),
1006
+ /* harmony export */ SQLITE_LIMIT_TRIGGER_DEPTH: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_LIMIT_TRIGGER_DEPTH),
1007
+ /* harmony export */ SQLITE_LIMIT_VARIABLE_NUMBER: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_LIMIT_VARIABLE_NUMBER),
1008
+ /* harmony export */ SQLITE_LIMIT_VDBE_OP: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_LIMIT_VDBE_OP),
1009
+ /* harmony export */ SQLITE_LIMIT_WORKER_THREADS: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_LIMIT_WORKER_THREADS),
1010
+ /* harmony export */ SQLITE_LOCKED: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_LOCKED),
1011
+ /* harmony export */ SQLITE_LOCK_EXCLUSIVE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_LOCK_EXCLUSIVE),
1012
+ /* harmony export */ SQLITE_LOCK_NONE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_LOCK_NONE),
1013
+ /* harmony export */ SQLITE_LOCK_PENDING: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_LOCK_PENDING),
1014
+ /* harmony export */ SQLITE_LOCK_RESERVED: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_LOCK_RESERVED),
1015
+ /* harmony export */ SQLITE_LOCK_SHARED: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_LOCK_SHARED),
1016
+ /* harmony export */ SQLITE_MISMATCH: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_MISMATCH),
1017
+ /* harmony export */ SQLITE_MISUSE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_MISUSE),
1018
+ /* harmony export */ SQLITE_NOLFS: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_NOLFS),
1019
+ /* harmony export */ SQLITE_NOMEM: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_NOMEM),
1020
+ /* harmony export */ SQLITE_NOTADB: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_NOTADB),
1021
+ /* harmony export */ SQLITE_NOTFOUND: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_NOTFOUND),
1022
+ /* harmony export */ SQLITE_NOTICE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_NOTICE),
1023
+ /* harmony export */ SQLITE_NULL: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_NULL),
1024
+ /* harmony export */ SQLITE_OK: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OK),
1025
+ /* harmony export */ SQLITE_OPEN_AUTOPROXY: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_AUTOPROXY),
1026
+ /* harmony export */ SQLITE_OPEN_CREATE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_CREATE),
1027
+ /* harmony export */ SQLITE_OPEN_DELETEONCLOSE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_DELETEONCLOSE),
1028
+ /* harmony export */ SQLITE_OPEN_EXCLUSIVE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_EXCLUSIVE),
1029
+ /* harmony export */ SQLITE_OPEN_FULLMUTEX: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_FULLMUTEX),
1030
+ /* harmony export */ SQLITE_OPEN_MAIN_DB: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_MAIN_DB),
1031
+ /* harmony export */ SQLITE_OPEN_MAIN_JOURNAL: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_MAIN_JOURNAL),
1032
+ /* harmony export */ SQLITE_OPEN_MEMORY: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_MEMORY),
1033
+ /* harmony export */ SQLITE_OPEN_NOFOLLOW: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_NOFOLLOW),
1034
+ /* harmony export */ SQLITE_OPEN_NOMUTEX: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_NOMUTEX),
1035
+ /* harmony export */ SQLITE_OPEN_PRIVATECACHE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_PRIVATECACHE),
1036
+ /* harmony export */ SQLITE_OPEN_READONLY: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_READONLY),
1037
+ /* harmony export */ SQLITE_OPEN_READWRITE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_READWRITE),
1038
+ /* harmony export */ SQLITE_OPEN_SHAREDCACHE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_SHAREDCACHE),
1039
+ /* harmony export */ SQLITE_OPEN_SUBJOURNAL: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_SUBJOURNAL),
1040
+ /* harmony export */ SQLITE_OPEN_SUPER_JOURNAL: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_SUPER_JOURNAL),
1041
+ /* harmony export */ SQLITE_OPEN_TEMP_DB: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_TEMP_DB),
1042
+ /* harmony export */ SQLITE_OPEN_TEMP_JOURNAL: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_TEMP_JOURNAL),
1043
+ /* harmony export */ SQLITE_OPEN_TRANSIENT_DB: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_TRANSIENT_DB),
1044
+ /* harmony export */ SQLITE_OPEN_URI: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_URI),
1045
+ /* harmony export */ SQLITE_OPEN_WAL: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_WAL),
1046
+ /* harmony export */ SQLITE_PERM: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_PERM),
1047
+ /* harmony export */ SQLITE_PRAGMA: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_PRAGMA),
1048
+ /* harmony export */ SQLITE_PROTOCOL: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_PROTOCOL),
1049
+ /* harmony export */ SQLITE_RANGE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_RANGE),
1050
+ /* harmony export */ SQLITE_READ: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_READ),
1051
+ /* harmony export */ SQLITE_READONLY: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_READONLY),
1052
+ /* harmony export */ SQLITE_RECURSIVE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_RECURSIVE),
1053
+ /* harmony export */ SQLITE_REINDEX: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_REINDEX),
1054
+ /* harmony export */ SQLITE_ROW: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_ROW),
1055
+ /* harmony export */ SQLITE_SAVEPOINT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_SAVEPOINT),
1056
+ /* harmony export */ SQLITE_SCHEMA: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_SCHEMA),
1057
+ /* harmony export */ SQLITE_SELECT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_SELECT),
1058
+ /* harmony export */ SQLITE_STATIC: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_STATIC),
1059
+ /* harmony export */ SQLITE_SUBTYPE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_SUBTYPE),
1060
+ /* harmony export */ SQLITE_SYNC_DATAONLY: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_SYNC_DATAONLY),
1061
+ /* harmony export */ SQLITE_SYNC_FULL: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_SYNC_FULL),
1062
+ /* harmony export */ SQLITE_SYNC_NORMAL: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_SYNC_NORMAL),
1063
+ /* harmony export */ SQLITE_TEXT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_TEXT),
1064
+ /* harmony export */ SQLITE_TOOBIG: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_TOOBIG),
1065
+ /* harmony export */ SQLITE_TRANSACTION: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_TRANSACTION),
1066
+ /* harmony export */ SQLITE_TRANSIENT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_TRANSIENT),
1067
+ /* harmony export */ SQLITE_UPDATE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_UPDATE),
1068
+ /* harmony export */ SQLITE_UTF16: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_UTF16),
1069
+ /* harmony export */ SQLITE_UTF16BE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_UTF16BE),
1070
+ /* harmony export */ SQLITE_UTF16LE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_UTF16LE),
1071
+ /* harmony export */ SQLITE_UTF8: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_UTF8),
1072
+ /* harmony export */ SQLITE_WARNING: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_WARNING),
1073
+ /* harmony export */ SQLiteError: () => (/* binding */ SQLiteError)
1074
+ /* harmony export */ });
1075
+ /* harmony import */ var _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./sqlite-constants.js */ "../../node_modules/@journeyapps/wa-sqlite/src/sqlite-constants.js");
1076
+ // Copyright 2021 Roy T. Hashimoto. All Rights Reserved.
1077
+
1078
+
1079
+
1080
+
1081
+ /**
1082
+ * Need to have a serializer for bigint
1083
+ * https://github.com/GoogleChromeLabs/jsbi/issues/30
1084
+ */
1085
+ if (typeof BigInt.prototype['toJSON'] == 'undefined') {
1086
+ BigInt.prototype['toJSON'] = function() {
1087
+ return this.toString();
1088
+ };
1089
+ }
1090
+
1091
+ const MAX_INT64 = 0x7fffffffffffffffn;
1092
+ const MIN_INT64 = -0x8000000000000000n;
1093
+
1094
+ class SQLiteError extends Error {
1095
+ constructor(message, code) {
1096
+ super(message);
1097
+ this.code = code;
1098
+ }
1099
+ }
1100
+
1101
+ const async = true;
1102
+
1103
+ const onTableChangeCallbacks = {};
1104
+ globalThis.__onTablesChanged = function(db, opType, tableName, rowId) {
1105
+ setTimeout(() => onTableChangeCallbacks[db]?.(opType, tableName, rowId), 0);
1106
+ };
1107
+
1108
+ /**
1109
+ * Builds a Javascript API from the Emscripten module. This API is still
1110
+ * low-level and closely corresponds to the C API exported by the module,
1111
+ * but differs in some specifics like throwing exceptions on errors.
1112
+ * @param {*} Module SQLite Emscripten module
1113
+ * @returns {SQLiteAPI}
1114
+ */
1115
+ function Factory(Module) {
1116
+ /** @type {SQLiteAPI} */ const sqlite3 = {};
1117
+
1118
+ const sqliteFreeAddress = Module._getSqliteFree();
1119
+
1120
+ // Allocate some space for 32-bit returned values.
1121
+ const tmp = Module._malloc(8);
1122
+ const tmpPtr = [tmp, tmp + 4];
1123
+
1124
+ // Convert a JS string to a C string. sqlite3_malloc is used to allocate
1125
+ // memory (use sqlite3_free to deallocate).
1126
+ function createUTF8(s) {
1127
+ if (typeof s !== 'string') return 0;
1128
+ const n = Module.lengthBytesUTF8(s);
1129
+ const zts = Module._sqlite3_malloc(n + 1);
1130
+ Module.stringToUTF8(s, zts, n + 1);
1131
+ return zts;
1132
+ }
1133
+
1134
+ /**
1135
+ * Concatenate 32-bit numbers into a 64-bit (signed) BigInt.
1136
+ * @param {number} lo32
1137
+ * @param {number} hi32
1138
+ * @returns {bigint}
1139
+ */
1140
+ function cvt32x2ToBigInt(lo32, hi32) {
1141
+ return (BigInt(hi32) << 32n) | (BigInt(lo32) & 0xffffffffn);
1142
+ }
1143
+
1144
+ // /**
1145
+ // * Setup table change update callback
1146
+ // */
1147
+ // var onTableChangedFunctionPointer = Module.addFunction(onTableUpdate);
1148
+ // var passFnPointer = Module.cwrap('passFnPointer', 'undefined', ['number']);
1149
+ // passFnPointer(onTableChangedFunctionPointer);
1150
+ /**
1151
+ * Concatenate 32-bit numbers and return as number or BigInt, depending
1152
+ * on the value.
1153
+ * @param {number} lo32
1154
+ * @param {number} hi32
1155
+ * @returns {number|bigint}
1156
+ */
1157
+ const cvt32x2AsSafe = (function() {
1158
+ const hiMax = BigInt(Number.MAX_SAFE_INTEGER) >> 32n;
1159
+ const hiMin = BigInt(Number.MIN_SAFE_INTEGER) >> 32n;
1160
+
1161
+ return function(lo32, hi32) {
1162
+ if (hi32 > hiMax || hi32 < hiMin) {
1163
+ // Can't be expressed as a Number so use BigInt.
1164
+ return cvt32x2ToBigInt(lo32, hi32);
1165
+ } else {
1166
+ // Combine the upper and lower 32-bit numbers. The complication is
1167
+ // that lo32 is a signed integer which makes manipulating its bits
1168
+ // a little tricky - the sign bit gets handled separately.
1169
+ return hi32 * 0x100000000 + (lo32 & 0x7fffffff) - (lo32 & 0x80000000);
1170
+ }
1171
+ };
1172
+ })();
1173
+
1174
+ const databases = new Set();
1175
+ function verifyDatabase(db) {
1176
+ if (!databases.has(db)) {
1177
+ throw new SQLiteError('not a database', _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_MISUSE);
1178
+ }
1179
+ }
1180
+
1181
+ const mapStmtToDB = new Map();
1182
+ function verifyStatement(stmt) {
1183
+ if (!mapStmtToDB.has(stmt)) {
1184
+ throw new SQLiteError('not a statement', _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_MISUSE);
1185
+ }
1186
+ }
1187
+
1188
+ sqlite3.bind_collection = function(stmt, bindings) {
1189
+ verifyStatement(stmt);
1190
+ const isArray = Array.isArray(bindings);
1191
+ const nBindings = sqlite3.bind_parameter_count(stmt);
1192
+ for (let i = 1; i <= nBindings; ++i) {
1193
+ const key = isArray ? i - 1 : sqlite3.bind_parameter_name(stmt, i);
1194
+ const value = bindings[key];
1195
+ if (value !== undefined) {
1196
+ sqlite3.bind(stmt, i, value);
1197
+ }
1198
+ }
1199
+ return _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OK;
1200
+ };
1201
+
1202
+ sqlite3.bind = function(stmt, i, value) {
1203
+ verifyStatement(stmt);
1204
+ switch (typeof value) {
1205
+ case 'number':
1206
+ if (value === (value | 0)) {
1207
+ return sqlite3.bind_int(stmt, i, value);
1208
+ } else {
1209
+ return sqlite3.bind_double(stmt, i, value);
1210
+ }
1211
+ case 'string':
1212
+ return sqlite3.bind_text(stmt, i, value);
1213
+ default:
1214
+ if (value instanceof Uint8Array || Array.isArray(value)) {
1215
+ return sqlite3.bind_blob(stmt, i, value);
1216
+ } else if (value === null) {
1217
+ return sqlite3.bind_null(stmt, i);
1218
+ } else if (typeof value === 'bigint') {
1219
+ return sqlite3.bind_int64(stmt, i, value);
1220
+ } else if (value === undefined) {
1221
+ // Existing binding (or NULL) will be used.
1222
+ return _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_NOTICE;
1223
+ } else {
1224
+ console.warn('unknown binding converted to null', value);
1225
+ return sqlite3.bind_null(stmt, i);
1226
+ }
1227
+ }
1228
+ };
1229
+
1230
+ sqlite3.bind_blob = (function() {
1231
+ const fname = 'sqlite3_bind_blob';
1232
+ const f = Module.cwrap(fname, ...decl('nnnnn:n'));
1233
+ return function(stmt, i, value) {
1234
+ verifyStatement(stmt);
1235
+ // @ts-ignore
1236
+ const byteLength = value.byteLength ?? value.length;
1237
+ const ptr = Module._sqlite3_malloc(byteLength);
1238
+ Module.HEAPU8.subarray(ptr).set(value);
1239
+ const result = f(stmt, i, ptr, byteLength, sqliteFreeAddress);
1240
+ // trace(fname, result);
1241
+ return check(fname, result, mapStmtToDB.get(stmt));
1242
+ };
1243
+ })();
1244
+
1245
+ sqlite3.bind_parameter_count = (function() {
1246
+ const fname = 'sqlite3_bind_parameter_count';
1247
+ const f = Module.cwrap(fname, ...decl('n:n'));
1248
+ return function(stmt) {
1249
+ verifyStatement(stmt);
1250
+ const result = f(stmt);
1251
+ // trace(fname, result);
1252
+ return result;
1253
+ };
1254
+ })();
1255
+
1256
+ sqlite3.bind_double = (function() {
1257
+ const fname = 'sqlite3_bind_double';
1258
+ const f = Module.cwrap(fname, ...decl('nnn:n'));
1259
+ return function(stmt, i, value) {
1260
+ verifyStatement(stmt);
1261
+ const result = f(stmt, i, value);
1262
+ // trace(fname, result);
1263
+ return check(fname, result, mapStmtToDB.get(stmt));
1264
+ };
1265
+ })();
1266
+
1267
+ sqlite3.bind_int = (function() {
1268
+ const fname = 'sqlite3_bind_int';
1269
+ const f = Module.cwrap(fname, ...decl('nnn:n'));
1270
+ return function(stmt, i, value) {
1271
+ verifyStatement(stmt);
1272
+ if (value > 0x7fffffff || value < -0x80000000) return _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_RANGE;
1273
+
1274
+ const result = f(stmt, i, value);
1275
+ // trace(fname, result);
1276
+ return check(fname, result, mapStmtToDB.get(stmt));
1277
+ };
1278
+ })();
1279
+
1280
+ sqlite3.bind_int64 = (function() {
1281
+ const fname = 'sqlite3_bind_int64';
1282
+ const f = Module.cwrap(fname, ...decl('nnnn:n'));
1283
+ return function(stmt, i, value) {
1284
+ verifyStatement(stmt);
1285
+ if (value > MAX_INT64 || value < MIN_INT64) return _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_RANGE;
1286
+
1287
+ const lo32 = value & 0xffffffffn;
1288
+ const hi32 = value >> 32n;
1289
+ const result = f(stmt, i, Number(lo32), Number(hi32));
1290
+ // trace(fname, result);
1291
+ return check(fname, result, mapStmtToDB.get(stmt));
1292
+ };
1293
+ })();
1294
+
1295
+ sqlite3.bind_null = (function() {
1296
+ const fname = 'sqlite3_bind_null';
1297
+ const f = Module.cwrap(fname, ...decl('nn:n'));
1298
+ return function(stmt, i) {
1299
+ verifyStatement(stmt);
1300
+ const result = f(stmt, i);
1301
+ // trace(fname, result);
1302
+ return check(fname, result, mapStmtToDB.get(stmt));
1303
+ };
1304
+ })();
1305
+
1306
+ sqlite3.bind_parameter_name = (function() {
1307
+ const fname = 'sqlite3_bind_parameter_name';
1308
+ const f = Module.cwrap(fname, ...decl('n:s'));
1309
+ return function(stmt, i) {
1310
+ verifyStatement(stmt);
1311
+ const result = f(stmt, i);
1312
+ // trace(fname, result);
1313
+ return result;
1314
+ };
1315
+ })();
1316
+
1317
+ sqlite3.bind_text = (function() {
1318
+ const fname = 'sqlite3_bind_text';
1319
+ const f = Module.cwrap(fname, ...decl('nnnnn:n'));
1320
+ return function(stmt, i, value) {
1321
+ verifyStatement(stmt);
1322
+ const ptr = createUTF8(value);
1323
+ const result = f(stmt, i, ptr, -1, sqliteFreeAddress);
1324
+ // trace(fname, result);
1325
+ return check(fname, result, mapStmtToDB.get(stmt));
1326
+ };
1327
+ })();
1328
+
1329
+ sqlite3.changes = (function() {
1330
+ const fname = 'sqlite3_changes';
1331
+ const f = Module.cwrap(fname, ...decl('n:n'));
1332
+ return function(db) {
1333
+ verifyDatabase(db);
1334
+ const result = f(db);
1335
+ // trace(fname, result);
1336
+ return result;
1337
+ };
1338
+ })();
1339
+
1340
+ sqlite3.last_insert_id = (function() {
1341
+ const fname = 'sqlite3_last_insert_rowid';
1342
+ const f = Module.cwrap(fname, ...decl('n:n'));
1343
+ return function(db) {
1344
+ verifyDatabase(db);
1345
+ const result = f(db);
1346
+ // trace(fname, result);
1347
+ return result;
1348
+ };
1349
+ })();
1350
+
1351
+ sqlite3.close = (function() {
1352
+ const fname = 'sqlite3_close';
1353
+ const f = Module.cwrap(fname, ...decl('n:n'), { async });
1354
+ return async function(db) {
1355
+ verifyDatabase(db);
1356
+ const result = await f(db);
1357
+ databases.delete(db);
1358
+ return check(fname, result, db);
1359
+ };
1360
+ })();
1361
+
1362
+ sqlite3.column = function(stmt, iCol) {
1363
+ verifyStatement(stmt);
1364
+ const type = sqlite3.column_type(stmt, iCol);
1365
+ switch (type) {
1366
+ case _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_BLOB:
1367
+ return sqlite3.column_blob(stmt, iCol);
1368
+ case _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FLOAT:
1369
+ return sqlite3.column_double(stmt, iCol);
1370
+ case _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INTEGER:
1371
+ const lo32 = sqlite3.column_int(stmt, iCol);
1372
+ const hi32 = Module.getTempRet0();
1373
+ return cvt32x2AsSafe(lo32, hi32);
1374
+ case _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_NULL:
1375
+ return null;
1376
+ case _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_TEXT:
1377
+ return sqlite3.column_text(stmt, iCol);
1378
+ default:
1379
+ throw new SQLiteError('unknown type', type);
1380
+ }
1381
+ };
1382
+
1383
+ sqlite3.column_blob = (function() {
1384
+ const fname = 'sqlite3_column_blob';
1385
+ const f = Module.cwrap(fname, ...decl('nn:n'));
1386
+ return function(stmt, iCol) {
1387
+ verifyStatement(stmt);
1388
+ const nBytes = sqlite3.column_bytes(stmt, iCol);
1389
+ const address = f(stmt, iCol);
1390
+ const result = Module.HEAPU8.subarray(address, address + nBytes);
1391
+ // trace(fname, result);
1392
+ return result;
1393
+ };
1394
+ })();
1395
+
1396
+ sqlite3.column_bytes = (function() {
1397
+ const fname = 'sqlite3_column_bytes';
1398
+ const f = Module.cwrap(fname, ...decl('nn:n'));
1399
+ return function(stmt, iCol) {
1400
+ verifyStatement(stmt);
1401
+ const result = f(stmt, iCol);
1402
+ // trace(fname, result);
1403
+ return result;
1404
+ };
1405
+ })();
1406
+
1407
+ sqlite3.column_count = (function() {
1408
+ const fname = 'sqlite3_column_count';
1409
+ const f = Module.cwrap(fname, ...decl('n:n'));
1410
+ return function(stmt) {
1411
+ verifyStatement(stmt);
1412
+ const result = f(stmt);
1413
+ // trace(fname, result);
1414
+ return result;
1415
+ };
1416
+ })();
1417
+
1418
+ sqlite3.column_double = (function() {
1419
+ const fname = 'sqlite3_column_double';
1420
+ const f = Module.cwrap(fname, ...decl('nn:n'));
1421
+ return function(stmt, iCol) {
1422
+ verifyStatement(stmt);
1423
+ const result = f(stmt, iCol);
1424
+ // trace(fname, result);
1425
+ return result;
1426
+ };
1427
+ })();
1428
+
1429
+ sqlite3.column_int = (function() {
1430
+ // Retrieve int64 but use only the lower 32 bits. The upper 32-bits are
1431
+ // accessible with Module.getTempRet0().
1432
+ const fname = 'sqlite3_column_int64';
1433
+ const f = Module.cwrap(fname, ...decl('nn:n'));
1434
+ return function(stmt, iCol) {
1435
+ verifyStatement(stmt);
1436
+ const result = f(stmt, iCol);
1437
+ // trace(fname, result);
1438
+ return result;
1439
+ };
1440
+ })();
1441
+
1442
+ sqlite3.column_int64 = (function() {
1443
+ const fname = 'sqlite3_column_int64';
1444
+ const f = Module.cwrap(fname, ...decl('nn:n'));
1445
+ return function(stmt, iCol) {
1446
+ verifyStatement(stmt);
1447
+ const lo32 = f(stmt, iCol);
1448
+ const hi32 = Module.getTempRet0();
1449
+ const result = cvt32x2ToBigInt(lo32, hi32);
1450
+ // trace(fname, result);
1451
+ return result;
1452
+ };
1453
+ })();
1454
+
1455
+ sqlite3.column_name = (function() {
1456
+ const fname = 'sqlite3_column_name';
1457
+ const f = Module.cwrap(fname, ...decl('nn:s'));
1458
+ return function(stmt, iCol) {
1459
+ verifyStatement(stmt);
1460
+ const result = f(stmt, iCol);
1461
+ // trace(fname, result);
1462
+ return result;
1463
+ };
1464
+ })();
1465
+
1466
+ sqlite3.column_names = function(stmt) {
1467
+ const columns = [];
1468
+ const nColumns = sqlite3.column_count(stmt);
1469
+ for (let i = 0; i < nColumns; ++i) {
1470
+ columns.push(sqlite3.column_name(stmt, i));
1471
+ }
1472
+ return columns;
1473
+ };
1474
+
1475
+ sqlite3.column_text = (function() {
1476
+ const fname = 'sqlite3_column_text';
1477
+ const f = Module.cwrap(fname, ...decl('nn:s'));
1478
+ return function(stmt, iCol) {
1479
+ verifyStatement(stmt);
1480
+ const result = f(stmt, iCol);
1481
+ // trace(fname, result);
1482
+ return result;
1483
+ };
1484
+ })();
1485
+
1486
+ sqlite3.column_type = (function() {
1487
+ const fname = 'sqlite3_column_type';
1488
+ const f = Module.cwrap(fname, ...decl('nn:n'));
1489
+ return function(stmt, iCol) {
1490
+ verifyStatement(stmt);
1491
+ const result = f(stmt, iCol);
1492
+ // trace(fname, result);
1493
+ return result;
1494
+ };
1495
+ })();
1496
+
1497
+ sqlite3.create_function = function(db, zFunctionName, nArg, eTextRep, pApp, xFunc, xStep, xFinal) {
1498
+ verifyDatabase(db);
1499
+ if (xFunc && !xStep && !xFinal) {
1500
+ const result = Module.createFunction(db, zFunctionName, nArg, eTextRep, pApp, xFunc);
1501
+ return check('sqlite3_create_function', result, db);
1502
+ }
1503
+
1504
+ if (!xFunc && xStep && xFinal) {
1505
+ const result = Module.createAggregate(db, zFunctionName, nArg, eTextRep, pApp, xStep, xFinal);
1506
+ return check('sqlite3_create_function', result, db);
1507
+ }
1508
+
1509
+ throw new SQLiteError('invalid function combination', _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_MISUSE);
1510
+ };
1511
+
1512
+ sqlite3.create_module = function(db, zName, module, appData) {
1513
+ verifyDatabase(db);
1514
+ const result = Module.createModule(db, zName, module, appData);
1515
+ return check('sqlite3_create_module', result, db);
1516
+ };
1517
+
1518
+ sqlite3.data_count = (function() {
1519
+ const fname = 'sqlite3_data_count';
1520
+ const f = Module.cwrap(fname, ...decl('n:n'));
1521
+ return function(stmt) {
1522
+ verifyStatement(stmt);
1523
+ const result = f(stmt);
1524
+ // trace(fname, result);
1525
+ return result;
1526
+ };
1527
+ })();
1528
+
1529
+ sqlite3.declare_vtab = (function() {
1530
+ const fname = 'sqlite3_declare_vtab';
1531
+ const f = Module.cwrap(fname, ...decl('ns:n'));
1532
+ return function(pVTab, zSQL) {
1533
+ const result = f(pVTab, zSQL);
1534
+ return check('sqlite3_declare_vtab', result);
1535
+ }
1536
+ })();
1537
+
1538
+ sqlite3.exec = async function(db, sql, callback) {
1539
+ for await (const stmt of sqlite3.statements(db, sql)) {
1540
+ let columns;
1541
+ while ((await sqlite3.step(stmt)) === _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_ROW) {
1542
+ if (callback) {
1543
+ columns = columns ?? sqlite3.column_names(stmt);
1544
+ const row = sqlite3.row(stmt);
1545
+ await callback(row, columns);
1546
+ }
1547
+ }
1548
+ }
1549
+ return _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OK;
1550
+ };
1551
+
1552
+ sqlite3.finalize = (function() {
1553
+ const fname = 'sqlite3_finalize';
1554
+ const f = Module.cwrap(fname, ...decl('n:n'), { async });
1555
+ return async function(stmt) {
1556
+ if (!mapStmtToDB.has(stmt)) {
1557
+ return _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_MISUSE;
1558
+ }
1559
+ const result = await f(stmt);
1560
+
1561
+ const db = mapStmtToDB.get(stmt);
1562
+ mapStmtToDB.delete(stmt);
1563
+
1564
+ // Don't throw on error here. Typically the error has already been
1565
+ // thrown and finalize() is part of the cleanup.
1566
+ return result;
1567
+ };
1568
+ })();
1569
+
1570
+ sqlite3.get_autocommit = (function() {
1571
+ const fname = 'sqlite3_get_autocommit';
1572
+ const f = Module.cwrap(fname, ...decl('n:n'));
1573
+ return function(db) {
1574
+ const result = f(db);
1575
+ return result;
1576
+ };
1577
+ })();
1578
+
1579
+ sqlite3.libversion = (function() {
1580
+ const fname = 'sqlite3_libversion';
1581
+ const f = Module.cwrap(fname, ...decl(':s'));
1582
+ return function() {
1583
+ const result = f();
1584
+ return result;
1585
+ };
1586
+ })();
1587
+
1588
+ sqlite3.libversion_number = (function() {
1589
+ const fname = 'sqlite3_libversion_number';
1590
+ const f = Module.cwrap(fname, ...decl(':n'));
1591
+ return function() {
1592
+ const result = f();
1593
+ return result;
1594
+ };
1595
+ })();
1596
+
1597
+ sqlite3.limit = (function() {
1598
+ const fname = 'sqlite3_limit';
1599
+ const f = Module.cwrap(fname, ...decl('nnn:n'));
1600
+ return function(db, id, newVal) {
1601
+ const result = f(db, id, newVal);
1602
+ return result;
1603
+ };
1604
+ })();
1605
+
1606
+ sqlite3.open_v2 = (function() {
1607
+ const fname = 'sqlite3_open_v2';
1608
+ const f = Module.cwrap(fname, ...decl('snnn:n'), { async });
1609
+ return async function(zFilename, flags, zVfs) {
1610
+ flags = flags || _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_CREATE | _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_READWRITE;
1611
+ zVfs = createUTF8(zVfs);
1612
+ Module.ccall('setup_powersync', 'int', []);
1613
+
1614
+ const result = await f(zFilename, tmpPtr[0], flags, zVfs);
1615
+
1616
+ const db = Module.getValue(tmpPtr[0], '*');
1617
+
1618
+ databases.add(db);
1619
+ Module._sqlite3_free(zVfs);
1620
+
1621
+ Module.ccall('RegisterExtensionFunctions', 'void', ['number'], [db]);
1622
+ check(fname, result);
1623
+ return db;
1624
+ };
1625
+ })();
1626
+
1627
+ sqlite3.register_table_onchange_hook = function(db, callback) {
1628
+ // Register hooks for this DB as a global hook
1629
+ // It will call the global handler above
1630
+ Module.ccall('register_table_update_hook', 'int', ['number'], [db]);
1631
+
1632
+ onTableChangeCallbacks[db] = function(opType, tableNamePtr, rowId) {
1633
+ // Need to get the string from the pointer
1634
+ // const tableName = Module.UTF8ToString(Module.getValue(tableNamePtr, '*'));
1635
+ const memory = new DataView(Module.HEAPU8.buffer);
1636
+
1637
+ // Find the null terminator to determine the string length
1638
+ let length = 0;
1639
+ while (memory.getUint8(tableNamePtr + length) !== 0) {
1640
+ length++;
1641
+ }
1642
+
1643
+ // Extract the string content
1644
+ const stringBytes = new Uint8Array(Module.HEAPU8.buffer, tableNamePtr, length);
1645
+ const tableName = new TextDecoder().decode(stringBytes);
1646
+
1647
+ return callback(opType, tableName, rowId);
1648
+ };
1649
+ };
1650
+
1651
+ sqlite3.prepare_v2 = (function() {
1652
+ const fname = 'sqlite3_prepare_v2';
1653
+ const f = Module.cwrap(fname, ...decl('nnnnn:n'), { async });
1654
+ return async function(db, sql) {
1655
+ const result = await f(db, sql, -1, tmpPtr[0], tmpPtr[1]);
1656
+ check(fname, result, db);
1657
+
1658
+ const stmt = Module.getValue(tmpPtr[0], '*');
1659
+ if (stmt) {
1660
+ mapStmtToDB.set(stmt, db);
1661
+ return { stmt, sql: Module.getValue(tmpPtr[1], '*') };
1662
+ }
1663
+ return null;
1664
+ };
1665
+ })();
1666
+
1667
+ sqlite3.progress_handler = function(db, nProgressOps, handler, userData) {
1668
+ verifyDatabase(db);
1669
+ Module.progressHandler(db, nProgressOps, handler, userData);
1670
+ };
1671
+
1672
+ sqlite3.reset = (function() {
1673
+ const fname = 'sqlite3_reset';
1674
+ const f = Module.cwrap(fname, ...decl('n:n'), { async });
1675
+ return async function(stmt) {
1676
+ verifyStatement(stmt);
1677
+ const result = await f(stmt);
1678
+ return check(fname, result, mapStmtToDB.get(stmt));
1679
+ };
1680
+ })();
1681
+
1682
+ sqlite3.result = function(context, value) {
1683
+ switch (typeof value) {
1684
+ case 'number':
1685
+ if (value === (value | 0)) {
1686
+ sqlite3.result_int(context, value);
1687
+ } else {
1688
+ sqlite3.result_double(context, value);
1689
+ }
1690
+ break;
1691
+ case 'string':
1692
+ sqlite3.result_text(context, value);
1693
+ break;
1694
+ default:
1695
+ if (value instanceof Uint8Array || Array.isArray(value)) {
1696
+ sqlite3.result_blob(context, value);
1697
+ } else if (value === null) {
1698
+ sqlite3.result_null(context);
1699
+ } else if (typeof value === 'bigint') {
1700
+ return sqlite3.result_int64(context, value);
1701
+ } else {
1702
+ console.warn('unknown result converted to null', value);
1703
+ sqlite3.result_null(context);
1704
+ }
1705
+ break;
1706
+ }
1707
+ };
1708
+
1709
+ sqlite3.result_blob = (function() {
1710
+ const fname = 'sqlite3_result_blob';
1711
+ const f = Module.cwrap(fname, ...decl('nnnn:n'));
1712
+ return function(context, value) {
1713
+ // @ts-ignore
1714
+ const byteLength = value.byteLength ?? value.length;
1715
+ const ptr = Module._sqlite3_malloc(byteLength);
1716
+ Module.HEAPU8.subarray(ptr).set(value);
1717
+ f(context, ptr, byteLength, sqliteFreeAddress); // void return
1718
+ };
1719
+ })();
1720
+
1721
+ sqlite3.result_double = (function() {
1722
+ const fname = 'sqlite3_result_double';
1723
+ const f = Module.cwrap(fname, ...decl('nn:n'));
1724
+ return function(context, value) {
1725
+ f(context, value); // void return
1726
+ };
1727
+ })();
1728
+
1729
+ sqlite3.result_int = (function() {
1730
+ const fname = 'sqlite3_result_int';
1731
+ const f = Module.cwrap(fname, ...decl('nn:n'));
1732
+ return function(context, value) {
1733
+ f(context, value); // void return
1734
+ };
1735
+ })();
1736
+
1737
+ sqlite3.result_int64 = (function() {
1738
+ const fname = 'sqlite3_result_int64';
1739
+ const f = Module.cwrap(fname, ...decl('nnn:n'));
1740
+ return function(context, value) {
1741
+ if (value > MAX_INT64 || value < MIN_INT64) return _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_RANGE;
1742
+
1743
+ const lo32 = value & 0xffffffffn;
1744
+ const hi32 = value >> 32n;
1745
+ f(context, Number(lo32), Number(hi32)); // void return
1746
+ };
1747
+ })();
1748
+
1749
+ sqlite3.result_null = (function() {
1750
+ const fname = 'sqlite3_result_null';
1751
+ const f = Module.cwrap(fname, ...decl('n:n'));
1752
+ return function(context) {
1753
+ f(context); // void return
1754
+ };
1755
+ })();
1756
+
1757
+ sqlite3.result_text = (function() {
1758
+ const fname = 'sqlite3_result_text';
1759
+ const f = Module.cwrap(fname, ...decl('nnnn:n'));
1760
+ return function(context, value) {
1761
+ const ptr = createUTF8(value);
1762
+ f(context, ptr, -1, sqliteFreeAddress); // void return
1763
+ };
1764
+ })();
1765
+
1766
+ sqlite3.row = function(stmt) {
1767
+ const row = [];
1768
+ const nColumns = sqlite3.data_count(stmt);
1769
+ for (let i = 0; i < nColumns; ++i) {
1770
+ const value = sqlite3.column(stmt, i);
1771
+
1772
+ // Copy blob if aliasing volatile WebAssembly memory. This avoids an
1773
+ // unnecessary copy if users monkey patch column_blob to copy.
1774
+ // @ts-ignore
1775
+ row.push(value?.buffer === Module.HEAPU8.buffer ? value.slice() : value);
1776
+ }
1777
+ return row;
1778
+ };
1779
+
1780
+ sqlite3.set_authorizer = function(db, authFunction, userData) {
1781
+ verifyDatabase(db);
1782
+ const result = Module.setAuthorizer(db, authFunction, userData);
1783
+ return check('sqlite3_set_authorizer', result, db);
1784
+ };
1785
+
1786
+ sqlite3.sql = (function() {
1787
+ const fname = 'sqlite3_sql';
1788
+ const f = Module.cwrap(fname, ...decl('n:s'));
1789
+ return function(stmt) {
1790
+ verifyStatement(stmt);
1791
+ const result = f(stmt);
1792
+ // trace(fname, result);
1793
+ return result;
1794
+ };
1795
+ })();
1796
+
1797
+ sqlite3.statements = function(db, sql) {
1798
+ return (async function*() {
1799
+ const str = sqlite3.str_new(db, sql);
1800
+ let prepared = { stmt: null, sql: sqlite3.str_value(str) };
1801
+ try {
1802
+ while ((prepared = await sqlite3.prepare_v2(db, prepared.sql))) {
1803
+ // console.log(sqlite3.sql(prepared.stmt));
1804
+ yield prepared.stmt;
1805
+ sqlite3.finalize(prepared.stmt);
1806
+ prepared.stmt = null;
1807
+ }
1808
+ } finally {
1809
+ if (prepared?.stmt) {
1810
+ sqlite3.finalize(prepared.stmt);
1811
+ }
1812
+ sqlite3.str_finish(str);
1813
+ }
1814
+ })();
1815
+ };
1816
+
1817
+ sqlite3.step = (function() {
1818
+ const fname = 'sqlite3_step';
1819
+ const f = Module.cwrap(fname, ...decl('n:n'), { async });
1820
+ return async function(stmt) {
1821
+ verifyStatement(stmt);
1822
+ const result = await f(stmt);
1823
+ return check(fname, result, mapStmtToDB.get(stmt), [_sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_ROW, _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_DONE]);
1824
+ };
1825
+ })();
1826
+
1827
+ // Duplicate some of the SQLite dynamic string API but without
1828
+ // calling SQLite (except for memory allocation). We need some way
1829
+ // to transfer Javascript strings and might as well use an API
1830
+ // that mimics the SQLite API.
1831
+ let stringId = 0;
1832
+ const strings = new Map();
1833
+
1834
+ sqlite3.str_new = function(db, s = '') {
1835
+ const sBytes = Module.lengthBytesUTF8(s);
1836
+ const str = stringId++ & 0xffffffff;
1837
+ const data = {
1838
+ offset: Module._sqlite3_malloc(sBytes + 1),
1839
+ bytes: sBytes
1840
+ };
1841
+ strings.set(str, data);
1842
+ Module.stringToUTF8(s, data.offset, data.bytes + 1);
1843
+ return str;
1844
+ };
1845
+
1846
+ sqlite3.str_appendall = function(str, s) {
1847
+ if (!strings.has(str)) {
1848
+ throw new SQLiteError('not a string', _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_MISUSE);
1849
+ }
1850
+ const data = strings.get(str);
1851
+
1852
+ const sBytes = Module.lengthBytesUTF8(s);
1853
+ const newBytes = data.bytes + sBytes;
1854
+ const newOffset = Module._sqlite3_malloc(newBytes + 1);
1855
+ const newArray = Module.HEAPU8.subarray(newOffset, newOffset + newBytes + 1);
1856
+ newArray.set(Module.HEAPU8.subarray(data.offset, data.offset + data.bytes));
1857
+ Module.stringToUTF8(s, newOffset + data.bytes, sBytes + 1);
1858
+
1859
+ Module._sqlite3_free(data.offset);
1860
+ data.offset = newOffset;
1861
+ data.bytes = newBytes;
1862
+ strings.set(str, data);
1863
+ };
1864
+
1865
+ sqlite3.str_finish = function(str) {
1866
+ if (!strings.has(str)) {
1867
+ throw new SQLiteError('not a string', _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_MISUSE);
1868
+ }
1869
+ const data = strings.get(str);
1870
+ strings.delete(str);
1871
+ Module._sqlite3_free(data.offset);
1872
+ };
1873
+
1874
+ sqlite3.str_value = function(str) {
1875
+ if (!strings.has(str)) {
1876
+ throw new SQLiteError('not a string', _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_MISUSE);
1877
+ }
1878
+ return strings.get(str).offset;
1879
+ };
1880
+
1881
+ sqlite3.user_data = function(context) {
1882
+ return Module.getFunctionUserData(context);
1883
+ };
1884
+
1885
+ sqlite3.value = function(pValue) {
1886
+ const type = sqlite3.value_type(pValue);
1887
+ switch (type) {
1888
+ case _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_BLOB:
1889
+ return sqlite3.value_blob(pValue);
1890
+ case _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FLOAT:
1891
+ return sqlite3.value_double(pValue);
1892
+ case _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INTEGER:
1893
+ const lo32 = sqlite3.value_int(pValue);
1894
+ const hi32 = Module.getTempRet0();
1895
+ return cvt32x2AsSafe(lo32, hi32);
1896
+ case _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_NULL:
1897
+ return null;
1898
+ case _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_TEXT:
1899
+ return sqlite3.value_text(pValue);
1900
+ default:
1901
+ throw new SQLiteError('unknown type', type);
1902
+ }
1903
+ };
1904
+
1905
+ sqlite3.value_blob = (function() {
1906
+ const fname = 'sqlite3_value_blob';
1907
+ const f = Module.cwrap(fname, ...decl('n:n'));
1908
+ return function(pValue) {
1909
+ const nBytes = sqlite3.value_bytes(pValue);
1910
+ const address = f(pValue);
1911
+ const result = Module.HEAPU8.subarray(address, address + nBytes);
1912
+ // trace(fname, result);
1913
+ return result;
1914
+ };
1915
+ })();
1916
+
1917
+ sqlite3.value_bytes = (function() {
1918
+ const fname = 'sqlite3_value_bytes';
1919
+ const f = Module.cwrap(fname, ...decl('n:n'));
1920
+ return function(pValue) {
1921
+ const result = f(pValue);
1922
+ // trace(fname, result);
1923
+ return result;
1924
+ };
1925
+ })();
1926
+
1927
+ sqlite3.value_double = (function() {
1928
+ const fname = 'sqlite3_value_double';
1929
+ const f = Module.cwrap(fname, ...decl('n:n'));
1930
+ return function(pValue) {
1931
+ const result = f(pValue);
1932
+ // trace(fname, result);
1933
+ return result;
1934
+ };
1935
+ })();
1936
+
1937
+ sqlite3.value_int = (function() {
1938
+ const fname = 'sqlite3_value_int64';
1939
+ const f = Module.cwrap(fname, ...decl('n:n'));
1940
+ return function(pValue) {
1941
+ const result = f(pValue);
1942
+ // trace(fname, result);
1943
+ return result;
1944
+ };
1945
+ })();
1946
+
1947
+ sqlite3.value_int64 = (function() {
1948
+ const fname = 'sqlite3_value_int64';
1949
+ const f = Module.cwrap(fname, ...decl('n:n'));
1950
+ return function(pValue) {
1951
+ const lo32 = f(pValue);
1952
+ const hi32 = Module.getTempRet0();
1953
+ const result = cvt32x2ToBigInt(lo32, hi32);
1954
+ // trace(fname, result);
1955
+ return result;
1956
+ };
1957
+ })();
1958
+
1959
+ sqlite3.value_text = (function() {
1960
+ const fname = 'sqlite3_value_text';
1961
+ const f = Module.cwrap(fname, ...decl('n:s'));
1962
+ return function(pValue) {
1963
+ const result = f(pValue);
1964
+ // trace(fname, result);
1965
+ return result;
1966
+ };
1967
+ })();
1968
+
1969
+ sqlite3.value_type = (function() {
1970
+ const fname = 'sqlite3_value_type';
1971
+ const f = Module.cwrap(fname, ...decl('n:n'));
1972
+ return function(pValue) {
1973
+ const result = f(pValue);
1974
+ // trace(fname, result);
1975
+ return result;
1976
+ };
1977
+ })();
1978
+
1979
+ sqlite3.vfs_register = function(vfs, makeDefault) {
1980
+ const result = Module.registerVFS(vfs, makeDefault);
1981
+ return check('sqlite3_vfs_register', result);
1982
+ };
1983
+
1984
+ function check(fname, result, db = null, allowed = [_sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OK]) {
1985
+ // trace(fname, result);
1986
+ if (allowed.includes(result)) return result;
1987
+ const message = db ? Module.ccall('sqlite3_errmsg', 'string', ['number'], [db]) : fname;
1988
+ throw new SQLiteError(message, result);
1989
+ }
1990
+
1991
+ return sqlite3;
1992
+ }
1993
+
1994
+ function trace(...args) {
1995
+ // const date = new Date();
1996
+ // const t = date.getHours().toString().padStart(2, '0') + ':' +
1997
+ // date.getMinutes().toString().padStart(2, '0') + ':' +
1998
+ // date.getSeconds().toString().padStart(2, '0') + '.' +
1999
+ // date.getMilliseconds().toString().padStart(3, '0');
2000
+ // console.debug(t, ...args);
2001
+ }
2002
+
2003
+ // Helper function to use a more compact signature specification.
2004
+ function decl(s) {
2005
+ const result = [];
2006
+ const m = s.match(/([ns@]*):([nsv@])/);
2007
+ switch (m[2]) {
2008
+ case 'n':
2009
+ result.push('number');
2010
+ break;
2011
+ case 's':
2012
+ result.push('string');
2013
+ break;
2014
+ case 'v':
2015
+ result.push(null);
2016
+ break;
2017
+ }
2018
+
2019
+ const args = [];
2020
+ for (let c of m[1]) {
2021
+ switch (c) {
2022
+ case 'n':
2023
+ args.push('number');
2024
+ break;
2025
+ case 's':
2026
+ args.push('string');
2027
+ break;
2028
+ }
2029
+ }
2030
+ result.push(args);
2031
+ return result;
2032
+ }
2033
+
2034
+
2035
+ /***/ }),
2036
+
2037
+ /***/ "../../node_modules/@journeyapps/wa-sqlite/src/sqlite-constants.js":
2038
+ /*!*************************************************************************!*\
2039
+ !*** ../../node_modules/@journeyapps/wa-sqlite/src/sqlite-constants.js ***!
2040
+ \*************************************************************************/
2041
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2042
+
2043
+ __webpack_require__.r(__webpack_exports__);
2044
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2045
+ /* harmony export */ SQLITE_ABORT: () => (/* binding */ SQLITE_ABORT),
2046
+ /* harmony export */ SQLITE_ACCESS_EXISTS: () => (/* binding */ SQLITE_ACCESS_EXISTS),
2047
+ /* harmony export */ SQLITE_ACCESS_READ: () => (/* binding */ SQLITE_ACCESS_READ),
2048
+ /* harmony export */ SQLITE_ACCESS_READWRITE: () => (/* binding */ SQLITE_ACCESS_READWRITE),
2049
+ /* harmony export */ SQLITE_ALTER_TABLE: () => (/* binding */ SQLITE_ALTER_TABLE),
2050
+ /* harmony export */ SQLITE_ANALYZE: () => (/* binding */ SQLITE_ANALYZE),
2051
+ /* harmony export */ SQLITE_ATTACH: () => (/* binding */ SQLITE_ATTACH),
2052
+ /* harmony export */ SQLITE_AUTH: () => (/* binding */ SQLITE_AUTH),
2053
+ /* harmony export */ SQLITE_BLOB: () => (/* binding */ SQLITE_BLOB),
2054
+ /* harmony export */ SQLITE_BUSY: () => (/* binding */ SQLITE_BUSY),
2055
+ /* harmony export */ SQLITE_CANTOPEN: () => (/* binding */ SQLITE_CANTOPEN),
2056
+ /* harmony export */ SQLITE_CONSTRAINT: () => (/* binding */ SQLITE_CONSTRAINT),
2057
+ /* harmony export */ SQLITE_CONSTRAINT_CHECK: () => (/* binding */ SQLITE_CONSTRAINT_CHECK),
2058
+ /* harmony export */ SQLITE_CONSTRAINT_COMMITHOOK: () => (/* binding */ SQLITE_CONSTRAINT_COMMITHOOK),
2059
+ /* harmony export */ SQLITE_CONSTRAINT_FOREIGNKEY: () => (/* binding */ SQLITE_CONSTRAINT_FOREIGNKEY),
2060
+ /* harmony export */ SQLITE_CONSTRAINT_FUNCTION: () => (/* binding */ SQLITE_CONSTRAINT_FUNCTION),
2061
+ /* harmony export */ SQLITE_CONSTRAINT_NOTNULL: () => (/* binding */ SQLITE_CONSTRAINT_NOTNULL),
2062
+ /* harmony export */ SQLITE_CONSTRAINT_PINNED: () => (/* binding */ SQLITE_CONSTRAINT_PINNED),
2063
+ /* harmony export */ SQLITE_CONSTRAINT_PRIMARYKEY: () => (/* binding */ SQLITE_CONSTRAINT_PRIMARYKEY),
2064
+ /* harmony export */ SQLITE_CONSTRAINT_ROWID: () => (/* binding */ SQLITE_CONSTRAINT_ROWID),
2065
+ /* harmony export */ SQLITE_CONSTRAINT_TRIGGER: () => (/* binding */ SQLITE_CONSTRAINT_TRIGGER),
2066
+ /* harmony export */ SQLITE_CONSTRAINT_UNIQUE: () => (/* binding */ SQLITE_CONSTRAINT_UNIQUE),
2067
+ /* harmony export */ SQLITE_CONSTRAINT_VTAB: () => (/* binding */ SQLITE_CONSTRAINT_VTAB),
2068
+ /* harmony export */ SQLITE_COPY: () => (/* binding */ SQLITE_COPY),
2069
+ /* harmony export */ SQLITE_CORRUPT: () => (/* binding */ SQLITE_CORRUPT),
2070
+ /* harmony export */ SQLITE_CREATE_INDEX: () => (/* binding */ SQLITE_CREATE_INDEX),
2071
+ /* harmony export */ SQLITE_CREATE_TABLE: () => (/* binding */ SQLITE_CREATE_TABLE),
2072
+ /* harmony export */ SQLITE_CREATE_TEMP_INDEX: () => (/* binding */ SQLITE_CREATE_TEMP_INDEX),
2073
+ /* harmony export */ SQLITE_CREATE_TEMP_TABLE: () => (/* binding */ SQLITE_CREATE_TEMP_TABLE),
2074
+ /* harmony export */ SQLITE_CREATE_TEMP_TRIGGER: () => (/* binding */ SQLITE_CREATE_TEMP_TRIGGER),
2075
+ /* harmony export */ SQLITE_CREATE_TEMP_VIEW: () => (/* binding */ SQLITE_CREATE_TEMP_VIEW),
2076
+ /* harmony export */ SQLITE_CREATE_TRIGGER: () => (/* binding */ SQLITE_CREATE_TRIGGER),
2077
+ /* harmony export */ SQLITE_CREATE_VIEW: () => (/* binding */ SQLITE_CREATE_VIEW),
2078
+ /* harmony export */ SQLITE_CREATE_VTABLE: () => (/* binding */ SQLITE_CREATE_VTABLE),
2079
+ /* harmony export */ SQLITE_DELETE: () => (/* binding */ SQLITE_DELETE),
2080
+ /* harmony export */ SQLITE_DENY: () => (/* binding */ SQLITE_DENY),
2081
+ /* harmony export */ SQLITE_DETACH: () => (/* binding */ SQLITE_DETACH),
2082
+ /* harmony export */ SQLITE_DETERMINISTIC: () => (/* binding */ SQLITE_DETERMINISTIC),
2083
+ /* harmony export */ SQLITE_DIRECTONLY: () => (/* binding */ SQLITE_DIRECTONLY),
2084
+ /* harmony export */ SQLITE_DONE: () => (/* binding */ SQLITE_DONE),
2085
+ /* harmony export */ SQLITE_DROP_INDEX: () => (/* binding */ SQLITE_DROP_INDEX),
2086
+ /* harmony export */ SQLITE_DROP_TABLE: () => (/* binding */ SQLITE_DROP_TABLE),
2087
+ /* harmony export */ SQLITE_DROP_TEMP_INDEX: () => (/* binding */ SQLITE_DROP_TEMP_INDEX),
2088
+ /* harmony export */ SQLITE_DROP_TEMP_TABLE: () => (/* binding */ SQLITE_DROP_TEMP_TABLE),
2089
+ /* harmony export */ SQLITE_DROP_TEMP_TRIGGER: () => (/* binding */ SQLITE_DROP_TEMP_TRIGGER),
2090
+ /* harmony export */ SQLITE_DROP_TEMP_VIEW: () => (/* binding */ SQLITE_DROP_TEMP_VIEW),
2091
+ /* harmony export */ SQLITE_DROP_TRIGGER: () => (/* binding */ SQLITE_DROP_TRIGGER),
2092
+ /* harmony export */ SQLITE_DROP_VIEW: () => (/* binding */ SQLITE_DROP_VIEW),
2093
+ /* harmony export */ SQLITE_DROP_VTABLE: () => (/* binding */ SQLITE_DROP_VTABLE),
2094
+ /* harmony export */ SQLITE_EMPTY: () => (/* binding */ SQLITE_EMPTY),
2095
+ /* harmony export */ SQLITE_ERROR: () => (/* binding */ SQLITE_ERROR),
2096
+ /* harmony export */ SQLITE_FCNTL_BEGIN_ATOMIC_WRITE: () => (/* binding */ SQLITE_FCNTL_BEGIN_ATOMIC_WRITE),
2097
+ /* harmony export */ SQLITE_FCNTL_BUSYHANDLER: () => (/* binding */ SQLITE_FCNTL_BUSYHANDLER),
2098
+ /* harmony export */ SQLITE_FCNTL_CHUNK_SIZE: () => (/* binding */ SQLITE_FCNTL_CHUNK_SIZE),
2099
+ /* harmony export */ SQLITE_FCNTL_CKPT_DONE: () => (/* binding */ SQLITE_FCNTL_CKPT_DONE),
2100
+ /* harmony export */ SQLITE_FCNTL_CKPT_START: () => (/* binding */ SQLITE_FCNTL_CKPT_START),
2101
+ /* harmony export */ SQLITE_FCNTL_COMMIT_ATOMIC_WRITE: () => (/* binding */ SQLITE_FCNTL_COMMIT_ATOMIC_WRITE),
2102
+ /* harmony export */ SQLITE_FCNTL_COMMIT_PHASETWO: () => (/* binding */ SQLITE_FCNTL_COMMIT_PHASETWO),
2103
+ /* harmony export */ SQLITE_FCNTL_DATA_VERSION: () => (/* binding */ SQLITE_FCNTL_DATA_VERSION),
2104
+ /* harmony export */ SQLITE_FCNTL_FILE_POINTER: () => (/* binding */ SQLITE_FCNTL_FILE_POINTER),
2105
+ /* harmony export */ SQLITE_FCNTL_GET_LOCKPROXYFILE: () => (/* binding */ SQLITE_FCNTL_GET_LOCKPROXYFILE),
2106
+ /* harmony export */ SQLITE_FCNTL_HAS_MOVED: () => (/* binding */ SQLITE_FCNTL_HAS_MOVED),
2107
+ /* harmony export */ SQLITE_FCNTL_JOURNAL_POINTER: () => (/* binding */ SQLITE_FCNTL_JOURNAL_POINTER),
2108
+ /* harmony export */ SQLITE_FCNTL_LAST_ERRNO: () => (/* binding */ SQLITE_FCNTL_LAST_ERRNO),
2109
+ /* harmony export */ SQLITE_FCNTL_LOCKSTATE: () => (/* binding */ SQLITE_FCNTL_LOCKSTATE),
2110
+ /* harmony export */ SQLITE_FCNTL_LOCK_TIMEOUT: () => (/* binding */ SQLITE_FCNTL_LOCK_TIMEOUT),
2111
+ /* harmony export */ SQLITE_FCNTL_MMAP_SIZE: () => (/* binding */ SQLITE_FCNTL_MMAP_SIZE),
2112
+ /* harmony export */ SQLITE_FCNTL_OVERWRITE: () => (/* binding */ SQLITE_FCNTL_OVERWRITE),
2113
+ /* harmony export */ SQLITE_FCNTL_PDB: () => (/* binding */ SQLITE_FCNTL_PDB),
2114
+ /* harmony export */ SQLITE_FCNTL_PERSIST_WAL: () => (/* binding */ SQLITE_FCNTL_PERSIST_WAL),
2115
+ /* harmony export */ SQLITE_FCNTL_POWERSAFE_OVERWRITE: () => (/* binding */ SQLITE_FCNTL_POWERSAFE_OVERWRITE),
2116
+ /* harmony export */ SQLITE_FCNTL_PRAGMA: () => (/* binding */ SQLITE_FCNTL_PRAGMA),
2117
+ /* harmony export */ SQLITE_FCNTL_RBU: () => (/* binding */ SQLITE_FCNTL_RBU),
2118
+ /* harmony export */ SQLITE_FCNTL_RESERVE_BYTES: () => (/* binding */ SQLITE_FCNTL_RESERVE_BYTES),
2119
+ /* harmony export */ SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE: () => (/* binding */ SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE),
2120
+ /* harmony export */ SQLITE_FCNTL_SET_LOCKPROXYFILE: () => (/* binding */ SQLITE_FCNTL_SET_LOCKPROXYFILE),
2121
+ /* harmony export */ SQLITE_FCNTL_SIZE_HINT: () => (/* binding */ SQLITE_FCNTL_SIZE_HINT),
2122
+ /* harmony export */ SQLITE_FCNTL_SIZE_LIMIT: () => (/* binding */ SQLITE_FCNTL_SIZE_LIMIT),
2123
+ /* harmony export */ SQLITE_FCNTL_SYNC: () => (/* binding */ SQLITE_FCNTL_SYNC),
2124
+ /* harmony export */ SQLITE_FCNTL_SYNC_OMITTED: () => (/* binding */ SQLITE_FCNTL_SYNC_OMITTED),
2125
+ /* harmony export */ SQLITE_FCNTL_TEMPFILENAME: () => (/* binding */ SQLITE_FCNTL_TEMPFILENAME),
2126
+ /* harmony export */ SQLITE_FCNTL_TRACE: () => (/* binding */ SQLITE_FCNTL_TRACE),
2127
+ /* harmony export */ SQLITE_FCNTL_VFSNAME: () => (/* binding */ SQLITE_FCNTL_VFSNAME),
2128
+ /* harmony export */ SQLITE_FCNTL_VFS_POINTER: () => (/* binding */ SQLITE_FCNTL_VFS_POINTER),
2129
+ /* harmony export */ SQLITE_FCNTL_WAL_BLOCK: () => (/* binding */ SQLITE_FCNTL_WAL_BLOCK),
2130
+ /* harmony export */ SQLITE_FCNTL_WIN32_AV_RETRY: () => (/* binding */ SQLITE_FCNTL_WIN32_AV_RETRY),
2131
+ /* harmony export */ SQLITE_FCNTL_WIN32_GET_HANDLE: () => (/* binding */ SQLITE_FCNTL_WIN32_GET_HANDLE),
2132
+ /* harmony export */ SQLITE_FCNTL_WIN32_SET_HANDLE: () => (/* binding */ SQLITE_FCNTL_WIN32_SET_HANDLE),
2133
+ /* harmony export */ SQLITE_FCNTL_ZIPVFS: () => (/* binding */ SQLITE_FCNTL_ZIPVFS),
2134
+ /* harmony export */ SQLITE_FLOAT: () => (/* binding */ SQLITE_FLOAT),
2135
+ /* harmony export */ SQLITE_FORMAT: () => (/* binding */ SQLITE_FORMAT),
2136
+ /* harmony export */ SQLITE_FULL: () => (/* binding */ SQLITE_FULL),
2137
+ /* harmony export */ SQLITE_FUNCTION: () => (/* binding */ SQLITE_FUNCTION),
2138
+ /* harmony export */ SQLITE_IGNORE: () => (/* binding */ SQLITE_IGNORE),
2139
+ /* harmony export */ SQLITE_INDEX_CONSTRAINT_EQ: () => (/* binding */ SQLITE_INDEX_CONSTRAINT_EQ),
2140
+ /* harmony export */ SQLITE_INDEX_CONSTRAINT_FUNCTION: () => (/* binding */ SQLITE_INDEX_CONSTRAINT_FUNCTION),
2141
+ /* harmony export */ SQLITE_INDEX_CONSTRAINT_GE: () => (/* binding */ SQLITE_INDEX_CONSTRAINT_GE),
2142
+ /* harmony export */ SQLITE_INDEX_CONSTRAINT_GLOB: () => (/* binding */ SQLITE_INDEX_CONSTRAINT_GLOB),
2143
+ /* harmony export */ SQLITE_INDEX_CONSTRAINT_GT: () => (/* binding */ SQLITE_INDEX_CONSTRAINT_GT),
2144
+ /* harmony export */ SQLITE_INDEX_CONSTRAINT_IS: () => (/* binding */ SQLITE_INDEX_CONSTRAINT_IS),
2145
+ /* harmony export */ SQLITE_INDEX_CONSTRAINT_ISNOT: () => (/* binding */ SQLITE_INDEX_CONSTRAINT_ISNOT),
2146
+ /* harmony export */ SQLITE_INDEX_CONSTRAINT_ISNOTNULL: () => (/* binding */ SQLITE_INDEX_CONSTRAINT_ISNOTNULL),
2147
+ /* harmony export */ SQLITE_INDEX_CONSTRAINT_ISNULL: () => (/* binding */ SQLITE_INDEX_CONSTRAINT_ISNULL),
2148
+ /* harmony export */ SQLITE_INDEX_CONSTRAINT_LE: () => (/* binding */ SQLITE_INDEX_CONSTRAINT_LE),
2149
+ /* harmony export */ SQLITE_INDEX_CONSTRAINT_LIKE: () => (/* binding */ SQLITE_INDEX_CONSTRAINT_LIKE),
2150
+ /* harmony export */ SQLITE_INDEX_CONSTRAINT_LT: () => (/* binding */ SQLITE_INDEX_CONSTRAINT_LT),
2151
+ /* harmony export */ SQLITE_INDEX_CONSTRAINT_MATCH: () => (/* binding */ SQLITE_INDEX_CONSTRAINT_MATCH),
2152
+ /* harmony export */ SQLITE_INDEX_CONSTRAINT_NE: () => (/* binding */ SQLITE_INDEX_CONSTRAINT_NE),
2153
+ /* harmony export */ SQLITE_INDEX_CONSTRAINT_REGEXP: () => (/* binding */ SQLITE_INDEX_CONSTRAINT_REGEXP),
2154
+ /* harmony export */ SQLITE_INDEX_SCAN_UNIQUE: () => (/* binding */ SQLITE_INDEX_SCAN_UNIQUE),
2155
+ /* harmony export */ SQLITE_INNOCUOUS: () => (/* binding */ SQLITE_INNOCUOUS),
2156
+ /* harmony export */ SQLITE_INSERT: () => (/* binding */ SQLITE_INSERT),
2157
+ /* harmony export */ SQLITE_INTEGER: () => (/* binding */ SQLITE_INTEGER),
2158
+ /* harmony export */ SQLITE_INTERNAL: () => (/* binding */ SQLITE_INTERNAL),
2159
+ /* harmony export */ SQLITE_INTERRUPT: () => (/* binding */ SQLITE_INTERRUPT),
2160
+ /* harmony export */ SQLITE_IOCAP_ATOMIC: () => (/* binding */ SQLITE_IOCAP_ATOMIC),
2161
+ /* harmony export */ SQLITE_IOCAP_ATOMIC16K: () => (/* binding */ SQLITE_IOCAP_ATOMIC16K),
2162
+ /* harmony export */ SQLITE_IOCAP_ATOMIC1K: () => (/* binding */ SQLITE_IOCAP_ATOMIC1K),
2163
+ /* harmony export */ SQLITE_IOCAP_ATOMIC2K: () => (/* binding */ SQLITE_IOCAP_ATOMIC2K),
2164
+ /* harmony export */ SQLITE_IOCAP_ATOMIC32K: () => (/* binding */ SQLITE_IOCAP_ATOMIC32K),
2165
+ /* harmony export */ SQLITE_IOCAP_ATOMIC4K: () => (/* binding */ SQLITE_IOCAP_ATOMIC4K),
2166
+ /* harmony export */ SQLITE_IOCAP_ATOMIC512: () => (/* binding */ SQLITE_IOCAP_ATOMIC512),
2167
+ /* harmony export */ SQLITE_IOCAP_ATOMIC64K: () => (/* binding */ SQLITE_IOCAP_ATOMIC64K),
2168
+ /* harmony export */ SQLITE_IOCAP_ATOMIC8K: () => (/* binding */ SQLITE_IOCAP_ATOMIC8K),
2169
+ /* harmony export */ SQLITE_IOCAP_BATCH_ATOMIC: () => (/* binding */ SQLITE_IOCAP_BATCH_ATOMIC),
2170
+ /* harmony export */ SQLITE_IOCAP_IMMUTABLE: () => (/* binding */ SQLITE_IOCAP_IMMUTABLE),
2171
+ /* harmony export */ SQLITE_IOCAP_POWERSAFE_OVERWRITE: () => (/* binding */ SQLITE_IOCAP_POWERSAFE_OVERWRITE),
2172
+ /* harmony export */ SQLITE_IOCAP_SAFE_APPEND: () => (/* binding */ SQLITE_IOCAP_SAFE_APPEND),
2173
+ /* harmony export */ SQLITE_IOCAP_SEQUENTIAL: () => (/* binding */ SQLITE_IOCAP_SEQUENTIAL),
2174
+ /* harmony export */ SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN: () => (/* binding */ SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN),
2175
+ /* harmony export */ SQLITE_IOERR: () => (/* binding */ SQLITE_IOERR),
2176
+ /* harmony export */ SQLITE_IOERR_ACCESS: () => (/* binding */ SQLITE_IOERR_ACCESS),
2177
+ /* harmony export */ SQLITE_IOERR_BEGIN_ATOMIC: () => (/* binding */ SQLITE_IOERR_BEGIN_ATOMIC),
2178
+ /* harmony export */ SQLITE_IOERR_CHECKRESERVEDLOCK: () => (/* binding */ SQLITE_IOERR_CHECKRESERVEDLOCK),
2179
+ /* harmony export */ SQLITE_IOERR_CLOSE: () => (/* binding */ SQLITE_IOERR_CLOSE),
2180
+ /* harmony export */ SQLITE_IOERR_COMMIT_ATOMIC: () => (/* binding */ SQLITE_IOERR_COMMIT_ATOMIC),
2181
+ /* harmony export */ SQLITE_IOERR_DATA: () => (/* binding */ SQLITE_IOERR_DATA),
2182
+ /* harmony export */ SQLITE_IOERR_DELETE: () => (/* binding */ SQLITE_IOERR_DELETE),
2183
+ /* harmony export */ SQLITE_IOERR_DELETE_NOENT: () => (/* binding */ SQLITE_IOERR_DELETE_NOENT),
2184
+ /* harmony export */ SQLITE_IOERR_DIR_FSYNC: () => (/* binding */ SQLITE_IOERR_DIR_FSYNC),
2185
+ /* harmony export */ SQLITE_IOERR_FSTAT: () => (/* binding */ SQLITE_IOERR_FSTAT),
2186
+ /* harmony export */ SQLITE_IOERR_FSYNC: () => (/* binding */ SQLITE_IOERR_FSYNC),
2187
+ /* harmony export */ SQLITE_IOERR_GETTEMPPATH: () => (/* binding */ SQLITE_IOERR_GETTEMPPATH),
2188
+ /* harmony export */ SQLITE_IOERR_LOCK: () => (/* binding */ SQLITE_IOERR_LOCK),
2189
+ /* harmony export */ SQLITE_IOERR_NOMEM: () => (/* binding */ SQLITE_IOERR_NOMEM),
2190
+ /* harmony export */ SQLITE_IOERR_RDLOCK: () => (/* binding */ SQLITE_IOERR_RDLOCK),
2191
+ /* harmony export */ SQLITE_IOERR_READ: () => (/* binding */ SQLITE_IOERR_READ),
2192
+ /* harmony export */ SQLITE_IOERR_ROLLBACK_ATOMIC: () => (/* binding */ SQLITE_IOERR_ROLLBACK_ATOMIC),
2193
+ /* harmony export */ SQLITE_IOERR_SEEK: () => (/* binding */ SQLITE_IOERR_SEEK),
2194
+ /* harmony export */ SQLITE_IOERR_SHORT_READ: () => (/* binding */ SQLITE_IOERR_SHORT_READ),
2195
+ /* harmony export */ SQLITE_IOERR_TRUNCATE: () => (/* binding */ SQLITE_IOERR_TRUNCATE),
2196
+ /* harmony export */ SQLITE_IOERR_UNLOCK: () => (/* binding */ SQLITE_IOERR_UNLOCK),
2197
+ /* harmony export */ SQLITE_IOERR_VNODE: () => (/* binding */ SQLITE_IOERR_VNODE),
2198
+ /* harmony export */ SQLITE_IOERR_WRITE: () => (/* binding */ SQLITE_IOERR_WRITE),
2199
+ /* harmony export */ SQLITE_LIMIT_ATTACHED: () => (/* binding */ SQLITE_LIMIT_ATTACHED),
2200
+ /* harmony export */ SQLITE_LIMIT_COLUMN: () => (/* binding */ SQLITE_LIMIT_COLUMN),
2201
+ /* harmony export */ SQLITE_LIMIT_COMPOUND_SELECT: () => (/* binding */ SQLITE_LIMIT_COMPOUND_SELECT),
2202
+ /* harmony export */ SQLITE_LIMIT_EXPR_DEPTH: () => (/* binding */ SQLITE_LIMIT_EXPR_DEPTH),
2203
+ /* harmony export */ SQLITE_LIMIT_FUNCTION_ARG: () => (/* binding */ SQLITE_LIMIT_FUNCTION_ARG),
2204
+ /* harmony export */ SQLITE_LIMIT_LENGTH: () => (/* binding */ SQLITE_LIMIT_LENGTH),
2205
+ /* harmony export */ SQLITE_LIMIT_LIKE_PATTERN_LENGTH: () => (/* binding */ SQLITE_LIMIT_LIKE_PATTERN_LENGTH),
2206
+ /* harmony export */ SQLITE_LIMIT_SQL_LENGTH: () => (/* binding */ SQLITE_LIMIT_SQL_LENGTH),
2207
+ /* harmony export */ SQLITE_LIMIT_TRIGGER_DEPTH: () => (/* binding */ SQLITE_LIMIT_TRIGGER_DEPTH),
2208
+ /* harmony export */ SQLITE_LIMIT_VARIABLE_NUMBER: () => (/* binding */ SQLITE_LIMIT_VARIABLE_NUMBER),
2209
+ /* harmony export */ SQLITE_LIMIT_VDBE_OP: () => (/* binding */ SQLITE_LIMIT_VDBE_OP),
2210
+ /* harmony export */ SQLITE_LIMIT_WORKER_THREADS: () => (/* binding */ SQLITE_LIMIT_WORKER_THREADS),
2211
+ /* harmony export */ SQLITE_LOCKED: () => (/* binding */ SQLITE_LOCKED),
2212
+ /* harmony export */ SQLITE_LOCK_EXCLUSIVE: () => (/* binding */ SQLITE_LOCK_EXCLUSIVE),
2213
+ /* harmony export */ SQLITE_LOCK_NONE: () => (/* binding */ SQLITE_LOCK_NONE),
2214
+ /* harmony export */ SQLITE_LOCK_PENDING: () => (/* binding */ SQLITE_LOCK_PENDING),
2215
+ /* harmony export */ SQLITE_LOCK_RESERVED: () => (/* binding */ SQLITE_LOCK_RESERVED),
2216
+ /* harmony export */ SQLITE_LOCK_SHARED: () => (/* binding */ SQLITE_LOCK_SHARED),
2217
+ /* harmony export */ SQLITE_MISMATCH: () => (/* binding */ SQLITE_MISMATCH),
2218
+ /* harmony export */ SQLITE_MISUSE: () => (/* binding */ SQLITE_MISUSE),
2219
+ /* harmony export */ SQLITE_NOLFS: () => (/* binding */ SQLITE_NOLFS),
2220
+ /* harmony export */ SQLITE_NOMEM: () => (/* binding */ SQLITE_NOMEM),
2221
+ /* harmony export */ SQLITE_NOTADB: () => (/* binding */ SQLITE_NOTADB),
2222
+ /* harmony export */ SQLITE_NOTFOUND: () => (/* binding */ SQLITE_NOTFOUND),
2223
+ /* harmony export */ SQLITE_NOTICE: () => (/* binding */ SQLITE_NOTICE),
2224
+ /* harmony export */ SQLITE_NULL: () => (/* binding */ SQLITE_NULL),
2225
+ /* harmony export */ SQLITE_OK: () => (/* binding */ SQLITE_OK),
2226
+ /* harmony export */ SQLITE_OPEN_AUTOPROXY: () => (/* binding */ SQLITE_OPEN_AUTOPROXY),
2227
+ /* harmony export */ SQLITE_OPEN_CREATE: () => (/* binding */ SQLITE_OPEN_CREATE),
2228
+ /* harmony export */ SQLITE_OPEN_DELETEONCLOSE: () => (/* binding */ SQLITE_OPEN_DELETEONCLOSE),
2229
+ /* harmony export */ SQLITE_OPEN_EXCLUSIVE: () => (/* binding */ SQLITE_OPEN_EXCLUSIVE),
2230
+ /* harmony export */ SQLITE_OPEN_FULLMUTEX: () => (/* binding */ SQLITE_OPEN_FULLMUTEX),
2231
+ /* harmony export */ SQLITE_OPEN_MAIN_DB: () => (/* binding */ SQLITE_OPEN_MAIN_DB),
2232
+ /* harmony export */ SQLITE_OPEN_MAIN_JOURNAL: () => (/* binding */ SQLITE_OPEN_MAIN_JOURNAL),
2233
+ /* harmony export */ SQLITE_OPEN_MEMORY: () => (/* binding */ SQLITE_OPEN_MEMORY),
2234
+ /* harmony export */ SQLITE_OPEN_NOFOLLOW: () => (/* binding */ SQLITE_OPEN_NOFOLLOW),
2235
+ /* harmony export */ SQLITE_OPEN_NOMUTEX: () => (/* binding */ SQLITE_OPEN_NOMUTEX),
2236
+ /* harmony export */ SQLITE_OPEN_PRIVATECACHE: () => (/* binding */ SQLITE_OPEN_PRIVATECACHE),
2237
+ /* harmony export */ SQLITE_OPEN_READONLY: () => (/* binding */ SQLITE_OPEN_READONLY),
2238
+ /* harmony export */ SQLITE_OPEN_READWRITE: () => (/* binding */ SQLITE_OPEN_READWRITE),
2239
+ /* harmony export */ SQLITE_OPEN_SHAREDCACHE: () => (/* binding */ SQLITE_OPEN_SHAREDCACHE),
2240
+ /* harmony export */ SQLITE_OPEN_SUBJOURNAL: () => (/* binding */ SQLITE_OPEN_SUBJOURNAL),
2241
+ /* harmony export */ SQLITE_OPEN_SUPER_JOURNAL: () => (/* binding */ SQLITE_OPEN_SUPER_JOURNAL),
2242
+ /* harmony export */ SQLITE_OPEN_TEMP_DB: () => (/* binding */ SQLITE_OPEN_TEMP_DB),
2243
+ /* harmony export */ SQLITE_OPEN_TEMP_JOURNAL: () => (/* binding */ SQLITE_OPEN_TEMP_JOURNAL),
2244
+ /* harmony export */ SQLITE_OPEN_TRANSIENT_DB: () => (/* binding */ SQLITE_OPEN_TRANSIENT_DB),
2245
+ /* harmony export */ SQLITE_OPEN_URI: () => (/* binding */ SQLITE_OPEN_URI),
2246
+ /* harmony export */ SQLITE_OPEN_WAL: () => (/* binding */ SQLITE_OPEN_WAL),
2247
+ /* harmony export */ SQLITE_PERM: () => (/* binding */ SQLITE_PERM),
2248
+ /* harmony export */ SQLITE_PRAGMA: () => (/* binding */ SQLITE_PRAGMA),
2249
+ /* harmony export */ SQLITE_PROTOCOL: () => (/* binding */ SQLITE_PROTOCOL),
2250
+ /* harmony export */ SQLITE_RANGE: () => (/* binding */ SQLITE_RANGE),
2251
+ /* harmony export */ SQLITE_READ: () => (/* binding */ SQLITE_READ),
2252
+ /* harmony export */ SQLITE_READONLY: () => (/* binding */ SQLITE_READONLY),
2253
+ /* harmony export */ SQLITE_RECURSIVE: () => (/* binding */ SQLITE_RECURSIVE),
2254
+ /* harmony export */ SQLITE_REINDEX: () => (/* binding */ SQLITE_REINDEX),
2255
+ /* harmony export */ SQLITE_ROW: () => (/* binding */ SQLITE_ROW),
2256
+ /* harmony export */ SQLITE_SAVEPOINT: () => (/* binding */ SQLITE_SAVEPOINT),
2257
+ /* harmony export */ SQLITE_SCHEMA: () => (/* binding */ SQLITE_SCHEMA),
2258
+ /* harmony export */ SQLITE_SELECT: () => (/* binding */ SQLITE_SELECT),
2259
+ /* harmony export */ SQLITE_STATIC: () => (/* binding */ SQLITE_STATIC),
2260
+ /* harmony export */ SQLITE_SUBTYPE: () => (/* binding */ SQLITE_SUBTYPE),
2261
+ /* harmony export */ SQLITE_SYNC_DATAONLY: () => (/* binding */ SQLITE_SYNC_DATAONLY),
2262
+ /* harmony export */ SQLITE_SYNC_FULL: () => (/* binding */ SQLITE_SYNC_FULL),
2263
+ /* harmony export */ SQLITE_SYNC_NORMAL: () => (/* binding */ SQLITE_SYNC_NORMAL),
2264
+ /* harmony export */ SQLITE_TEXT: () => (/* binding */ SQLITE_TEXT),
2265
+ /* harmony export */ SQLITE_TOOBIG: () => (/* binding */ SQLITE_TOOBIG),
2266
+ /* harmony export */ SQLITE_TRANSACTION: () => (/* binding */ SQLITE_TRANSACTION),
2267
+ /* harmony export */ SQLITE_TRANSIENT: () => (/* binding */ SQLITE_TRANSIENT),
2268
+ /* harmony export */ SQLITE_UPDATE: () => (/* binding */ SQLITE_UPDATE),
2269
+ /* harmony export */ SQLITE_UTF16: () => (/* binding */ SQLITE_UTF16),
2270
+ /* harmony export */ SQLITE_UTF16BE: () => (/* binding */ SQLITE_UTF16BE),
2271
+ /* harmony export */ SQLITE_UTF16LE: () => (/* binding */ SQLITE_UTF16LE),
2272
+ /* harmony export */ SQLITE_UTF8: () => (/* binding */ SQLITE_UTF8),
2273
+ /* harmony export */ SQLITE_WARNING: () => (/* binding */ SQLITE_WARNING)
2274
+ /* harmony export */ });
2275
+ // Primary result codes.
2276
+ // https://www.sqlite.org/rescode.html
2277
+ const SQLITE_OK = 0;
2278
+ const SQLITE_ERROR = 1;
2279
+ const SQLITE_INTERNAL = 2;
2280
+ const SQLITE_PERM = 3;
2281
+ const SQLITE_ABORT = 4;
2282
+ const SQLITE_BUSY = 5;
2283
+ const SQLITE_LOCKED = 6;
2284
+ const SQLITE_NOMEM = 7;
2285
+ const SQLITE_READONLY = 8;
2286
+ const SQLITE_INTERRUPT = 9;
2287
+ const SQLITE_IOERR = 10;
2288
+ const SQLITE_CORRUPT = 11;
2289
+ const SQLITE_NOTFOUND = 12;
2290
+ const SQLITE_FULL = 13;
2291
+ const SQLITE_CANTOPEN = 14;
2292
+ const SQLITE_PROTOCOL = 15;
2293
+ const SQLITE_EMPTY = 16;
2294
+ const SQLITE_SCHEMA = 17;
2295
+ const SQLITE_TOOBIG = 18;
2296
+ const SQLITE_CONSTRAINT = 19;
2297
+ const SQLITE_MISMATCH = 20;
2298
+ const SQLITE_MISUSE = 21;
2299
+ const SQLITE_NOLFS = 22;
2300
+ const SQLITE_AUTH = 23;
2301
+ const SQLITE_FORMAT = 24;
2302
+ const SQLITE_RANGE = 25;
2303
+ const SQLITE_NOTADB = 26;
2304
+ const SQLITE_NOTICE = 27;
2305
+ const SQLITE_WARNING = 28;
2306
+ const SQLITE_ROW = 100;
2307
+ const SQLITE_DONE = 101;
2308
+
2309
+ // Extended error codes.
2310
+ const SQLITE_IOERR_ACCESS = 3338;
2311
+ const SQLITE_IOERR_CHECKRESERVEDLOCK = 3594;
2312
+ const SQLITE_IOERR_CLOSE = 4106;
2313
+ const SQLITE_IOERR_DATA = 8202;
2314
+ const SQLITE_IOERR_DELETE = 2570;
2315
+ const SQLITE_IOERR_DELETE_NOENT = 5898;
2316
+ const SQLITE_IOERR_DIR_FSYNC = 1290;
2317
+ const SQLITE_IOERR_FSTAT = 1802;
2318
+ const SQLITE_IOERR_FSYNC = 1034;
2319
+ const SQLITE_IOERR_GETTEMPPATH = 6410;
2320
+ const SQLITE_IOERR_LOCK = 3850;
2321
+ const SQLITE_IOERR_NOMEM = 3082;
2322
+ const SQLITE_IOERR_READ = 266;
2323
+ const SQLITE_IOERR_RDLOCK = 2314;
2324
+ const SQLITE_IOERR_SEEK = 5642;
2325
+ const SQLITE_IOERR_SHORT_READ = 522;
2326
+ const SQLITE_IOERR_TRUNCATE = 1546;
2327
+ const SQLITE_IOERR_UNLOCK = 2058;
2328
+ const SQLITE_IOERR_VNODE = 6922;
2329
+ const SQLITE_IOERR_WRITE = 778;
2330
+ const SQLITE_IOERR_BEGIN_ATOMIC = 7434;
2331
+ const SQLITE_IOERR_COMMIT_ATOMIC = 7690;
2332
+ const SQLITE_IOERR_ROLLBACK_ATOMIC = 7946;
2333
+
2334
+ // Other extended result codes.
2335
+ const SQLITE_CONSTRAINT_CHECK = 275;
2336
+ const SQLITE_CONSTRAINT_COMMITHOOK = 531;
2337
+ const SQLITE_CONSTRAINT_FOREIGNKEY = 787;
2338
+ const SQLITE_CONSTRAINT_FUNCTION = 1043;
2339
+ const SQLITE_CONSTRAINT_NOTNULL = 1299;
2340
+ const SQLITE_CONSTRAINT_PINNED = 2835;
2341
+ const SQLITE_CONSTRAINT_PRIMARYKEY = 1555;
2342
+ const SQLITE_CONSTRAINT_ROWID = 2579;
2343
+ const SQLITE_CONSTRAINT_TRIGGER = 1811;
2344
+ const SQLITE_CONSTRAINT_UNIQUE = 2067;
2345
+ const SQLITE_CONSTRAINT_VTAB = 2323;
2346
+
2347
+ // Open flags.
2348
+ // https://www.sqlite.org/c3ref/c_open_autoproxy.html
2349
+ const SQLITE_OPEN_READONLY = 0x00000001;
2350
+ const SQLITE_OPEN_READWRITE = 0x00000002;
2351
+ const SQLITE_OPEN_CREATE = 0x00000004;
2352
+ const SQLITE_OPEN_DELETEONCLOSE = 0x00000008;
2353
+ const SQLITE_OPEN_EXCLUSIVE = 0x00000010;
2354
+ const SQLITE_OPEN_AUTOPROXY = 0x00000020;
2355
+ const SQLITE_OPEN_URI = 0x00000040;
2356
+ const SQLITE_OPEN_MEMORY = 0x00000080;
2357
+ const SQLITE_OPEN_MAIN_DB = 0x00000100;
2358
+ const SQLITE_OPEN_TEMP_DB = 0x00000200;
2359
+ const SQLITE_OPEN_TRANSIENT_DB = 0x00000400;
2360
+ const SQLITE_OPEN_MAIN_JOURNAL = 0x00000800;
2361
+ const SQLITE_OPEN_TEMP_JOURNAL = 0x00001000;
2362
+ const SQLITE_OPEN_SUBJOURNAL = 0x00002000;
2363
+ const SQLITE_OPEN_SUPER_JOURNAL = 0x00004000;
2364
+ const SQLITE_OPEN_NOMUTEX = 0x00008000;
2365
+ const SQLITE_OPEN_FULLMUTEX = 0x00010000;
2366
+ const SQLITE_OPEN_SHAREDCACHE = 0x00020000;
2367
+ const SQLITE_OPEN_PRIVATECACHE = 0x00040000;
2368
+ const SQLITE_OPEN_WAL = 0x00080000;
2369
+ const SQLITE_OPEN_NOFOLLOW = 0x01000000;
2370
+
2371
+ // Locking levels.
2372
+ // https://www.sqlite.org/c3ref/c_lock_exclusive.html
2373
+ const SQLITE_LOCK_NONE = 0;
2374
+ const SQLITE_LOCK_SHARED = 1;
2375
+ const SQLITE_LOCK_RESERVED = 2;
2376
+ const SQLITE_LOCK_PENDING = 3;
2377
+ const SQLITE_LOCK_EXCLUSIVE = 4;
2378
+
2379
+ // Device characteristics.
2380
+ // https://www.sqlite.org/c3ref/c_iocap_atomic.html
2381
+ const SQLITE_IOCAP_ATOMIC = 0x00000001;
2382
+ const SQLITE_IOCAP_ATOMIC512 = 0x00000002;
2383
+ const SQLITE_IOCAP_ATOMIC1K = 0x00000004;
2384
+ const SQLITE_IOCAP_ATOMIC2K = 0x00000008;
2385
+ const SQLITE_IOCAP_ATOMIC4K = 0x00000010;
2386
+ const SQLITE_IOCAP_ATOMIC8K = 0x00000020;
2387
+ const SQLITE_IOCAP_ATOMIC16K = 0x00000040;
2388
+ const SQLITE_IOCAP_ATOMIC32K = 0x00000080;
2389
+ const SQLITE_IOCAP_ATOMIC64K = 0x00000100;
2390
+ const SQLITE_IOCAP_SAFE_APPEND = 0x00000200;
2391
+ const SQLITE_IOCAP_SEQUENTIAL = 0x00000400;
2392
+ const SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN = 0x00000800;
2393
+ const SQLITE_IOCAP_POWERSAFE_OVERWRITE = 0x00001000;
2394
+ const SQLITE_IOCAP_IMMUTABLE = 0x00002000;
2395
+ const SQLITE_IOCAP_BATCH_ATOMIC = 0x00004000;
2396
+
2397
+ // xAccess flags.
2398
+ // https://www.sqlite.org/c3ref/c_access_exists.html
2399
+ const SQLITE_ACCESS_EXISTS = 0;
2400
+ const SQLITE_ACCESS_READWRITE = 1;
2401
+ const SQLITE_ACCESS_READ = 2;
2402
+
2403
+ // File control opcodes
2404
+ // https://www.sqlite.org/c3ref/c_fcntl_begin_atomic_write.html#sqlitefcntlbeginatomicwrite
2405
+ const SQLITE_FCNTL_LOCKSTATE = 1;
2406
+ const SQLITE_FCNTL_GET_LOCKPROXYFILE = 2;
2407
+ const SQLITE_FCNTL_SET_LOCKPROXYFILE = 3;
2408
+ const SQLITE_FCNTL_LAST_ERRNO = 4;
2409
+ const SQLITE_FCNTL_SIZE_HINT = 5;
2410
+ const SQLITE_FCNTL_CHUNK_SIZE = 6;
2411
+ const SQLITE_FCNTL_FILE_POINTER = 7;
2412
+ const SQLITE_FCNTL_SYNC_OMITTED = 8;
2413
+ const SQLITE_FCNTL_WIN32_AV_RETRY = 9;
2414
+ const SQLITE_FCNTL_PERSIST_WAL = 10;
2415
+ const SQLITE_FCNTL_OVERWRITE = 11;
2416
+ const SQLITE_FCNTL_VFSNAME = 12;
2417
+ const SQLITE_FCNTL_POWERSAFE_OVERWRITE = 13;
2418
+ const SQLITE_FCNTL_PRAGMA = 14;
2419
+ const SQLITE_FCNTL_BUSYHANDLER = 15;
2420
+ const SQLITE_FCNTL_TEMPFILENAME = 16;
2421
+ const SQLITE_FCNTL_MMAP_SIZE = 18;
2422
+ const SQLITE_FCNTL_TRACE = 19;
2423
+ const SQLITE_FCNTL_HAS_MOVED = 20;
2424
+ const SQLITE_FCNTL_SYNC = 21;
2425
+ const SQLITE_FCNTL_COMMIT_PHASETWO = 22;
2426
+ const SQLITE_FCNTL_WIN32_SET_HANDLE = 23;
2427
+ const SQLITE_FCNTL_WAL_BLOCK = 24;
2428
+ const SQLITE_FCNTL_ZIPVFS = 25;
2429
+ const SQLITE_FCNTL_RBU = 26;
2430
+ const SQLITE_FCNTL_VFS_POINTER = 27;
2431
+ const SQLITE_FCNTL_JOURNAL_POINTER = 28;
2432
+ const SQLITE_FCNTL_WIN32_GET_HANDLE = 29;
2433
+ const SQLITE_FCNTL_PDB = 30;
2434
+ const SQLITE_FCNTL_BEGIN_ATOMIC_WRITE = 31;
2435
+ const SQLITE_FCNTL_COMMIT_ATOMIC_WRITE = 32;
2436
+ const SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE = 33;
2437
+ const SQLITE_FCNTL_LOCK_TIMEOUT = 34;
2438
+ const SQLITE_FCNTL_DATA_VERSION = 35;
2439
+ const SQLITE_FCNTL_SIZE_LIMIT = 36;
2440
+ const SQLITE_FCNTL_CKPT_DONE = 37;
2441
+ const SQLITE_FCNTL_RESERVE_BYTES = 38;
2442
+ const SQLITE_FCNTL_CKPT_START = 39;
2443
+
2444
+ // Fundamental datatypes.
2445
+ // https://www.sqlite.org/c3ref/c_blob.html
2446
+ const SQLITE_INTEGER = 1;
2447
+ const SQLITE_FLOAT = 2;
2448
+ const SQLITE_TEXT = 3;
2449
+ const SQLITE_BLOB = 4;
2450
+ const SQLITE_NULL = 5;
2451
+
2452
+ // Special destructor behavior.
2453
+ // https://www.sqlite.org/c3ref/c_static.html
2454
+ const SQLITE_STATIC = 0;
2455
+ const SQLITE_TRANSIENT = -1;
2456
+
2457
+ // Text encodings.
2458
+ // https://sqlite.org/c3ref/c_any.html
2459
+ const SQLITE_UTF8 = 1; /* IMP: R-37514-35566 */
2460
+ const SQLITE_UTF16LE = 2; /* IMP: R-03371-37637 */
2461
+ const SQLITE_UTF16BE = 3; /* IMP: R-51971-34154 */
2462
+ const SQLITE_UTF16 = 4; /* Use native byte order */
2463
+
2464
+ // Module constraint ops.
2465
+ const SQLITE_INDEX_CONSTRAINT_EQ = 2;
2466
+ const SQLITE_INDEX_CONSTRAINT_GT = 4;
2467
+ const SQLITE_INDEX_CONSTRAINT_LE = 8;
2468
+ const SQLITE_INDEX_CONSTRAINT_LT = 16;
2469
+ const SQLITE_INDEX_CONSTRAINT_GE = 32;
2470
+ const SQLITE_INDEX_CONSTRAINT_MATCH = 64;
2471
+ const SQLITE_INDEX_CONSTRAINT_LIKE = 65;
2472
+ const SQLITE_INDEX_CONSTRAINT_GLOB = 66;
2473
+ const SQLITE_INDEX_CONSTRAINT_REGEXP = 67;
2474
+ const SQLITE_INDEX_CONSTRAINT_NE = 68;
2475
+ const SQLITE_INDEX_CONSTRAINT_ISNOT = 69;
2476
+ const SQLITE_INDEX_CONSTRAINT_ISNOTNULL = 70;
2477
+ const SQLITE_INDEX_CONSTRAINT_ISNULL = 71;
2478
+ const SQLITE_INDEX_CONSTRAINT_IS = 72;
2479
+ const SQLITE_INDEX_CONSTRAINT_FUNCTION = 150;
2480
+ const SQLITE_INDEX_SCAN_UNIQUE = 1; /* Scan visits at most = 1 row */
2481
+
2482
+ // Function flags
2483
+ const SQLITE_DETERMINISTIC = 0x000000800;
2484
+ const SQLITE_DIRECTONLY = 0x000080000;
2485
+ const SQLITE_SUBTYPE = 0x000100000;
2486
+ const SQLITE_INNOCUOUS = 0x000200000;
2487
+
2488
+ // Sync flags
2489
+ const SQLITE_SYNC_NORMAL = 0x00002;
2490
+ const SQLITE_SYNC_FULL = 0x00003;
2491
+ const SQLITE_SYNC_DATAONLY = 0x00010;
2492
+
2493
+ // Authorizer action codes
2494
+ const SQLITE_CREATE_INDEX = 1;
2495
+ const SQLITE_CREATE_TABLE = 2;
2496
+ const SQLITE_CREATE_TEMP_INDEX = 3;
2497
+ const SQLITE_CREATE_TEMP_TABLE = 4;
2498
+ const SQLITE_CREATE_TEMP_TRIGGER = 5;
2499
+ const SQLITE_CREATE_TEMP_VIEW = 6;
2500
+ const SQLITE_CREATE_TRIGGER = 7;
2501
+ const SQLITE_CREATE_VIEW = 8;
2502
+ const SQLITE_DELETE = 9;
2503
+ const SQLITE_DROP_INDEX = 10;
2504
+ const SQLITE_DROP_TABLE = 11;
2505
+ const SQLITE_DROP_TEMP_INDEX = 12;
2506
+ const SQLITE_DROP_TEMP_TABLE = 13;
2507
+ const SQLITE_DROP_TEMP_TRIGGER = 14;
2508
+ const SQLITE_DROP_TEMP_VIEW = 15;
2509
+ const SQLITE_DROP_TRIGGER = 16;
2510
+ const SQLITE_DROP_VIEW = 17;
2511
+ const SQLITE_INSERT = 18;
2512
+ const SQLITE_PRAGMA = 19;
2513
+ const SQLITE_READ = 20;
2514
+ const SQLITE_SELECT = 21;
2515
+ const SQLITE_TRANSACTION = 22;
2516
+ const SQLITE_UPDATE = 23;
2517
+ const SQLITE_ATTACH = 24;
2518
+ const SQLITE_DETACH = 25;
2519
+ const SQLITE_ALTER_TABLE = 26;
2520
+ const SQLITE_REINDEX = 27;
2521
+ const SQLITE_ANALYZE = 28;
2522
+ const SQLITE_CREATE_VTABLE = 29;
2523
+ const SQLITE_DROP_VTABLE = 30;
2524
+ const SQLITE_FUNCTION = 31;
2525
+ const SQLITE_SAVEPOINT = 32;
2526
+ const SQLITE_COPY = 0;
2527
+ const SQLITE_RECURSIVE = 33;
2528
+
2529
+ // Authorizer return codes
2530
+ const SQLITE_DENY = 1;
2531
+ const SQLITE_IGNORE = 2;
2532
+
2533
+ // Limit categories
2534
+ const SQLITE_LIMIT_LENGTH = 0;
2535
+ const SQLITE_LIMIT_SQL_LENGTH = 1;
2536
+ const SQLITE_LIMIT_COLUMN = 2;
2537
+ const SQLITE_LIMIT_EXPR_DEPTH = 3;
2538
+ const SQLITE_LIMIT_COMPOUND_SELECT = 4;
2539
+ const SQLITE_LIMIT_VDBE_OP = 5;
2540
+ const SQLITE_LIMIT_FUNCTION_ARG = 6;
2541
+ const SQLITE_LIMIT_ATTACHED = 7;
2542
+ const SQLITE_LIMIT_LIKE_PATTERN_LENGTH = 8;
2543
+ const SQLITE_LIMIT_VARIABLE_NUMBER = 9;
2544
+ const SQLITE_LIMIT_TRIGGER_DEPTH = 10;
2545
+ const SQLITE_LIMIT_WORKER_THREADS = 11;
2546
+
2547
+ /***/ })
2548
+
2549
+ /******/ });
2550
+ /************************************************************************/
2551
+ /******/ // The module cache
2552
+ /******/ var __webpack_module_cache__ = {};
2553
+ /******/
2554
+ /******/ // The require function
2555
+ /******/ function __webpack_require__(moduleId) {
2556
+ /******/ // Check if module is in cache
2557
+ /******/ var cachedModule = __webpack_module_cache__[moduleId];
2558
+ /******/ if (cachedModule !== undefined) {
2559
+ /******/ return cachedModule.exports;
2560
+ /******/ }
2561
+ /******/ // Create a new module (and put it into the cache)
2562
+ /******/ var module = __webpack_module_cache__[moduleId] = {
2563
+ /******/ // no module.id needed
2564
+ /******/ // no module.loaded needed
2565
+ /******/ exports: {}
2566
+ /******/ };
2567
+ /******/
2568
+ /******/ // Execute the module function
2569
+ /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
2570
+ /******/
2571
+ /******/ // Return the exports of the module
2572
+ /******/ return module.exports;
2573
+ /******/ }
2574
+ /******/
2575
+ /******/ // expose the modules object (__webpack_modules__)
2576
+ /******/ __webpack_require__.m = __webpack_modules__;
2577
+ /******/
2578
+ /************************************************************************/
2579
+ /******/ /* webpack/runtime/define property getters */
2580
+ /******/ (() => {
2581
+ /******/ // define getter functions for harmony exports
2582
+ /******/ __webpack_require__.d = (exports, definition) => {
2583
+ /******/ for(var key in definition) {
2584
+ /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
2585
+ /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
2586
+ /******/ }
2587
+ /******/ }
2588
+ /******/ };
2589
+ /******/ })();
2590
+ /******/
2591
+ /******/ /* webpack/runtime/ensure chunk */
2592
+ /******/ (() => {
2593
+ /******/ __webpack_require__.f = {};
2594
+ /******/ // This file contains only the entry chunk.
2595
+ /******/ // The chunk loading function for additional chunks
2596
+ /******/ __webpack_require__.e = (chunkId) => {
2597
+ /******/ return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {
2598
+ /******/ __webpack_require__.f[key](chunkId, promises);
2599
+ /******/ return promises;
2600
+ /******/ }, []));
2601
+ /******/ };
2602
+ /******/ })();
2603
+ /******/
2604
+ /******/ /* webpack/runtime/get javascript chunk filename */
2605
+ /******/ (() => {
2606
+ /******/ // This function allow to reference async chunks
2607
+ /******/ __webpack_require__.u = (chunkId) => {
2608
+ /******/ // return url for filenames based on template
2609
+ /******/ return "worker/" + chunkId + ".umd.js";
2610
+ /******/ };
2611
+ /******/ })();
2612
+ /******/
2613
+ /******/ /* webpack/runtime/global */
2614
+ /******/ (() => {
2615
+ /******/ __webpack_require__.g = (function() {
2616
+ /******/ if (typeof globalThis === 'object') return globalThis;
2617
+ /******/ try {
2618
+ /******/ return this || new Function('return this')();
2619
+ /******/ } catch (e) {
2620
+ /******/ if (typeof window === 'object') return window;
2621
+ /******/ }
2622
+ /******/ })();
2623
+ /******/ })();
2624
+ /******/
2625
+ /******/ /* webpack/runtime/hasOwnProperty shorthand */
2626
+ /******/ (() => {
2627
+ /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
2628
+ /******/ })();
2629
+ /******/
2630
+ /******/ /* webpack/runtime/make namespace object */
2631
+ /******/ (() => {
2632
+ /******/ // define __esModule on exports
2633
+ /******/ __webpack_require__.r = (exports) => {
2634
+ /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
2635
+ /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2636
+ /******/ }
2637
+ /******/ Object.defineProperty(exports, '__esModule', { value: true });
2638
+ /******/ };
2639
+ /******/ })();
2640
+ /******/
2641
+ /******/ /* webpack/runtime/publicPath */
2642
+ /******/ (() => {
2643
+ /******/ var scriptUrl;
2644
+ /******/ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + "";
2645
+ /******/ var document = __webpack_require__.g.document;
2646
+ /******/ if (!scriptUrl && document) {
2647
+ /******/ if (document.currentScript)
2648
+ /******/ scriptUrl = document.currentScript.src;
2649
+ /******/ if (!scriptUrl) {
2650
+ /******/ var scripts = document.getElementsByTagName("script");
2651
+ /******/ if(scripts.length) {
2652
+ /******/ var i = scripts.length - 1;
2653
+ /******/ while (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;
2654
+ /******/ }
2655
+ /******/ }
2656
+ /******/ }
2657
+ /******/ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration
2658
+ /******/ // or pass an empty string ("") and set the __webpack_public_path__ variable from your code to use your own logic.
2659
+ /******/ if (!scriptUrl) throw new Error("Automatic publicPath is not supported in this browser");
2660
+ /******/ scriptUrl = scriptUrl.replace(/#.*$/, "").replace(/\?.*$/, "").replace(/\/[^\/]+$/, "/");
2661
+ /******/ __webpack_require__.p = scriptUrl + "../";
2662
+ /******/ })();
2663
+ /******/
2664
+ /******/ /* webpack/runtime/importScripts chunk loading */
2665
+ /******/ (() => {
2666
+ /******/ __webpack_require__.b = self.location + "/../../";
2667
+ /******/
2668
+ /******/ // object to store loaded chunks
2669
+ /******/ // "1" means "already loaded"
2670
+ /******/ var installedChunks = {
2671
+ /******/ "WASQLiteDB": 1
2672
+ /******/ };
2673
+ /******/
2674
+ /******/ // importScripts chunk loading
2675
+ /******/ var installChunk = (data) => {
2676
+ /******/ var [chunkIds, moreModules, runtime] = data;
2677
+ /******/ for(var moduleId in moreModules) {
2678
+ /******/ if(__webpack_require__.o(moreModules, moduleId)) {
2679
+ /******/ __webpack_require__.m[moduleId] = moreModules[moduleId];
2680
+ /******/ }
2681
+ /******/ }
2682
+ /******/ if(runtime) runtime(__webpack_require__);
2683
+ /******/ while(chunkIds.length)
2684
+ /******/ installedChunks[chunkIds.pop()] = 1;
2685
+ /******/ parentChunkLoadingFunction(data);
2686
+ /******/ };
2687
+ /******/ __webpack_require__.f.i = (chunkId, promises) => {
2688
+ /******/ // "1" is the signal for "already loaded"
2689
+ /******/ if(!installedChunks[chunkId]) {
2690
+ /******/ if(true) { // all chunks have JS
2691
+ /******/ importScripts(__webpack_require__.p + __webpack_require__.u(chunkId));
2692
+ /******/ }
2693
+ /******/ }
2694
+ /******/ };
2695
+ /******/
2696
+ /******/ var chunkLoadingGlobal = self["webpackChunksdk_web"] = self["webpackChunksdk_web"] || [];
2697
+ /******/ var parentChunkLoadingFunction = chunkLoadingGlobal.push.bind(chunkLoadingGlobal);
2698
+ /******/ chunkLoadingGlobal.push = installChunk;
2699
+ /******/
2700
+ /******/ // no HMR
2701
+ /******/
2702
+ /******/ // no HMR manifest
2703
+ /******/ })();
2704
+ /******/
2705
+ /************************************************************************/
2706
+ var __webpack_exports__ = {};
2707
+ /*!************************************************!*\
2708
+ !*** ./lib/src/worker/db/WASQLiteDB.worker.js ***!
2709
+ \************************************************/
2710
+ __webpack_require__.r(__webpack_exports__);
2711
+ /* harmony import */ var _journeyapps_wa_sqlite__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @journeyapps/wa-sqlite */ "../../node_modules/@journeyapps/wa-sqlite/src/sqlite-api.js");
2712
+ /* harmony import */ var comlink__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! comlink */ "../../node_modules/comlink/dist/esm/comlink.mjs");
2713
+ /* harmony import */ var _shared_open_db__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/open-db */ "./lib/src/shared/open-db.js");
2714
+ /**
2715
+ * Supports both shared and dedicated workers, based on how the worker is constructed (new SharedWorker vs new Worker()).
2716
+ */
2717
+
2718
+
2719
+
2720
+ const DBMap = new Map();
2721
+ const OPEN_DB_LOCK = 'open-wasqlite-db';
2722
+ let nextClientId = 1;
2723
+ const openDBShared = async (dbFileName) => {
2724
+ // Prevent multiple simultaneous opens from causing race conditions
2725
+ return navigator.locks.request(OPEN_DB_LOCK, async () => {
2726
+ const clientId = nextClientId++;
2727
+ if (!DBMap.has(dbFileName)) {
2728
+ const clientIds = new Set();
2729
+ const connection = await (0,_shared_open_db__WEBPACK_IMPORTED_MODULE_1__._openDB)(dbFileName);
2730
+ DBMap.set(dbFileName, {
2731
+ clientIds,
2732
+ db: connection
2733
+ });
2734
+ }
2735
+ const dbEntry = DBMap.get(dbFileName);
2736
+ dbEntry.clientIds.add(clientId);
2737
+ const { db } = dbEntry;
2738
+ const wrappedConnection = {
2739
+ ...db,
2740
+ close: comlink__WEBPACK_IMPORTED_MODULE_2__.proxy(() => {
2741
+ const { clientIds } = dbEntry;
2742
+ clientIds.delete(clientId);
2743
+ if (clientIds.size == 0) {
2744
+ console.debug(`Closing connection to ${dbFileName}.`);
2745
+ DBMap.delete(dbFileName);
2746
+ return db.close?.();
2747
+ }
2748
+ console.debug(`Connection to ${dbFileName} not closed yet due to active clients.`);
2749
+ })
2750
+ };
2751
+ return comlink__WEBPACK_IMPORTED_MODULE_2__.proxy(wrappedConnection);
2752
+ });
2753
+ };
2754
+ const openDBDedicated = async (dbFileName) => {
2755
+ const connection = await (0,_shared_open_db__WEBPACK_IMPORTED_MODULE_1__._openDB)(dbFileName);
2756
+ return comlink__WEBPACK_IMPORTED_MODULE_2__.proxy(connection);
2757
+ };
2758
+ // Check if we're in a SharedWorker context
2759
+ if (typeof SharedWorkerGlobalScope !== 'undefined') {
2760
+ const _self = self;
2761
+ _self.onconnect = function (event) {
2762
+ const port = event.ports[0];
2763
+ console.debug('Exposing shared db on port', port);
2764
+ comlink__WEBPACK_IMPORTED_MODULE_2__.expose(openDBShared, port);
2765
+ };
2766
+ addEventListener('unload', () => {
2767
+ Array.from(DBMap.values()).forEach(async (dbConnection) => {
2768
+ const db = await dbConnection.db;
2769
+ db.close?.();
2770
+ });
2771
+ });
2772
+ }
2773
+ else {
2774
+ comlink__WEBPACK_IMPORTED_MODULE_2__.expose(openDBDedicated);
2775
+ }
2776
+
2777
+ sdk_web = __webpack_exports__;
2778
+ /******/ })()
2779
+ ;
2780
+ //# sourceMappingURL=WASQLiteDB.umd.js.map