@powersync/web 0.0.0-dev-20251201150812 → 0.0.0-dev-20251203144301
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.
- package/dist/index.umd.js +2415 -58
- package/dist/index.umd.js.map +1 -1
- package/dist/worker/SharedSyncImplementation.umd.js +1884 -39
- package/dist/worker/SharedSyncImplementation.umd.js.map +1 -1
- package/dist/worker/WASQLiteDB.umd.js +1809 -8
- package/dist/worker/WASQLiteDB.umd.js.map +1 -1
- package/dist/worker/node_modules_journeyapps_wa-sqlite_src_examples_AccessHandlePoolVFS_js.umd.js +0 -1203
- package/dist/worker/node_modules_journeyapps_wa-sqlite_src_examples_AccessHandlePoolVFS_js.umd.js.map +1 -1
- package/dist/worker/node_modules_journeyapps_wa-sqlite_src_examples_IDBBatchAtomicVFS_js.umd.js +0 -1203
- package/dist/worker/node_modules_journeyapps_wa-sqlite_src_examples_IDBBatchAtomicVFS_js.umd.js.map +1 -1
- package/lib/package.json +2 -2
- package/lib/src/db/adapters/LockedAsyncDatabaseAdapter.d.ts +4 -1
- package/lib/src/db/adapters/LockedAsyncDatabaseAdapter.js +52 -28
- package/lib/src/db/adapters/wa-sqlite/WASQLiteConnection.js +3 -3
- package/lib/src/db/adapters/wa-sqlite/WASQLiteOpenFactory.d.ts +1 -1
- package/lib/src/db/adapters/wa-sqlite/WASQLiteOpenFactory.js +2 -2
- package/lib/src/worker/db/WASQLiteDB.worker.js +0 -1
- package/lib/src/worker/db/opfs.d.ts +96 -0
- package/lib/src/worker/db/opfs.js +582 -0
- package/lib/src/worker/sync/SharedSyncImplementation.js +23 -4
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -5
- package/src/db/adapters/LockedAsyncDatabaseAdapter.ts +71 -48
- package/src/db/adapters/wa-sqlite/WASQLiteConnection.ts +3 -4
- package/src/db/adapters/wa-sqlite/WASQLiteOpenFactory.ts +3 -3
- package/src/worker/db/WASQLiteDB.worker.ts +0 -2
- package/src/worker/db/opfs.ts +623 -0
- package/src/worker/sync/SharedSyncImplementation.ts +29 -8
- package/dist/worker/node_modules_journeyapps_wa-sqlite_src_examples_OPFSCoopSyncVFS_js.umd.js +0 -1813
- package/dist/worker/node_modules_journeyapps_wa-sqlite_src_examples_OPFSCoopSyncVFS_js.umd.js.map +0 -1
- package/lib/src/worker/sync/MockSyncService.d.ts +0 -2
- package/lib/src/worker/sync/MockSyncService.js +0 -3
- package/lib/src/worker/sync/MockSyncServiceTypes.d.ts +0 -101
- package/lib/src/worker/sync/MockSyncServiceTypes.js +0 -1
- package/lib/src/worker/sync/MockSyncServiceWorker.d.ts +0 -56
- package/lib/src/worker/sync/MockSyncServiceWorker.js +0 -369
- package/src/worker/sync/MockSyncService.ts +0 -3
- package/src/worker/sync/MockSyncServiceTypes.ts +0 -71
- package/src/worker/sync/MockSyncServiceWorker.ts +0 -406
package/dist/index.umd.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
(function webpackUniversalModuleDefinition(root, factory) {
|
|
2
2
|
if(typeof exports === 'object' && typeof module === 'object')
|
|
3
|
-
module.exports = factory(require("@powersync/common"), require("async-mutex"), require("comlink"), require("@journeyapps/wa-sqlite"), require("@journeyapps/wa-sqlite/src/examples/
|
|
3
|
+
module.exports = factory(require("@powersync/common"), require("async-mutex"), require("comlink"), require("@journeyapps/wa-sqlite"), require("@journeyapps/wa-sqlite/src/examples/AccessHandlePoolVFS.js"), require("@journeyapps/wa-sqlite/src/examples/IDBBatchAtomicVFS.js"));
|
|
4
4
|
else if(typeof define === 'function' && define.amd)
|
|
5
|
-
define(["@powersync/common", "async-mutex", "comlink", "@journeyapps/wa-sqlite", "@journeyapps/wa-sqlite/src/examples/
|
|
5
|
+
define(["@powersync/common", "async-mutex", "comlink", "@journeyapps/wa-sqlite", "@journeyapps/wa-sqlite/src/examples/AccessHandlePoolVFS.js", "@journeyapps/wa-sqlite/src/examples/IDBBatchAtomicVFS.js"], factory);
|
|
6
6
|
else if(typeof exports === 'object')
|
|
7
|
-
exports["sdk_web"] = factory(require("@powersync/common"), require("async-mutex"), require("comlink"), require("@journeyapps/wa-sqlite"), require("@journeyapps/wa-sqlite/src/examples/
|
|
7
|
+
exports["sdk_web"] = factory(require("@powersync/common"), require("async-mutex"), require("comlink"), require("@journeyapps/wa-sqlite"), require("@journeyapps/wa-sqlite/src/examples/AccessHandlePoolVFS.js"), require("@journeyapps/wa-sqlite/src/examples/IDBBatchAtomicVFS.js"));
|
|
8
8
|
else
|
|
9
|
-
root["sdk_web"] = factory(root["@powersync/common"], root["async-mutex"], root["comlink"], root["@journeyapps/wa-sqlite"], root["@journeyapps/wa-sqlite/src/examples/
|
|
10
|
-
})(self, (__WEBPACK_EXTERNAL_MODULE__powersync_common__, __WEBPACK_EXTERNAL_MODULE_async_mutex__, __WEBPACK_EXTERNAL_MODULE_comlink__, __WEBPACK_EXTERNAL_MODULE__journeyapps_wa_sqlite__,
|
|
9
|
+
root["sdk_web"] = factory(root["@powersync/common"], root["async-mutex"], root["comlink"], root["@journeyapps/wa-sqlite"], root["@journeyapps/wa-sqlite/src/examples/AccessHandlePoolVFS.js"], root["@journeyapps/wa-sqlite/src/examples/IDBBatchAtomicVFS.js"]);
|
|
10
|
+
})(self, (__WEBPACK_EXTERNAL_MODULE__powersync_common__, __WEBPACK_EXTERNAL_MODULE_async_mutex__, __WEBPACK_EXTERNAL_MODULE_comlink__, __WEBPACK_EXTERNAL_MODULE__journeyapps_wa_sqlite__, __WEBPACK_EXTERNAL_MODULE__journeyapps_wa_sqlite_src_examples_AccessHandlePoolVFS_js__, __WEBPACK_EXTERNAL_MODULE__journeyapps_wa_sqlite_src_examples_IDBBatchAtomicVFS_js__) => {
|
|
11
11
|
return /******/ (() => { // webpackBootstrap
|
|
12
12
|
/******/ var __webpack_modules__ = ({
|
|
13
13
|
|
|
@@ -123,6 +123,1731 @@ module.exports = __webpack_require__.p + "e797080f5ed0b5324166.wasm";
|
|
|
123
123
|
|
|
124
124
|
/***/ }),
|
|
125
125
|
|
|
126
|
+
/***/ "../../node_modules/@journeyapps/wa-sqlite/src/FacadeVFS.js":
|
|
127
|
+
/*!******************************************************************!*\
|
|
128
|
+
!*** ../../node_modules/@journeyapps/wa-sqlite/src/FacadeVFS.js ***!
|
|
129
|
+
\******************************************************************/
|
|
130
|
+
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
131
|
+
|
|
132
|
+
"use strict";
|
|
133
|
+
__webpack_require__.r(__webpack_exports__);
|
|
134
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
135
|
+
/* harmony export */ FacadeVFS: () => (/* binding */ FacadeVFS)
|
|
136
|
+
/* harmony export */ });
|
|
137
|
+
/* harmony import */ var _VFS_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./VFS.js */ "../../node_modules/@journeyapps/wa-sqlite/src/VFS.js");
|
|
138
|
+
// Copyright 2024 Roy T. Hashimoto. All Rights Reserved.
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
const AsyncFunction = Object.getPrototypeOf(async function(){}).constructor;
|
|
142
|
+
|
|
143
|
+
// Milliseconds since Julian epoch as a BigInt.
|
|
144
|
+
// https://github.com/sqlite/sqlite/blob/e57527c14f7b7cfa6e32eeab5c549d50c4fa3674/src/os_unix.c#L6872-L6882
|
|
145
|
+
const UNIX_EPOCH = 24405875n * 8640000n;
|
|
146
|
+
|
|
147
|
+
// Convenience base class for a JavaScript VFS.
|
|
148
|
+
// The raw xOpen, xRead, etc. function signatures receive only C primitives
|
|
149
|
+
// which aren't easy to work with. This class provides corresponding calls
|
|
150
|
+
// like jOpen, jRead, etc., which receive JavaScript-friendlier arguments
|
|
151
|
+
// such as string, Uint8Array, and DataView.
|
|
152
|
+
class FacadeVFS extends _VFS_js__WEBPACK_IMPORTED_MODULE_0__.Base {
|
|
153
|
+
/**
|
|
154
|
+
* @param {string} name
|
|
155
|
+
* @param {object} module
|
|
156
|
+
*/
|
|
157
|
+
constructor(name, module) {
|
|
158
|
+
super(name, module);
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* Override to indicate which methods are asynchronous.
|
|
163
|
+
* @param {string} methodName
|
|
164
|
+
* @returns {boolean}
|
|
165
|
+
*/
|
|
166
|
+
hasAsyncMethod(methodName) {
|
|
167
|
+
// The input argument is a string like "xOpen", so convert to "jOpen".
|
|
168
|
+
// Then check if the method exists and is async.
|
|
169
|
+
const jMethodName = `j${methodName.slice(1)}`;
|
|
170
|
+
return this[jMethodName] instanceof AsyncFunction;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
/**
|
|
174
|
+
* Return the filename for a file id for use by mixins.
|
|
175
|
+
* @param {number} pFile
|
|
176
|
+
* @returns {string}
|
|
177
|
+
*/
|
|
178
|
+
getFilename(pFile) {
|
|
179
|
+
throw new Error('unimplemented');
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
/**
|
|
183
|
+
* @param {string?} filename
|
|
184
|
+
* @param {number} pFile
|
|
185
|
+
* @param {number} flags
|
|
186
|
+
* @param {DataView} pOutFlags
|
|
187
|
+
* @returns {number|Promise<number>}
|
|
188
|
+
*/
|
|
189
|
+
jOpen(filename, pFile, flags, pOutFlags) {
|
|
190
|
+
return _VFS_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CANTOPEN;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
/**
|
|
194
|
+
* @param {string} filename
|
|
195
|
+
* @param {number} syncDir
|
|
196
|
+
* @returns {number|Promise<number>}
|
|
197
|
+
*/
|
|
198
|
+
jDelete(filename, syncDir) {
|
|
199
|
+
return _VFS_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OK;
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
/**
|
|
203
|
+
* @param {string} filename
|
|
204
|
+
* @param {number} flags
|
|
205
|
+
* @param {DataView} pResOut
|
|
206
|
+
* @returns {number|Promise<number>}
|
|
207
|
+
*/
|
|
208
|
+
jAccess(filename, flags, pResOut) {
|
|
209
|
+
return _VFS_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OK;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
/**
|
|
213
|
+
* @param {string} filename
|
|
214
|
+
* @param {Uint8Array} zOut
|
|
215
|
+
* @returns {number|Promise<number>}
|
|
216
|
+
*/
|
|
217
|
+
jFullPathname(filename, zOut) {
|
|
218
|
+
// Copy the filename to the output buffer.
|
|
219
|
+
const { read, written } = new TextEncoder().encodeInto(filename, zOut);
|
|
220
|
+
if (read < filename.length) return _VFS_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR;
|
|
221
|
+
if (written >= zOut.length) return _VFS_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR;
|
|
222
|
+
zOut[written] = 0;
|
|
223
|
+
return _VFS_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OK;
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
/**
|
|
227
|
+
* @param {Uint8Array} zBuf
|
|
228
|
+
* @returns {number|Promise<number>}
|
|
229
|
+
*/
|
|
230
|
+
jGetLastError(zBuf) {
|
|
231
|
+
return _VFS_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OK;
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
/**
|
|
235
|
+
* @param {number} pFile
|
|
236
|
+
* @returns {number|Promise<number>}
|
|
237
|
+
*/
|
|
238
|
+
jClose(pFile) {
|
|
239
|
+
return _VFS_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OK;
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
/**
|
|
243
|
+
* @param {number} pFile
|
|
244
|
+
* @param {Uint8Array} pData
|
|
245
|
+
* @param {number} iOffset
|
|
246
|
+
* @returns {number|Promise<number>}
|
|
247
|
+
*/
|
|
248
|
+
jRead(pFile, pData, iOffset) {
|
|
249
|
+
pData.fill(0);
|
|
250
|
+
return _VFS_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_SHORT_READ;
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
/**
|
|
254
|
+
* @param {number} pFile
|
|
255
|
+
* @param {Uint8Array} pData
|
|
256
|
+
* @param {number} iOffset
|
|
257
|
+
* @returns {number|Promise<number>}
|
|
258
|
+
*/
|
|
259
|
+
jWrite(pFile, pData, iOffset) {
|
|
260
|
+
return _VFS_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_WRITE;
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
/**
|
|
264
|
+
* @param {number} pFile
|
|
265
|
+
* @param {number} size
|
|
266
|
+
* @returns {number|Promise<number>}
|
|
267
|
+
*/
|
|
268
|
+
jTruncate(pFile, size) {
|
|
269
|
+
return _VFS_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OK;
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
/**
|
|
273
|
+
* @param {number} pFile
|
|
274
|
+
* @param {number} flags
|
|
275
|
+
* @returns {number|Promise<number>}
|
|
276
|
+
*/
|
|
277
|
+
jSync(pFile, flags) {
|
|
278
|
+
return _VFS_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OK;
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
/**
|
|
282
|
+
* @param {number} pFile
|
|
283
|
+
* @param {DataView} pSize
|
|
284
|
+
* @returns {number|Promise<number>}
|
|
285
|
+
*/
|
|
286
|
+
jFileSize(pFile, pSize) {
|
|
287
|
+
return _VFS_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OK;
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
/**
|
|
291
|
+
* @param {number} pFile
|
|
292
|
+
* @param {number} lockType
|
|
293
|
+
* @returns {number|Promise<number>}
|
|
294
|
+
*/
|
|
295
|
+
jLock(pFile, lockType) {
|
|
296
|
+
return _VFS_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OK;
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
/**
|
|
300
|
+
* @param {number} pFile
|
|
301
|
+
* @param {number} lockType
|
|
302
|
+
* @returns {number|Promise<number>}
|
|
303
|
+
*/
|
|
304
|
+
jUnlock(pFile, lockType) {
|
|
305
|
+
return _VFS_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OK;
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
/**
|
|
309
|
+
* @param {number} pFile
|
|
310
|
+
* @param {DataView} pResOut
|
|
311
|
+
* @returns {number|Promise<number>}
|
|
312
|
+
*/
|
|
313
|
+
jCheckReservedLock(pFile, pResOut) {
|
|
314
|
+
pResOut.setInt32(0, 0, true);
|
|
315
|
+
return _VFS_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OK;
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
/**
|
|
319
|
+
* @param {number} pFile
|
|
320
|
+
* @param {number} op
|
|
321
|
+
* @param {DataView} pArg
|
|
322
|
+
* @returns {number|Promise<number>}
|
|
323
|
+
*/
|
|
324
|
+
jFileControl(pFile, op, pArg) {
|
|
325
|
+
return _VFS_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_NOTFOUND;
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
/**
|
|
329
|
+
* @param {number} pFile
|
|
330
|
+
* @returns {number|Promise<number>}
|
|
331
|
+
*/
|
|
332
|
+
jSectorSize(pFile) {
|
|
333
|
+
return super.xSectorSize(pFile);
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
/**
|
|
337
|
+
* @param {number} pFile
|
|
338
|
+
* @returns {number|Promise<number>}
|
|
339
|
+
*/
|
|
340
|
+
jDeviceCharacteristics(pFile) {
|
|
341
|
+
return 0;
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
/**
|
|
345
|
+
* @param {number} pVfs
|
|
346
|
+
* @param {number} zName
|
|
347
|
+
* @param {number} pFile
|
|
348
|
+
* @param {number} flags
|
|
349
|
+
* @param {number} pOutFlags
|
|
350
|
+
* @returns {number|Promise<number>}
|
|
351
|
+
*/
|
|
352
|
+
xOpen(pVfs, zName, pFile, flags, pOutFlags) {
|
|
353
|
+
const filename = this.#decodeFilename(zName, flags);
|
|
354
|
+
const pOutFlagsView = this.#makeTypedDataView('Int32', pOutFlags);
|
|
355
|
+
this['log']?.('jOpen', filename, pFile, '0x' + flags.toString(16));
|
|
356
|
+
return this.jOpen(filename, pFile, flags, pOutFlagsView);
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
/**
|
|
360
|
+
* @param {number} pVfs
|
|
361
|
+
* @param {number} nByte
|
|
362
|
+
* @param {number} pCharOut
|
|
363
|
+
* @returns {number|Promise<number>}
|
|
364
|
+
*/
|
|
365
|
+
xRandomness(pVfs, nByte, pCharOut) {
|
|
366
|
+
const randomArray = new Uint8Array(nByte);
|
|
367
|
+
crypto.getRandomValues(randomArray);
|
|
368
|
+
// Copy randomArray to the WebAssembly memory
|
|
369
|
+
const buffer = pCharOut; // Pointer to memory in WebAssembly
|
|
370
|
+
this._module.HEAPU8.set(randomArray, buffer); // Copy randomArray into memory starting at buffer
|
|
371
|
+
return nByte;
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
/**
|
|
375
|
+
* Gets the current time as milliseconds since Unix epoch
|
|
376
|
+
* @param {number} pVfs pointer to the VFS
|
|
377
|
+
* @param {number} pTime pointer to write the time value
|
|
378
|
+
* @returns {number} SQLite error code
|
|
379
|
+
*/
|
|
380
|
+
xCurrentTimeInt64(pVfs, pTime) {
|
|
381
|
+
// Create a DataView to write the current time
|
|
382
|
+
const timeView = this.#makeTypedDataView('BigInt64', pTime);
|
|
383
|
+
|
|
384
|
+
const currentTime = BigInt(Date.now());
|
|
385
|
+
// Convert the current time to milliseconds since Unix epoch
|
|
386
|
+
const value = UNIX_EPOCH + currentTime;
|
|
387
|
+
|
|
388
|
+
// Write the time value to the pointer location
|
|
389
|
+
timeView.setBigInt64(0, value, true);
|
|
390
|
+
|
|
391
|
+
return _VFS_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OK;
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
/**
|
|
395
|
+
* @param {number} pVfs
|
|
396
|
+
* @param {number} zName
|
|
397
|
+
* @param {number} syncDir
|
|
398
|
+
* @returns {number|Promise<number>}
|
|
399
|
+
*/
|
|
400
|
+
xDelete(pVfs, zName, syncDir) {
|
|
401
|
+
const filename = this._module.UTF8ToString(zName);
|
|
402
|
+
this['log']?.('jDelete', filename, syncDir);
|
|
403
|
+
return this.jDelete(filename, syncDir);
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
/**
|
|
407
|
+
* @param {number} pVfs
|
|
408
|
+
* @param {number} zName
|
|
409
|
+
* @param {number} flags
|
|
410
|
+
* @param {number} pResOut
|
|
411
|
+
* @returns {number|Promise<number>}
|
|
412
|
+
*/
|
|
413
|
+
xAccess(pVfs, zName, flags, pResOut) {
|
|
414
|
+
const filename = this._module.UTF8ToString(zName);
|
|
415
|
+
const pResOutView = this.#makeTypedDataView('Int32', pResOut);
|
|
416
|
+
this['log']?.('jAccess', filename, flags);
|
|
417
|
+
return this.jAccess(filename, flags, pResOutView);
|
|
418
|
+
}
|
|
419
|
+
|
|
420
|
+
/**
|
|
421
|
+
* @param {number} pVfs
|
|
422
|
+
* @param {number} zName
|
|
423
|
+
* @param {number} nOut
|
|
424
|
+
* @param {number} zOut
|
|
425
|
+
* @returns {number|Promise<number>}
|
|
426
|
+
*/
|
|
427
|
+
xFullPathname(pVfs, zName, nOut, zOut) {
|
|
428
|
+
const filename = this._module.UTF8ToString(zName);
|
|
429
|
+
const zOutArray = this._module.HEAPU8.subarray(zOut, zOut + nOut);
|
|
430
|
+
this['log']?.('jFullPathname', filename, nOut);
|
|
431
|
+
return this.jFullPathname(filename, zOutArray);
|
|
432
|
+
}
|
|
433
|
+
|
|
434
|
+
/**
|
|
435
|
+
* @param {number} pVfs
|
|
436
|
+
* @param {number} nBuf
|
|
437
|
+
* @param {number} zBuf
|
|
438
|
+
* @returns {number|Promise<number>}
|
|
439
|
+
*/
|
|
440
|
+
xGetLastError(pVfs, nBuf, zBuf) {
|
|
441
|
+
const zBufArray = this._module.HEAPU8.subarray(zBuf, zBuf + nBuf);
|
|
442
|
+
this['log']?.('jGetLastError', nBuf);
|
|
443
|
+
return this.jGetLastError(zBufArray);
|
|
444
|
+
}
|
|
445
|
+
|
|
446
|
+
/**
|
|
447
|
+
* @param {number} pFile
|
|
448
|
+
* @returns {number|Promise<number>}
|
|
449
|
+
*/
|
|
450
|
+
xClose(pFile) {
|
|
451
|
+
this['log']?.('jClose', pFile);
|
|
452
|
+
return this.jClose(pFile);
|
|
453
|
+
}
|
|
454
|
+
|
|
455
|
+
/**
|
|
456
|
+
* @param {number} pFile
|
|
457
|
+
* @param {number} pData
|
|
458
|
+
* @param {number} iAmt
|
|
459
|
+
* @param {number} iOffsetLo
|
|
460
|
+
* @param {number} iOffsetHi
|
|
461
|
+
* @returns {number|Promise<number>}
|
|
462
|
+
*/
|
|
463
|
+
xRead(pFile, pData, iAmt, iOffsetLo, iOffsetHi) {
|
|
464
|
+
const pDataArray = this.#makeDataArray(pData, iAmt);
|
|
465
|
+
const iOffset = delegalize(iOffsetLo, iOffsetHi);
|
|
466
|
+
this['log']?.('jRead', pFile, iAmt, iOffset);
|
|
467
|
+
return this.jRead(pFile, pDataArray, iOffset);
|
|
468
|
+
}
|
|
469
|
+
|
|
470
|
+
/**
|
|
471
|
+
* @param {number} pFile
|
|
472
|
+
* @param {number} pData
|
|
473
|
+
* @param {number} iAmt
|
|
474
|
+
* @param {number} iOffsetLo
|
|
475
|
+
* @param {number} iOffsetHi
|
|
476
|
+
* @returns {number|Promise<number>}
|
|
477
|
+
*/
|
|
478
|
+
xWrite(pFile, pData, iAmt, iOffsetLo, iOffsetHi) {
|
|
479
|
+
const pDataArray = this.#makeDataArray(pData, iAmt);
|
|
480
|
+
const iOffset = delegalize(iOffsetLo, iOffsetHi);
|
|
481
|
+
this['log']?.('jWrite', pFile, pDataArray, iOffset);
|
|
482
|
+
return this.jWrite(pFile, pDataArray, iOffset);
|
|
483
|
+
}
|
|
484
|
+
|
|
485
|
+
/**
|
|
486
|
+
* @param {number} pFile
|
|
487
|
+
* @param {number} sizeLo
|
|
488
|
+
* @param {number} sizeHi
|
|
489
|
+
* @returns {number|Promise<number>}
|
|
490
|
+
*/
|
|
491
|
+
xTruncate(pFile, sizeLo, sizeHi) {
|
|
492
|
+
const size = delegalize(sizeLo, sizeHi);
|
|
493
|
+
this['log']?.('jTruncate', pFile, size);
|
|
494
|
+
return this.jTruncate(pFile, size);
|
|
495
|
+
}
|
|
496
|
+
|
|
497
|
+
/**
|
|
498
|
+
* @param {number} pFile
|
|
499
|
+
* @param {number} flags
|
|
500
|
+
* @returns {number|Promise<number>}
|
|
501
|
+
*/
|
|
502
|
+
xSync(pFile, flags) {
|
|
503
|
+
this['log']?.('jSync', pFile, flags);
|
|
504
|
+
return this.jSync(pFile, flags);
|
|
505
|
+
}
|
|
506
|
+
|
|
507
|
+
/**
|
|
508
|
+
*
|
|
509
|
+
* @param {number} pFile
|
|
510
|
+
* @param {number} pSize
|
|
511
|
+
* @returns {number|Promise<number>}
|
|
512
|
+
*/
|
|
513
|
+
xFileSize(pFile, pSize) {
|
|
514
|
+
const pSizeView = this.#makeTypedDataView('BigInt64', pSize);
|
|
515
|
+
this['log']?.('jFileSize', pFile);
|
|
516
|
+
return this.jFileSize(pFile, pSizeView);
|
|
517
|
+
}
|
|
518
|
+
|
|
519
|
+
/**
|
|
520
|
+
* @param {number} pFile
|
|
521
|
+
* @param {number} lockType
|
|
522
|
+
* @returns {number|Promise<number>}
|
|
523
|
+
*/
|
|
524
|
+
xLock(pFile, lockType) {
|
|
525
|
+
this['log']?.('jLock', pFile, lockType);
|
|
526
|
+
return this.jLock(pFile, lockType);
|
|
527
|
+
}
|
|
528
|
+
|
|
529
|
+
/**
|
|
530
|
+
* @param {number} pFile
|
|
531
|
+
* @param {number} lockType
|
|
532
|
+
* @returns {number|Promise<number>}
|
|
533
|
+
*/
|
|
534
|
+
xUnlock(pFile, lockType) {
|
|
535
|
+
this['log']?.('jUnlock', pFile, lockType);
|
|
536
|
+
return this.jUnlock(pFile, lockType);
|
|
537
|
+
}
|
|
538
|
+
|
|
539
|
+
/**
|
|
540
|
+
* @param {number} pFile
|
|
541
|
+
* @param {number} pResOut
|
|
542
|
+
* @returns {number|Promise<number>}
|
|
543
|
+
*/
|
|
544
|
+
xCheckReservedLock(pFile, pResOut) {
|
|
545
|
+
const pResOutView = this.#makeTypedDataView('Int32', pResOut);
|
|
546
|
+
this['log']?.('jCheckReservedLock', pFile);
|
|
547
|
+
return this.jCheckReservedLock(pFile, pResOutView);
|
|
548
|
+
}
|
|
549
|
+
|
|
550
|
+
/**
|
|
551
|
+
* @param {number} pFile
|
|
552
|
+
* @param {number} op
|
|
553
|
+
* @param {number} pArg
|
|
554
|
+
* @returns {number|Promise<number>}
|
|
555
|
+
*/
|
|
556
|
+
xFileControl(pFile, op, pArg) {
|
|
557
|
+
const pArgView = new DataView(
|
|
558
|
+
this._module.HEAPU8.buffer,
|
|
559
|
+
this._module.HEAPU8.byteOffset + pArg);
|
|
560
|
+
this['log']?.('jFileControl', pFile, op, pArgView);
|
|
561
|
+
return this.jFileControl(pFile, op, pArgView);
|
|
562
|
+
}
|
|
563
|
+
|
|
564
|
+
/**
|
|
565
|
+
* @param {number} pFile
|
|
566
|
+
* @returns {number|Promise<number>}
|
|
567
|
+
*/
|
|
568
|
+
xSectorSize(pFile) {
|
|
569
|
+
this['log']?.('jSectorSize', pFile);
|
|
570
|
+
return this.jSectorSize(pFile);
|
|
571
|
+
}
|
|
572
|
+
|
|
573
|
+
/**
|
|
574
|
+
* @param {number} pFile
|
|
575
|
+
* @returns {number|Promise<number>}
|
|
576
|
+
*/
|
|
577
|
+
xDeviceCharacteristics(pFile) {
|
|
578
|
+
this['log']?.('jDeviceCharacteristics', pFile);
|
|
579
|
+
return this.jDeviceCharacteristics(pFile);
|
|
580
|
+
}
|
|
581
|
+
|
|
582
|
+
/**
|
|
583
|
+
* Wrapped DataView for pointer arguments.
|
|
584
|
+
* Pointers to a single value are passed using a DataView-like class.
|
|
585
|
+
* This wrapper class prevents use of incorrect type or endianness, and
|
|
586
|
+
* reacquires the underlying buffer when the WebAssembly memory is resized.
|
|
587
|
+
* @param {'Int32'|'BigInt64'} type
|
|
588
|
+
* @param {number} byteOffset
|
|
589
|
+
* @returns {DataView}
|
|
590
|
+
*/
|
|
591
|
+
#makeTypedDataView(type, byteOffset) {
|
|
592
|
+
// @ts-ignore
|
|
593
|
+
return new DataViewProxy(this._module, byteOffset, type);
|
|
594
|
+
}
|
|
595
|
+
|
|
596
|
+
/**
|
|
597
|
+
* Wrapped Uint8Array for buffer arguments.
|
|
598
|
+
* Memory blocks are passed as a Uint8Array-like class. This wrapper
|
|
599
|
+
* class reacquires the underlying buffer when the WebAssembly memory
|
|
600
|
+
* is resized.
|
|
601
|
+
* @param {number} byteOffset
|
|
602
|
+
* @param {number} byteLength
|
|
603
|
+
* @returns {Uint8Array}
|
|
604
|
+
*/
|
|
605
|
+
#makeDataArray(byteOffset, byteLength) {
|
|
606
|
+
// @ts-ignore
|
|
607
|
+
return new Uint8ArrayProxy(this._module, byteOffset, byteLength);
|
|
608
|
+
}
|
|
609
|
+
|
|
610
|
+
#decodeFilename(zName, flags) {
|
|
611
|
+
if (flags & _VFS_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_URI) {
|
|
612
|
+
// The first null-terminated string is the URI path. Subsequent
|
|
613
|
+
// strings are query parameter keys and values.
|
|
614
|
+
// https://www.sqlite.org/c3ref/open.html#urifilenamesinsqlite3open
|
|
615
|
+
let pName = zName;
|
|
616
|
+
let state = 1;
|
|
617
|
+
const charCodes = [];
|
|
618
|
+
while (state) {
|
|
619
|
+
const charCode = this._module.HEAPU8[pName++];
|
|
620
|
+
if (charCode) {
|
|
621
|
+
charCodes.push(charCode);
|
|
622
|
+
} else {
|
|
623
|
+
if (!this._module.HEAPU8[pName]) state = null;
|
|
624
|
+
switch (state) {
|
|
625
|
+
case 1: // path
|
|
626
|
+
charCodes.push('?'.charCodeAt(0));
|
|
627
|
+
state = 2;
|
|
628
|
+
break;
|
|
629
|
+
case 2: // key
|
|
630
|
+
charCodes.push('='.charCodeAt(0));
|
|
631
|
+
state = 3;
|
|
632
|
+
break;
|
|
633
|
+
case 3: // value
|
|
634
|
+
charCodes.push('&'.charCodeAt(0));
|
|
635
|
+
state = 2;
|
|
636
|
+
break;
|
|
637
|
+
}
|
|
638
|
+
}
|
|
639
|
+
}
|
|
640
|
+
return new TextDecoder().decode(new Uint8Array(charCodes));
|
|
641
|
+
}
|
|
642
|
+
return zName ? this._module.UTF8ToString(zName) : null;
|
|
643
|
+
}
|
|
644
|
+
}
|
|
645
|
+
|
|
646
|
+
// Emscripten "legalizes" 64-bit integer arguments by passing them as
|
|
647
|
+
// two 32-bit signed integers.
|
|
648
|
+
function delegalize(lo32, hi32) {
|
|
649
|
+
return (hi32 * 0x100000000) + lo32 + (lo32 < 0 ? 2**32 : 0);
|
|
650
|
+
}
|
|
651
|
+
|
|
652
|
+
// This class provides a Uint8Array-like interface for a WebAssembly memory
|
|
653
|
+
// buffer. It is used to access memory blocks passed as arguments to
|
|
654
|
+
// xRead, xWrite, etc. The class reacquires the underlying buffer when the
|
|
655
|
+
// WebAssembly memory is resized, which can happen when the memory is
|
|
656
|
+
// detached and resized by the WebAssembly module.
|
|
657
|
+
//
|
|
658
|
+
// Note that although this class implements the same methods as Uint8Array,
|
|
659
|
+
// it is not a real Uint8Array and passing it to functions that expect
|
|
660
|
+
// a Uint8Array may not work. Use subarray() to get a real Uint8Array
|
|
661
|
+
// if needed.
|
|
662
|
+
class Uint8ArrayProxy {
|
|
663
|
+
#module;
|
|
664
|
+
|
|
665
|
+
#_array = new Uint8Array()
|
|
666
|
+
get #array() {
|
|
667
|
+
if (this.#_array.buffer.byteLength === 0) {
|
|
668
|
+
// WebAssembly memory resize detached the buffer so re-create the
|
|
669
|
+
// array with the new buffer.
|
|
670
|
+
this.#_array = this.#module.HEAPU8.subarray(
|
|
671
|
+
this.byteOffset,
|
|
672
|
+
this.byteOffset + this.byteLength);
|
|
673
|
+
}
|
|
674
|
+
return this.#_array;
|
|
675
|
+
}
|
|
676
|
+
|
|
677
|
+
/**
|
|
678
|
+
* @param {*} module
|
|
679
|
+
* @param {number} byteOffset
|
|
680
|
+
* @param {number} byteLength
|
|
681
|
+
*/
|
|
682
|
+
constructor(module, byteOffset, byteLength) {
|
|
683
|
+
this.#module = module;
|
|
684
|
+
this.byteOffset = byteOffset;
|
|
685
|
+
this.length = this.byteLength = byteLength;
|
|
686
|
+
}
|
|
687
|
+
|
|
688
|
+
get buffer() {
|
|
689
|
+
return this.#array.buffer;
|
|
690
|
+
}
|
|
691
|
+
|
|
692
|
+
at(index) {
|
|
693
|
+
return this.#array.at(index);
|
|
694
|
+
}
|
|
695
|
+
copyWithin(target, start, end) {
|
|
696
|
+
this.#array.copyWithin(target, start, end);
|
|
697
|
+
}
|
|
698
|
+
entries() {
|
|
699
|
+
return this.#array.entries();
|
|
700
|
+
}
|
|
701
|
+
every(predicate) {
|
|
702
|
+
return this.#array.every(predicate);
|
|
703
|
+
}
|
|
704
|
+
fill(value, start, end) {
|
|
705
|
+
this.#array.fill(value, start, end);
|
|
706
|
+
}
|
|
707
|
+
filter(predicate) {
|
|
708
|
+
return this.#array.filter(predicate);
|
|
709
|
+
}
|
|
710
|
+
find(predicate) {
|
|
711
|
+
return this.#array.find(predicate);
|
|
712
|
+
}
|
|
713
|
+
findIndex(predicate) {
|
|
714
|
+
return this.#array.findIndex(predicate);
|
|
715
|
+
}
|
|
716
|
+
findLast(predicate) {
|
|
717
|
+
return this.#array.findLast(predicate);
|
|
718
|
+
}
|
|
719
|
+
findLastIndex(predicate) {
|
|
720
|
+
return this.#array.findLastIndex(predicate);
|
|
721
|
+
}
|
|
722
|
+
forEach(callback) {
|
|
723
|
+
this.#array.forEach(callback);
|
|
724
|
+
}
|
|
725
|
+
includes(value, start) {
|
|
726
|
+
return this.#array.includes(value, start);
|
|
727
|
+
}
|
|
728
|
+
indexOf(value, start) {
|
|
729
|
+
return this.#array.indexOf(value, start);
|
|
730
|
+
}
|
|
731
|
+
join(separator) {
|
|
732
|
+
return this.#array.join(separator);
|
|
733
|
+
}
|
|
734
|
+
keys() {
|
|
735
|
+
return this.#array.keys();
|
|
736
|
+
}
|
|
737
|
+
lastIndexOf(value, start) {
|
|
738
|
+
return this.#array.lastIndexOf(value, start);
|
|
739
|
+
}
|
|
740
|
+
map(callback) {
|
|
741
|
+
return this.#array.map(callback);
|
|
742
|
+
}
|
|
743
|
+
reduce(callback, initialValue) {
|
|
744
|
+
return this.#array.reduce(callback, initialValue);
|
|
745
|
+
}
|
|
746
|
+
reduceRight(callback, initialValue) {
|
|
747
|
+
return this.#array.reduceRight(callback, initialValue);
|
|
748
|
+
}
|
|
749
|
+
reverse() {
|
|
750
|
+
this.#array.reverse();
|
|
751
|
+
}
|
|
752
|
+
set(array, offset) {
|
|
753
|
+
this.#array.set(array, offset);
|
|
754
|
+
}
|
|
755
|
+
slice(start, end) {
|
|
756
|
+
return this.#array.slice(start, end);
|
|
757
|
+
}
|
|
758
|
+
some(predicate) {
|
|
759
|
+
return this.#array.some(predicate);
|
|
760
|
+
}
|
|
761
|
+
sort(compareFn) {
|
|
762
|
+
this.#array.sort(compareFn);
|
|
763
|
+
}
|
|
764
|
+
subarray(begin, end) {
|
|
765
|
+
return this.#array.subarray(begin, end);
|
|
766
|
+
}
|
|
767
|
+
toLocaleString(locales, options) {
|
|
768
|
+
// @ts-ignore
|
|
769
|
+
return this.#array.toLocaleString(locales, options);
|
|
770
|
+
}
|
|
771
|
+
toReversed() {
|
|
772
|
+
return this.#array.toReversed();
|
|
773
|
+
}
|
|
774
|
+
toSorted(compareFn) {
|
|
775
|
+
return this.#array.toSorted(compareFn);
|
|
776
|
+
}
|
|
777
|
+
toString() {
|
|
778
|
+
return this.#array.toString();
|
|
779
|
+
}
|
|
780
|
+
values() {
|
|
781
|
+
return this.#array.values();
|
|
782
|
+
}
|
|
783
|
+
with(index, value) {
|
|
784
|
+
return this.#array.with(index, value);
|
|
785
|
+
}
|
|
786
|
+
[Symbol.iterator]() {
|
|
787
|
+
return this.#array[Symbol.iterator]();
|
|
788
|
+
}
|
|
789
|
+
}
|
|
790
|
+
|
|
791
|
+
// This class provides a DataView-like interface for a WebAssembly memory
|
|
792
|
+
// buffer, restricted to either Int32 or BigInt64 types. It also reacquires
|
|
793
|
+
// the underlying buffer when the WebAssembly memory is resized, which can
|
|
794
|
+
// happen when the memory is detached and resized by the WebAssembly module.
|
|
795
|
+
class DataViewProxy {
|
|
796
|
+
#module;
|
|
797
|
+
#type;
|
|
798
|
+
|
|
799
|
+
#_view = new DataView(new ArrayBuffer(0));
|
|
800
|
+
get #view() {
|
|
801
|
+
if (this.#_view.buffer.byteLength === 0) {
|
|
802
|
+
// WebAssembly memory resize detached the buffer so re-create the
|
|
803
|
+
// view with the new buffer.
|
|
804
|
+
this.#_view = new DataView(
|
|
805
|
+
this.#module.HEAPU8.buffer,
|
|
806
|
+
this.#module.HEAPU8.byteOffset + this.byteOffset);
|
|
807
|
+
}
|
|
808
|
+
return this.#_view;
|
|
809
|
+
}
|
|
810
|
+
|
|
811
|
+
/**
|
|
812
|
+
* @param {*} module
|
|
813
|
+
* @param {number} byteOffset
|
|
814
|
+
* @param {'Int32'|'BigInt64'} type
|
|
815
|
+
*/
|
|
816
|
+
constructor(module, byteOffset, type) {
|
|
817
|
+
this.#module = module;
|
|
818
|
+
this.byteOffset = byteOffset;
|
|
819
|
+
this.#type = type;
|
|
820
|
+
}
|
|
821
|
+
|
|
822
|
+
get buffer() {
|
|
823
|
+
return this.#view.buffer;
|
|
824
|
+
}
|
|
825
|
+
get byteLength() {
|
|
826
|
+
return this.#type === 'Int32' ? 4 : 8;
|
|
827
|
+
}
|
|
828
|
+
|
|
829
|
+
getInt32(byteOffset, littleEndian) {
|
|
830
|
+
if (this.#type !== 'Int32') {
|
|
831
|
+
throw new Error('invalid type');
|
|
832
|
+
}
|
|
833
|
+
if (!littleEndian) throw new Error('must be little endian');
|
|
834
|
+
return this.#view.getInt32(byteOffset, littleEndian);
|
|
835
|
+
}
|
|
836
|
+
setInt32(byteOffset, value, littleEndian) {
|
|
837
|
+
if (this.#type !== 'Int32') {
|
|
838
|
+
throw new Error('invalid type');
|
|
839
|
+
}
|
|
840
|
+
if (!littleEndian) throw new Error('must be little endian');
|
|
841
|
+
this.#view.setInt32(byteOffset, value, littleEndian);
|
|
842
|
+
}
|
|
843
|
+
getBigInt64(byteOffset, littleEndian) {
|
|
844
|
+
if (this.#type !== 'BigInt64') {
|
|
845
|
+
throw new Error('invalid type');
|
|
846
|
+
}
|
|
847
|
+
if (!littleEndian) throw new Error('must be little endian');
|
|
848
|
+
return this.#view.getBigInt64(byteOffset, littleEndian);
|
|
849
|
+
}
|
|
850
|
+
setBigInt64(byteOffset, value, littleEndian) {
|
|
851
|
+
if (this.#type !== 'BigInt64') {
|
|
852
|
+
throw new Error('invalid type');
|
|
853
|
+
}
|
|
854
|
+
if (!littleEndian) throw new Error('must be little endian');
|
|
855
|
+
this.#view.setBigInt64(byteOffset, value, littleEndian);
|
|
856
|
+
}
|
|
857
|
+
}
|
|
858
|
+
|
|
859
|
+
/***/ }),
|
|
860
|
+
|
|
861
|
+
/***/ "../../node_modules/@journeyapps/wa-sqlite/src/VFS.js":
|
|
862
|
+
/*!************************************************************!*\
|
|
863
|
+
!*** ../../node_modules/@journeyapps/wa-sqlite/src/VFS.js ***!
|
|
864
|
+
\************************************************************/
|
|
865
|
+
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
866
|
+
|
|
867
|
+
"use strict";
|
|
868
|
+
__webpack_require__.r(__webpack_exports__);
|
|
869
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
870
|
+
/* harmony export */ Base: () => (/* binding */ Base),
|
|
871
|
+
/* harmony export */ FILE_TYPE_MASK: () => (/* binding */ FILE_TYPE_MASK),
|
|
872
|
+
/* harmony export */ SQLITE_ABORT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_ABORT),
|
|
873
|
+
/* harmony export */ SQLITE_ACCESS_EXISTS: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_ACCESS_EXISTS),
|
|
874
|
+
/* harmony export */ SQLITE_ACCESS_READ: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_ACCESS_READ),
|
|
875
|
+
/* harmony export */ SQLITE_ACCESS_READWRITE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_ACCESS_READWRITE),
|
|
876
|
+
/* harmony export */ SQLITE_ALTER_TABLE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_ALTER_TABLE),
|
|
877
|
+
/* harmony export */ SQLITE_ANALYZE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_ANALYZE),
|
|
878
|
+
/* harmony export */ SQLITE_ATTACH: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_ATTACH),
|
|
879
|
+
/* harmony export */ SQLITE_AUTH: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_AUTH),
|
|
880
|
+
/* harmony export */ SQLITE_BLOB: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_BLOB),
|
|
881
|
+
/* harmony export */ SQLITE_BUSY: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_BUSY),
|
|
882
|
+
/* harmony export */ SQLITE_CANTOPEN: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CANTOPEN),
|
|
883
|
+
/* harmony export */ SQLITE_CONSTRAINT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CONSTRAINT),
|
|
884
|
+
/* harmony export */ SQLITE_CONSTRAINT_CHECK: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CONSTRAINT_CHECK),
|
|
885
|
+
/* harmony export */ SQLITE_CONSTRAINT_COMMITHOOK: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CONSTRAINT_COMMITHOOK),
|
|
886
|
+
/* harmony export */ SQLITE_CONSTRAINT_FOREIGNKEY: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CONSTRAINT_FOREIGNKEY),
|
|
887
|
+
/* harmony export */ SQLITE_CONSTRAINT_FUNCTION: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CONSTRAINT_FUNCTION),
|
|
888
|
+
/* harmony export */ SQLITE_CONSTRAINT_NOTNULL: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CONSTRAINT_NOTNULL),
|
|
889
|
+
/* harmony export */ SQLITE_CONSTRAINT_PINNED: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CONSTRAINT_PINNED),
|
|
890
|
+
/* harmony export */ SQLITE_CONSTRAINT_PRIMARYKEY: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CONSTRAINT_PRIMARYKEY),
|
|
891
|
+
/* harmony export */ SQLITE_CONSTRAINT_ROWID: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CONSTRAINT_ROWID),
|
|
892
|
+
/* harmony export */ SQLITE_CONSTRAINT_TRIGGER: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CONSTRAINT_TRIGGER),
|
|
893
|
+
/* harmony export */ SQLITE_CONSTRAINT_UNIQUE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CONSTRAINT_UNIQUE),
|
|
894
|
+
/* harmony export */ SQLITE_CONSTRAINT_VTAB: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CONSTRAINT_VTAB),
|
|
895
|
+
/* harmony export */ SQLITE_COPY: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_COPY),
|
|
896
|
+
/* harmony export */ SQLITE_CORRUPT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CORRUPT),
|
|
897
|
+
/* harmony export */ SQLITE_CREATE_INDEX: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CREATE_INDEX),
|
|
898
|
+
/* harmony export */ SQLITE_CREATE_TABLE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CREATE_TABLE),
|
|
899
|
+
/* harmony export */ SQLITE_CREATE_TEMP_INDEX: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CREATE_TEMP_INDEX),
|
|
900
|
+
/* harmony export */ SQLITE_CREATE_TEMP_TABLE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CREATE_TEMP_TABLE),
|
|
901
|
+
/* harmony export */ SQLITE_CREATE_TEMP_TRIGGER: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CREATE_TEMP_TRIGGER),
|
|
902
|
+
/* harmony export */ SQLITE_CREATE_TEMP_VIEW: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CREATE_TEMP_VIEW),
|
|
903
|
+
/* harmony export */ SQLITE_CREATE_TRIGGER: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CREATE_TRIGGER),
|
|
904
|
+
/* harmony export */ SQLITE_CREATE_VIEW: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CREATE_VIEW),
|
|
905
|
+
/* harmony export */ SQLITE_CREATE_VTABLE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CREATE_VTABLE),
|
|
906
|
+
/* harmony export */ SQLITE_DELETE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_DELETE),
|
|
907
|
+
/* harmony export */ SQLITE_DENY: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_DENY),
|
|
908
|
+
/* harmony export */ SQLITE_DETACH: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_DETACH),
|
|
909
|
+
/* harmony export */ SQLITE_DETERMINISTIC: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_DETERMINISTIC),
|
|
910
|
+
/* harmony export */ SQLITE_DIRECTONLY: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_DIRECTONLY),
|
|
911
|
+
/* harmony export */ SQLITE_DONE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_DONE),
|
|
912
|
+
/* harmony export */ SQLITE_DROP_INDEX: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_DROP_INDEX),
|
|
913
|
+
/* harmony export */ SQLITE_DROP_TABLE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_DROP_TABLE),
|
|
914
|
+
/* harmony export */ SQLITE_DROP_TEMP_INDEX: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_DROP_TEMP_INDEX),
|
|
915
|
+
/* harmony export */ SQLITE_DROP_TEMP_TABLE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_DROP_TEMP_TABLE),
|
|
916
|
+
/* harmony export */ SQLITE_DROP_TEMP_TRIGGER: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_DROP_TEMP_TRIGGER),
|
|
917
|
+
/* harmony export */ SQLITE_DROP_TEMP_VIEW: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_DROP_TEMP_VIEW),
|
|
918
|
+
/* harmony export */ SQLITE_DROP_TRIGGER: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_DROP_TRIGGER),
|
|
919
|
+
/* harmony export */ SQLITE_DROP_VIEW: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_DROP_VIEW),
|
|
920
|
+
/* harmony export */ SQLITE_DROP_VTABLE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_DROP_VTABLE),
|
|
921
|
+
/* harmony export */ SQLITE_EMPTY: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_EMPTY),
|
|
922
|
+
/* harmony export */ SQLITE_ERROR: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_ERROR),
|
|
923
|
+
/* harmony export */ SQLITE_FCNTL_BEGIN_ATOMIC_WRITE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_BEGIN_ATOMIC_WRITE),
|
|
924
|
+
/* harmony export */ SQLITE_FCNTL_BUSYHANDLER: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_BUSYHANDLER),
|
|
925
|
+
/* harmony export */ SQLITE_FCNTL_CHUNK_SIZE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_CHUNK_SIZE),
|
|
926
|
+
/* harmony export */ SQLITE_FCNTL_CKPT_DONE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_CKPT_DONE),
|
|
927
|
+
/* harmony export */ SQLITE_FCNTL_CKPT_START: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_CKPT_START),
|
|
928
|
+
/* harmony export */ SQLITE_FCNTL_COMMIT_ATOMIC_WRITE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_COMMIT_ATOMIC_WRITE),
|
|
929
|
+
/* harmony export */ SQLITE_FCNTL_COMMIT_PHASETWO: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_COMMIT_PHASETWO),
|
|
930
|
+
/* harmony export */ SQLITE_FCNTL_DATA_VERSION: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_DATA_VERSION),
|
|
931
|
+
/* harmony export */ SQLITE_FCNTL_FILE_POINTER: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_FILE_POINTER),
|
|
932
|
+
/* harmony export */ SQLITE_FCNTL_GET_LOCKPROXYFILE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_GET_LOCKPROXYFILE),
|
|
933
|
+
/* harmony export */ SQLITE_FCNTL_HAS_MOVED: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_HAS_MOVED),
|
|
934
|
+
/* harmony export */ SQLITE_FCNTL_JOURNAL_POINTER: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_JOURNAL_POINTER),
|
|
935
|
+
/* harmony export */ SQLITE_FCNTL_LAST_ERRNO: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_LAST_ERRNO),
|
|
936
|
+
/* harmony export */ SQLITE_FCNTL_LOCKSTATE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_LOCKSTATE),
|
|
937
|
+
/* harmony export */ SQLITE_FCNTL_LOCK_TIMEOUT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_LOCK_TIMEOUT),
|
|
938
|
+
/* harmony export */ SQLITE_FCNTL_MMAP_SIZE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_MMAP_SIZE),
|
|
939
|
+
/* harmony export */ SQLITE_FCNTL_OVERWRITE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_OVERWRITE),
|
|
940
|
+
/* harmony export */ SQLITE_FCNTL_PDB: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_PDB),
|
|
941
|
+
/* harmony export */ SQLITE_FCNTL_PERSIST_WAL: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_PERSIST_WAL),
|
|
942
|
+
/* harmony export */ SQLITE_FCNTL_POWERSAFE_OVERWRITE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_POWERSAFE_OVERWRITE),
|
|
943
|
+
/* harmony export */ SQLITE_FCNTL_PRAGMA: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_PRAGMA),
|
|
944
|
+
/* harmony export */ SQLITE_FCNTL_RBU: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_RBU),
|
|
945
|
+
/* harmony export */ SQLITE_FCNTL_RESERVE_BYTES: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_RESERVE_BYTES),
|
|
946
|
+
/* harmony export */ SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE),
|
|
947
|
+
/* harmony export */ SQLITE_FCNTL_SET_LOCKPROXYFILE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_SET_LOCKPROXYFILE),
|
|
948
|
+
/* harmony export */ SQLITE_FCNTL_SIZE_HINT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_SIZE_HINT),
|
|
949
|
+
/* harmony export */ SQLITE_FCNTL_SIZE_LIMIT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_SIZE_LIMIT),
|
|
950
|
+
/* harmony export */ SQLITE_FCNTL_SYNC: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_SYNC),
|
|
951
|
+
/* harmony export */ SQLITE_FCNTL_SYNC_OMITTED: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_SYNC_OMITTED),
|
|
952
|
+
/* harmony export */ SQLITE_FCNTL_TEMPFILENAME: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_TEMPFILENAME),
|
|
953
|
+
/* harmony export */ SQLITE_FCNTL_TRACE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_TRACE),
|
|
954
|
+
/* harmony export */ SQLITE_FCNTL_VFSNAME: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_VFSNAME),
|
|
955
|
+
/* harmony export */ SQLITE_FCNTL_VFS_POINTER: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_VFS_POINTER),
|
|
956
|
+
/* harmony export */ SQLITE_FCNTL_WAL_BLOCK: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_WAL_BLOCK),
|
|
957
|
+
/* harmony export */ SQLITE_FCNTL_WIN32_AV_RETRY: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_WIN32_AV_RETRY),
|
|
958
|
+
/* harmony export */ SQLITE_FCNTL_WIN32_GET_HANDLE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_WIN32_GET_HANDLE),
|
|
959
|
+
/* harmony export */ SQLITE_FCNTL_WIN32_SET_HANDLE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_WIN32_SET_HANDLE),
|
|
960
|
+
/* harmony export */ SQLITE_FCNTL_ZIPVFS: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_ZIPVFS),
|
|
961
|
+
/* harmony export */ SQLITE_FLOAT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FLOAT),
|
|
962
|
+
/* harmony export */ SQLITE_FORMAT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FORMAT),
|
|
963
|
+
/* harmony export */ SQLITE_FULL: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FULL),
|
|
964
|
+
/* harmony export */ SQLITE_FUNCTION: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FUNCTION),
|
|
965
|
+
/* harmony export */ SQLITE_IGNORE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IGNORE),
|
|
966
|
+
/* harmony export */ SQLITE_INDEX_CONSTRAINT_EQ: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INDEX_CONSTRAINT_EQ),
|
|
967
|
+
/* harmony export */ SQLITE_INDEX_CONSTRAINT_FUNCTION: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INDEX_CONSTRAINT_FUNCTION),
|
|
968
|
+
/* harmony export */ SQLITE_INDEX_CONSTRAINT_GE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INDEX_CONSTRAINT_GE),
|
|
969
|
+
/* harmony export */ SQLITE_INDEX_CONSTRAINT_GLOB: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INDEX_CONSTRAINT_GLOB),
|
|
970
|
+
/* harmony export */ SQLITE_INDEX_CONSTRAINT_GT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INDEX_CONSTRAINT_GT),
|
|
971
|
+
/* harmony export */ SQLITE_INDEX_CONSTRAINT_IS: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INDEX_CONSTRAINT_IS),
|
|
972
|
+
/* harmony export */ SQLITE_INDEX_CONSTRAINT_ISNOT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INDEX_CONSTRAINT_ISNOT),
|
|
973
|
+
/* harmony export */ SQLITE_INDEX_CONSTRAINT_ISNOTNULL: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INDEX_CONSTRAINT_ISNOTNULL),
|
|
974
|
+
/* harmony export */ SQLITE_INDEX_CONSTRAINT_ISNULL: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INDEX_CONSTRAINT_ISNULL),
|
|
975
|
+
/* harmony export */ SQLITE_INDEX_CONSTRAINT_LE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INDEX_CONSTRAINT_LE),
|
|
976
|
+
/* harmony export */ SQLITE_INDEX_CONSTRAINT_LIKE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INDEX_CONSTRAINT_LIKE),
|
|
977
|
+
/* harmony export */ SQLITE_INDEX_CONSTRAINT_LT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INDEX_CONSTRAINT_LT),
|
|
978
|
+
/* harmony export */ SQLITE_INDEX_CONSTRAINT_MATCH: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INDEX_CONSTRAINT_MATCH),
|
|
979
|
+
/* harmony export */ SQLITE_INDEX_CONSTRAINT_NE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INDEX_CONSTRAINT_NE),
|
|
980
|
+
/* harmony export */ SQLITE_INDEX_CONSTRAINT_REGEXP: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INDEX_CONSTRAINT_REGEXP),
|
|
981
|
+
/* harmony export */ SQLITE_INDEX_SCAN_UNIQUE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INDEX_SCAN_UNIQUE),
|
|
982
|
+
/* harmony export */ SQLITE_INNOCUOUS: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INNOCUOUS),
|
|
983
|
+
/* harmony export */ SQLITE_INSERT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INSERT),
|
|
984
|
+
/* harmony export */ SQLITE_INTEGER: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INTEGER),
|
|
985
|
+
/* harmony export */ SQLITE_INTERNAL: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INTERNAL),
|
|
986
|
+
/* harmony export */ SQLITE_INTERRUPT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INTERRUPT),
|
|
987
|
+
/* harmony export */ SQLITE_IOCAP_ATOMIC: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOCAP_ATOMIC),
|
|
988
|
+
/* harmony export */ SQLITE_IOCAP_ATOMIC16K: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOCAP_ATOMIC16K),
|
|
989
|
+
/* harmony export */ SQLITE_IOCAP_ATOMIC1K: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOCAP_ATOMIC1K),
|
|
990
|
+
/* harmony export */ SQLITE_IOCAP_ATOMIC2K: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOCAP_ATOMIC2K),
|
|
991
|
+
/* harmony export */ SQLITE_IOCAP_ATOMIC32K: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOCAP_ATOMIC32K),
|
|
992
|
+
/* harmony export */ SQLITE_IOCAP_ATOMIC4K: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOCAP_ATOMIC4K),
|
|
993
|
+
/* harmony export */ SQLITE_IOCAP_ATOMIC512: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOCAP_ATOMIC512),
|
|
994
|
+
/* harmony export */ SQLITE_IOCAP_ATOMIC64K: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOCAP_ATOMIC64K),
|
|
995
|
+
/* harmony export */ SQLITE_IOCAP_ATOMIC8K: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOCAP_ATOMIC8K),
|
|
996
|
+
/* harmony export */ SQLITE_IOCAP_BATCH_ATOMIC: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOCAP_BATCH_ATOMIC),
|
|
997
|
+
/* harmony export */ SQLITE_IOCAP_IMMUTABLE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOCAP_IMMUTABLE),
|
|
998
|
+
/* harmony export */ SQLITE_IOCAP_POWERSAFE_OVERWRITE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOCAP_POWERSAFE_OVERWRITE),
|
|
999
|
+
/* harmony export */ SQLITE_IOCAP_SAFE_APPEND: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOCAP_SAFE_APPEND),
|
|
1000
|
+
/* harmony export */ SQLITE_IOCAP_SEQUENTIAL: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOCAP_SEQUENTIAL),
|
|
1001
|
+
/* harmony export */ SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN),
|
|
1002
|
+
/* harmony export */ SQLITE_IOERR: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR),
|
|
1003
|
+
/* harmony export */ SQLITE_IOERR_ACCESS: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_ACCESS),
|
|
1004
|
+
/* harmony export */ SQLITE_IOERR_BEGIN_ATOMIC: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_BEGIN_ATOMIC),
|
|
1005
|
+
/* harmony export */ SQLITE_IOERR_CHECKRESERVEDLOCK: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_CHECKRESERVEDLOCK),
|
|
1006
|
+
/* harmony export */ SQLITE_IOERR_CLOSE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_CLOSE),
|
|
1007
|
+
/* harmony export */ SQLITE_IOERR_COMMIT_ATOMIC: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_COMMIT_ATOMIC),
|
|
1008
|
+
/* harmony export */ SQLITE_IOERR_DATA: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_DATA),
|
|
1009
|
+
/* harmony export */ SQLITE_IOERR_DELETE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_DELETE),
|
|
1010
|
+
/* harmony export */ SQLITE_IOERR_DELETE_NOENT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_DELETE_NOENT),
|
|
1011
|
+
/* harmony export */ SQLITE_IOERR_DIR_FSYNC: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_DIR_FSYNC),
|
|
1012
|
+
/* harmony export */ SQLITE_IOERR_FSTAT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_FSTAT),
|
|
1013
|
+
/* harmony export */ SQLITE_IOERR_FSYNC: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_FSYNC),
|
|
1014
|
+
/* harmony export */ SQLITE_IOERR_GETTEMPPATH: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_GETTEMPPATH),
|
|
1015
|
+
/* harmony export */ SQLITE_IOERR_LOCK: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_LOCK),
|
|
1016
|
+
/* harmony export */ SQLITE_IOERR_NOMEM: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_NOMEM),
|
|
1017
|
+
/* harmony export */ SQLITE_IOERR_RDLOCK: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_RDLOCK),
|
|
1018
|
+
/* harmony export */ SQLITE_IOERR_READ: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_READ),
|
|
1019
|
+
/* harmony export */ SQLITE_IOERR_ROLLBACK_ATOMIC: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_ROLLBACK_ATOMIC),
|
|
1020
|
+
/* harmony export */ SQLITE_IOERR_SEEK: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_SEEK),
|
|
1021
|
+
/* harmony export */ SQLITE_IOERR_SHORT_READ: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_SHORT_READ),
|
|
1022
|
+
/* harmony export */ SQLITE_IOERR_TRUNCATE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_TRUNCATE),
|
|
1023
|
+
/* harmony export */ SQLITE_IOERR_UNLOCK: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_UNLOCK),
|
|
1024
|
+
/* harmony export */ SQLITE_IOERR_VNODE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_VNODE),
|
|
1025
|
+
/* harmony export */ SQLITE_IOERR_WRITE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_WRITE),
|
|
1026
|
+
/* harmony export */ SQLITE_LIMIT_ATTACHED: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_LIMIT_ATTACHED),
|
|
1027
|
+
/* harmony export */ SQLITE_LIMIT_COLUMN: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_LIMIT_COLUMN),
|
|
1028
|
+
/* harmony export */ SQLITE_LIMIT_COMPOUND_SELECT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_LIMIT_COMPOUND_SELECT),
|
|
1029
|
+
/* harmony export */ SQLITE_LIMIT_EXPR_DEPTH: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_LIMIT_EXPR_DEPTH),
|
|
1030
|
+
/* harmony export */ SQLITE_LIMIT_FUNCTION_ARG: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_LIMIT_FUNCTION_ARG),
|
|
1031
|
+
/* harmony export */ SQLITE_LIMIT_LENGTH: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_LIMIT_LENGTH),
|
|
1032
|
+
/* harmony export */ SQLITE_LIMIT_LIKE_PATTERN_LENGTH: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_LIMIT_LIKE_PATTERN_LENGTH),
|
|
1033
|
+
/* harmony export */ SQLITE_LIMIT_SQL_LENGTH: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_LIMIT_SQL_LENGTH),
|
|
1034
|
+
/* harmony export */ SQLITE_LIMIT_TRIGGER_DEPTH: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_LIMIT_TRIGGER_DEPTH),
|
|
1035
|
+
/* harmony export */ SQLITE_LIMIT_VARIABLE_NUMBER: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_LIMIT_VARIABLE_NUMBER),
|
|
1036
|
+
/* harmony export */ SQLITE_LIMIT_VDBE_OP: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_LIMIT_VDBE_OP),
|
|
1037
|
+
/* harmony export */ SQLITE_LIMIT_WORKER_THREADS: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_LIMIT_WORKER_THREADS),
|
|
1038
|
+
/* harmony export */ SQLITE_LOCKED: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_LOCKED),
|
|
1039
|
+
/* harmony export */ SQLITE_LOCK_EXCLUSIVE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_LOCK_EXCLUSIVE),
|
|
1040
|
+
/* harmony export */ SQLITE_LOCK_NONE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_LOCK_NONE),
|
|
1041
|
+
/* harmony export */ SQLITE_LOCK_PENDING: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_LOCK_PENDING),
|
|
1042
|
+
/* harmony export */ SQLITE_LOCK_RESERVED: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_LOCK_RESERVED),
|
|
1043
|
+
/* harmony export */ SQLITE_LOCK_SHARED: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_LOCK_SHARED),
|
|
1044
|
+
/* harmony export */ SQLITE_MISMATCH: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_MISMATCH),
|
|
1045
|
+
/* harmony export */ SQLITE_MISUSE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_MISUSE),
|
|
1046
|
+
/* harmony export */ SQLITE_NOLFS: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_NOLFS),
|
|
1047
|
+
/* harmony export */ SQLITE_NOMEM: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_NOMEM),
|
|
1048
|
+
/* harmony export */ SQLITE_NOTADB: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_NOTADB),
|
|
1049
|
+
/* harmony export */ SQLITE_NOTFOUND: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_NOTFOUND),
|
|
1050
|
+
/* harmony export */ SQLITE_NOTICE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_NOTICE),
|
|
1051
|
+
/* harmony export */ SQLITE_NULL: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_NULL),
|
|
1052
|
+
/* harmony export */ SQLITE_OK: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OK),
|
|
1053
|
+
/* harmony export */ SQLITE_OPEN_AUTOPROXY: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_AUTOPROXY),
|
|
1054
|
+
/* harmony export */ SQLITE_OPEN_CREATE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_CREATE),
|
|
1055
|
+
/* harmony export */ SQLITE_OPEN_DELETEONCLOSE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_DELETEONCLOSE),
|
|
1056
|
+
/* harmony export */ SQLITE_OPEN_EXCLUSIVE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_EXCLUSIVE),
|
|
1057
|
+
/* harmony export */ SQLITE_OPEN_FULLMUTEX: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_FULLMUTEX),
|
|
1058
|
+
/* harmony export */ SQLITE_OPEN_MAIN_DB: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_MAIN_DB),
|
|
1059
|
+
/* harmony export */ SQLITE_OPEN_MAIN_JOURNAL: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_MAIN_JOURNAL),
|
|
1060
|
+
/* harmony export */ SQLITE_OPEN_MEMORY: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_MEMORY),
|
|
1061
|
+
/* harmony export */ SQLITE_OPEN_NOFOLLOW: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_NOFOLLOW),
|
|
1062
|
+
/* harmony export */ SQLITE_OPEN_NOMUTEX: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_NOMUTEX),
|
|
1063
|
+
/* harmony export */ SQLITE_OPEN_PRIVATECACHE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_PRIVATECACHE),
|
|
1064
|
+
/* harmony export */ SQLITE_OPEN_READONLY: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_READONLY),
|
|
1065
|
+
/* harmony export */ SQLITE_OPEN_READWRITE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_READWRITE),
|
|
1066
|
+
/* harmony export */ SQLITE_OPEN_SHAREDCACHE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_SHAREDCACHE),
|
|
1067
|
+
/* harmony export */ SQLITE_OPEN_SUBJOURNAL: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_SUBJOURNAL),
|
|
1068
|
+
/* harmony export */ SQLITE_OPEN_SUPER_JOURNAL: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_SUPER_JOURNAL),
|
|
1069
|
+
/* harmony export */ SQLITE_OPEN_TEMP_DB: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_TEMP_DB),
|
|
1070
|
+
/* harmony export */ SQLITE_OPEN_TEMP_JOURNAL: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_TEMP_JOURNAL),
|
|
1071
|
+
/* harmony export */ SQLITE_OPEN_TRANSIENT_DB: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_TRANSIENT_DB),
|
|
1072
|
+
/* harmony export */ SQLITE_OPEN_URI: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_URI),
|
|
1073
|
+
/* harmony export */ SQLITE_OPEN_WAL: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_WAL),
|
|
1074
|
+
/* harmony export */ SQLITE_PERM: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_PERM),
|
|
1075
|
+
/* harmony export */ SQLITE_PRAGMA: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_PRAGMA),
|
|
1076
|
+
/* harmony export */ SQLITE_PREPARE_NORMALIZED: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_PREPARE_NORMALIZED),
|
|
1077
|
+
/* harmony export */ SQLITE_PREPARE_NO_VTAB: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_PREPARE_NO_VTAB),
|
|
1078
|
+
/* harmony export */ SQLITE_PREPARE_PERSISTENT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_PREPARE_PERSISTENT),
|
|
1079
|
+
/* harmony export */ SQLITE_PROTOCOL: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_PROTOCOL),
|
|
1080
|
+
/* harmony export */ SQLITE_RANGE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_RANGE),
|
|
1081
|
+
/* harmony export */ SQLITE_READ: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_READ),
|
|
1082
|
+
/* harmony export */ SQLITE_READONLY: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_READONLY),
|
|
1083
|
+
/* harmony export */ SQLITE_RECURSIVE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_RECURSIVE),
|
|
1084
|
+
/* harmony export */ SQLITE_REINDEX: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_REINDEX),
|
|
1085
|
+
/* harmony export */ SQLITE_ROW: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_ROW),
|
|
1086
|
+
/* harmony export */ SQLITE_SAVEPOINT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_SAVEPOINT),
|
|
1087
|
+
/* harmony export */ SQLITE_SCHEMA: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_SCHEMA),
|
|
1088
|
+
/* harmony export */ SQLITE_SELECT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_SELECT),
|
|
1089
|
+
/* harmony export */ SQLITE_STATIC: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_STATIC),
|
|
1090
|
+
/* harmony export */ SQLITE_SUBTYPE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_SUBTYPE),
|
|
1091
|
+
/* harmony export */ SQLITE_SYNC_DATAONLY: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_SYNC_DATAONLY),
|
|
1092
|
+
/* harmony export */ SQLITE_SYNC_FULL: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_SYNC_FULL),
|
|
1093
|
+
/* harmony export */ SQLITE_SYNC_NORMAL: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_SYNC_NORMAL),
|
|
1094
|
+
/* harmony export */ SQLITE_TEXT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_TEXT),
|
|
1095
|
+
/* harmony export */ SQLITE_TOOBIG: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_TOOBIG),
|
|
1096
|
+
/* harmony export */ SQLITE_TRANSACTION: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_TRANSACTION),
|
|
1097
|
+
/* harmony export */ SQLITE_TRANSIENT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_TRANSIENT),
|
|
1098
|
+
/* harmony export */ SQLITE_UPDATE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_UPDATE),
|
|
1099
|
+
/* harmony export */ SQLITE_UTF16: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_UTF16),
|
|
1100
|
+
/* harmony export */ SQLITE_UTF16BE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_UTF16BE),
|
|
1101
|
+
/* harmony export */ SQLITE_UTF16LE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_UTF16LE),
|
|
1102
|
+
/* harmony export */ SQLITE_UTF8: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_UTF8),
|
|
1103
|
+
/* harmony export */ SQLITE_WARNING: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_WARNING)
|
|
1104
|
+
/* harmony export */ });
|
|
1105
|
+
/* harmony import */ var _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./sqlite-constants.js */ "../../node_modules/@journeyapps/wa-sqlite/src/sqlite-constants.js");
|
|
1106
|
+
// Copyright 2024 Roy T. Hashimoto. All Rights Reserved.
|
|
1107
|
+
|
|
1108
|
+
|
|
1109
|
+
|
|
1110
|
+
const DEFAULT_SECTOR_SIZE = 512;
|
|
1111
|
+
|
|
1112
|
+
// Base class for a VFS.
|
|
1113
|
+
class Base {
|
|
1114
|
+
name;
|
|
1115
|
+
mxPathname = 64;
|
|
1116
|
+
_module;
|
|
1117
|
+
|
|
1118
|
+
/**
|
|
1119
|
+
* @param {string} name
|
|
1120
|
+
* @param {object} module
|
|
1121
|
+
*/
|
|
1122
|
+
constructor(name, module) {
|
|
1123
|
+
this.name = name;
|
|
1124
|
+
this._module = module;
|
|
1125
|
+
}
|
|
1126
|
+
|
|
1127
|
+
/**
|
|
1128
|
+
* @returns {void|Promise<void>}
|
|
1129
|
+
*/
|
|
1130
|
+
close() {
|
|
1131
|
+
}
|
|
1132
|
+
|
|
1133
|
+
/**
|
|
1134
|
+
* @returns {boolean|Promise<boolean>}
|
|
1135
|
+
*/
|
|
1136
|
+
isReady() {
|
|
1137
|
+
return true;
|
|
1138
|
+
}
|
|
1139
|
+
|
|
1140
|
+
/**
|
|
1141
|
+
* Overload in subclasses to indicate which methods are asynchronous.
|
|
1142
|
+
* @param {string} methodName
|
|
1143
|
+
* @returns {boolean}
|
|
1144
|
+
*/
|
|
1145
|
+
hasAsyncMethod(methodName) {
|
|
1146
|
+
return false;
|
|
1147
|
+
}
|
|
1148
|
+
|
|
1149
|
+
/**
|
|
1150
|
+
* @param {number} pVfs
|
|
1151
|
+
* @param {number} zName
|
|
1152
|
+
* @param {number} pFile
|
|
1153
|
+
* @param {number} flags
|
|
1154
|
+
* @param {number} pOutFlags
|
|
1155
|
+
* @returns {number|Promise<number>}
|
|
1156
|
+
*/
|
|
1157
|
+
xOpen(pVfs, zName, pFile, flags, pOutFlags) {
|
|
1158
|
+
return _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CANTOPEN;
|
|
1159
|
+
}
|
|
1160
|
+
|
|
1161
|
+
/**
|
|
1162
|
+
* @param {number} pVfs
|
|
1163
|
+
* @param {number} zName
|
|
1164
|
+
* @param {number} syncDir
|
|
1165
|
+
* @returns {number|Promise<number>}
|
|
1166
|
+
*/
|
|
1167
|
+
xDelete(pVfs, zName, syncDir) {
|
|
1168
|
+
return _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OK;
|
|
1169
|
+
}
|
|
1170
|
+
|
|
1171
|
+
/**
|
|
1172
|
+
* @param {number} pVfs
|
|
1173
|
+
* @param {number} zName
|
|
1174
|
+
* @param {number} flags
|
|
1175
|
+
* @param {number} pResOut
|
|
1176
|
+
* @returns {number|Promise<number>}
|
|
1177
|
+
*/
|
|
1178
|
+
xAccess(pVfs, zName, flags, pResOut) {
|
|
1179
|
+
return _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OK;
|
|
1180
|
+
}
|
|
1181
|
+
|
|
1182
|
+
/**
|
|
1183
|
+
* @param {number} pVfs
|
|
1184
|
+
* @param {number} zName
|
|
1185
|
+
* @param {number} nOut
|
|
1186
|
+
* @param {number} zOut
|
|
1187
|
+
* @returns {number|Promise<number>}
|
|
1188
|
+
*/
|
|
1189
|
+
xFullPathname(pVfs, zName, nOut, zOut) {
|
|
1190
|
+
return _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OK;
|
|
1191
|
+
}
|
|
1192
|
+
|
|
1193
|
+
/**
|
|
1194
|
+
* @param {number} pVfs
|
|
1195
|
+
* @param {number} nBuf
|
|
1196
|
+
* @param {number} zBuf
|
|
1197
|
+
* @returns {number|Promise<number>}
|
|
1198
|
+
*/
|
|
1199
|
+
xGetLastError(pVfs, nBuf, zBuf) {
|
|
1200
|
+
return _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OK;
|
|
1201
|
+
}
|
|
1202
|
+
|
|
1203
|
+
/**
|
|
1204
|
+
* @param {number} pFile
|
|
1205
|
+
* @returns {number|Promise<number>}
|
|
1206
|
+
*/
|
|
1207
|
+
xClose(pFile) {
|
|
1208
|
+
return _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OK;
|
|
1209
|
+
}
|
|
1210
|
+
|
|
1211
|
+
/**
|
|
1212
|
+
* @param {number} pFile
|
|
1213
|
+
* @param {number} pData
|
|
1214
|
+
* @param {number} iAmt
|
|
1215
|
+
* @param {number} iOffsetLo
|
|
1216
|
+
* @param {number} iOffsetHi
|
|
1217
|
+
* @returns {number|Promise<number>}
|
|
1218
|
+
*/
|
|
1219
|
+
xRead(pFile, pData, iAmt, iOffsetLo, iOffsetHi) {
|
|
1220
|
+
return _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OK;
|
|
1221
|
+
}
|
|
1222
|
+
|
|
1223
|
+
/**
|
|
1224
|
+
* @param {number} pFile
|
|
1225
|
+
* @param {number} pData
|
|
1226
|
+
* @param {number} iAmt
|
|
1227
|
+
* @param {number} iOffsetLo
|
|
1228
|
+
* @param {number} iOffsetHi
|
|
1229
|
+
* @returns {number|Promise<number>}
|
|
1230
|
+
*/
|
|
1231
|
+
xWrite(pFile, pData, iAmt, iOffsetLo, iOffsetHi) {
|
|
1232
|
+
return _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OK;
|
|
1233
|
+
}
|
|
1234
|
+
|
|
1235
|
+
/**
|
|
1236
|
+
* @param {number} pFile
|
|
1237
|
+
* @param {number} sizeLo
|
|
1238
|
+
* @param {number} sizeHi
|
|
1239
|
+
* @returns {number|Promise<number>}
|
|
1240
|
+
*/
|
|
1241
|
+
xTruncate(pFile, sizeLo, sizeHi) {
|
|
1242
|
+
return _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OK;
|
|
1243
|
+
}
|
|
1244
|
+
|
|
1245
|
+
/**
|
|
1246
|
+
* @param {number} pFile
|
|
1247
|
+
* @param {number} flags
|
|
1248
|
+
* @returns {number|Promise<number>}
|
|
1249
|
+
*/
|
|
1250
|
+
xSync(pFile, flags) {
|
|
1251
|
+
return _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OK;
|
|
1252
|
+
}
|
|
1253
|
+
|
|
1254
|
+
/**
|
|
1255
|
+
*
|
|
1256
|
+
* @param {number} pFile
|
|
1257
|
+
* @param {number} pSize
|
|
1258
|
+
* @returns {number|Promise<number>}
|
|
1259
|
+
*/
|
|
1260
|
+
xFileSize(pFile, pSize) {
|
|
1261
|
+
return _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OK;
|
|
1262
|
+
}
|
|
1263
|
+
|
|
1264
|
+
/**
|
|
1265
|
+
* @param {number} pFile
|
|
1266
|
+
* @param {number} lockType
|
|
1267
|
+
* @returns {number|Promise<number>}
|
|
1268
|
+
*/
|
|
1269
|
+
xLock(pFile, lockType) {
|
|
1270
|
+
return _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OK;
|
|
1271
|
+
}
|
|
1272
|
+
|
|
1273
|
+
/**
|
|
1274
|
+
* @param {number} pFile
|
|
1275
|
+
* @param {number} lockType
|
|
1276
|
+
* @returns {number|Promise<number>}
|
|
1277
|
+
*/
|
|
1278
|
+
xUnlock(pFile, lockType) {
|
|
1279
|
+
return _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OK;
|
|
1280
|
+
}
|
|
1281
|
+
|
|
1282
|
+
/**
|
|
1283
|
+
* @param {number} pFile
|
|
1284
|
+
* @param {number} pResOut
|
|
1285
|
+
* @returns {number|Promise<number>}
|
|
1286
|
+
*/
|
|
1287
|
+
xCheckReservedLock(pFile, pResOut) {
|
|
1288
|
+
return _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OK;
|
|
1289
|
+
}
|
|
1290
|
+
|
|
1291
|
+
/**
|
|
1292
|
+
* @param {number} pFile
|
|
1293
|
+
* @param {number} op
|
|
1294
|
+
* @param {number} pArg
|
|
1295
|
+
* @returns {number|Promise<number>}
|
|
1296
|
+
*/
|
|
1297
|
+
xFileControl(pFile, op, pArg) {
|
|
1298
|
+
return _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_NOTFOUND;
|
|
1299
|
+
}
|
|
1300
|
+
|
|
1301
|
+
/**
|
|
1302
|
+
* @param {number} pFile
|
|
1303
|
+
* @returns {number|Promise<number>}
|
|
1304
|
+
*/
|
|
1305
|
+
xSectorSize(pFile) {
|
|
1306
|
+
return DEFAULT_SECTOR_SIZE;
|
|
1307
|
+
}
|
|
1308
|
+
|
|
1309
|
+
/**
|
|
1310
|
+
* @param {number} pFile
|
|
1311
|
+
* @returns {number|Promise<number>}
|
|
1312
|
+
*/
|
|
1313
|
+
xDeviceCharacteristics(pFile) {
|
|
1314
|
+
return 0;
|
|
1315
|
+
}
|
|
1316
|
+
}
|
|
1317
|
+
|
|
1318
|
+
const FILE_TYPE_MASK = [
|
|
1319
|
+
_sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_MAIN_DB,
|
|
1320
|
+
_sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_MAIN_JOURNAL,
|
|
1321
|
+
_sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_TEMP_DB,
|
|
1322
|
+
_sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_TEMP_JOURNAL,
|
|
1323
|
+
_sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_TRANSIENT_DB,
|
|
1324
|
+
_sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_SUBJOURNAL,
|
|
1325
|
+
_sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_SUPER_JOURNAL,
|
|
1326
|
+
_sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_WAL
|
|
1327
|
+
].reduce((mask, element) => mask | element);
|
|
1328
|
+
|
|
1329
|
+
/***/ }),
|
|
1330
|
+
|
|
1331
|
+
/***/ "../../node_modules/@journeyapps/wa-sqlite/src/sqlite-constants.js":
|
|
1332
|
+
/*!*************************************************************************!*\
|
|
1333
|
+
!*** ../../node_modules/@journeyapps/wa-sqlite/src/sqlite-constants.js ***!
|
|
1334
|
+
\*************************************************************************/
|
|
1335
|
+
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
1336
|
+
|
|
1337
|
+
"use strict";
|
|
1338
|
+
__webpack_require__.r(__webpack_exports__);
|
|
1339
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
1340
|
+
/* harmony export */ SQLITE_ABORT: () => (/* binding */ SQLITE_ABORT),
|
|
1341
|
+
/* harmony export */ SQLITE_ACCESS_EXISTS: () => (/* binding */ SQLITE_ACCESS_EXISTS),
|
|
1342
|
+
/* harmony export */ SQLITE_ACCESS_READ: () => (/* binding */ SQLITE_ACCESS_READ),
|
|
1343
|
+
/* harmony export */ SQLITE_ACCESS_READWRITE: () => (/* binding */ SQLITE_ACCESS_READWRITE),
|
|
1344
|
+
/* harmony export */ SQLITE_ALTER_TABLE: () => (/* binding */ SQLITE_ALTER_TABLE),
|
|
1345
|
+
/* harmony export */ SQLITE_ANALYZE: () => (/* binding */ SQLITE_ANALYZE),
|
|
1346
|
+
/* harmony export */ SQLITE_ATTACH: () => (/* binding */ SQLITE_ATTACH),
|
|
1347
|
+
/* harmony export */ SQLITE_AUTH: () => (/* binding */ SQLITE_AUTH),
|
|
1348
|
+
/* harmony export */ SQLITE_BLOB: () => (/* binding */ SQLITE_BLOB),
|
|
1349
|
+
/* harmony export */ SQLITE_BUSY: () => (/* binding */ SQLITE_BUSY),
|
|
1350
|
+
/* harmony export */ SQLITE_CANTOPEN: () => (/* binding */ SQLITE_CANTOPEN),
|
|
1351
|
+
/* harmony export */ SQLITE_CONSTRAINT: () => (/* binding */ SQLITE_CONSTRAINT),
|
|
1352
|
+
/* harmony export */ SQLITE_CONSTRAINT_CHECK: () => (/* binding */ SQLITE_CONSTRAINT_CHECK),
|
|
1353
|
+
/* harmony export */ SQLITE_CONSTRAINT_COMMITHOOK: () => (/* binding */ SQLITE_CONSTRAINT_COMMITHOOK),
|
|
1354
|
+
/* harmony export */ SQLITE_CONSTRAINT_FOREIGNKEY: () => (/* binding */ SQLITE_CONSTRAINT_FOREIGNKEY),
|
|
1355
|
+
/* harmony export */ SQLITE_CONSTRAINT_FUNCTION: () => (/* binding */ SQLITE_CONSTRAINT_FUNCTION),
|
|
1356
|
+
/* harmony export */ SQLITE_CONSTRAINT_NOTNULL: () => (/* binding */ SQLITE_CONSTRAINT_NOTNULL),
|
|
1357
|
+
/* harmony export */ SQLITE_CONSTRAINT_PINNED: () => (/* binding */ SQLITE_CONSTRAINT_PINNED),
|
|
1358
|
+
/* harmony export */ SQLITE_CONSTRAINT_PRIMARYKEY: () => (/* binding */ SQLITE_CONSTRAINT_PRIMARYKEY),
|
|
1359
|
+
/* harmony export */ SQLITE_CONSTRAINT_ROWID: () => (/* binding */ SQLITE_CONSTRAINT_ROWID),
|
|
1360
|
+
/* harmony export */ SQLITE_CONSTRAINT_TRIGGER: () => (/* binding */ SQLITE_CONSTRAINT_TRIGGER),
|
|
1361
|
+
/* harmony export */ SQLITE_CONSTRAINT_UNIQUE: () => (/* binding */ SQLITE_CONSTRAINT_UNIQUE),
|
|
1362
|
+
/* harmony export */ SQLITE_CONSTRAINT_VTAB: () => (/* binding */ SQLITE_CONSTRAINT_VTAB),
|
|
1363
|
+
/* harmony export */ SQLITE_COPY: () => (/* binding */ SQLITE_COPY),
|
|
1364
|
+
/* harmony export */ SQLITE_CORRUPT: () => (/* binding */ SQLITE_CORRUPT),
|
|
1365
|
+
/* harmony export */ SQLITE_CREATE_INDEX: () => (/* binding */ SQLITE_CREATE_INDEX),
|
|
1366
|
+
/* harmony export */ SQLITE_CREATE_TABLE: () => (/* binding */ SQLITE_CREATE_TABLE),
|
|
1367
|
+
/* harmony export */ SQLITE_CREATE_TEMP_INDEX: () => (/* binding */ SQLITE_CREATE_TEMP_INDEX),
|
|
1368
|
+
/* harmony export */ SQLITE_CREATE_TEMP_TABLE: () => (/* binding */ SQLITE_CREATE_TEMP_TABLE),
|
|
1369
|
+
/* harmony export */ SQLITE_CREATE_TEMP_TRIGGER: () => (/* binding */ SQLITE_CREATE_TEMP_TRIGGER),
|
|
1370
|
+
/* harmony export */ SQLITE_CREATE_TEMP_VIEW: () => (/* binding */ SQLITE_CREATE_TEMP_VIEW),
|
|
1371
|
+
/* harmony export */ SQLITE_CREATE_TRIGGER: () => (/* binding */ SQLITE_CREATE_TRIGGER),
|
|
1372
|
+
/* harmony export */ SQLITE_CREATE_VIEW: () => (/* binding */ SQLITE_CREATE_VIEW),
|
|
1373
|
+
/* harmony export */ SQLITE_CREATE_VTABLE: () => (/* binding */ SQLITE_CREATE_VTABLE),
|
|
1374
|
+
/* harmony export */ SQLITE_DELETE: () => (/* binding */ SQLITE_DELETE),
|
|
1375
|
+
/* harmony export */ SQLITE_DENY: () => (/* binding */ SQLITE_DENY),
|
|
1376
|
+
/* harmony export */ SQLITE_DETACH: () => (/* binding */ SQLITE_DETACH),
|
|
1377
|
+
/* harmony export */ SQLITE_DETERMINISTIC: () => (/* binding */ SQLITE_DETERMINISTIC),
|
|
1378
|
+
/* harmony export */ SQLITE_DIRECTONLY: () => (/* binding */ SQLITE_DIRECTONLY),
|
|
1379
|
+
/* harmony export */ SQLITE_DONE: () => (/* binding */ SQLITE_DONE),
|
|
1380
|
+
/* harmony export */ SQLITE_DROP_INDEX: () => (/* binding */ SQLITE_DROP_INDEX),
|
|
1381
|
+
/* harmony export */ SQLITE_DROP_TABLE: () => (/* binding */ SQLITE_DROP_TABLE),
|
|
1382
|
+
/* harmony export */ SQLITE_DROP_TEMP_INDEX: () => (/* binding */ SQLITE_DROP_TEMP_INDEX),
|
|
1383
|
+
/* harmony export */ SQLITE_DROP_TEMP_TABLE: () => (/* binding */ SQLITE_DROP_TEMP_TABLE),
|
|
1384
|
+
/* harmony export */ SQLITE_DROP_TEMP_TRIGGER: () => (/* binding */ SQLITE_DROP_TEMP_TRIGGER),
|
|
1385
|
+
/* harmony export */ SQLITE_DROP_TEMP_VIEW: () => (/* binding */ SQLITE_DROP_TEMP_VIEW),
|
|
1386
|
+
/* harmony export */ SQLITE_DROP_TRIGGER: () => (/* binding */ SQLITE_DROP_TRIGGER),
|
|
1387
|
+
/* harmony export */ SQLITE_DROP_VIEW: () => (/* binding */ SQLITE_DROP_VIEW),
|
|
1388
|
+
/* harmony export */ SQLITE_DROP_VTABLE: () => (/* binding */ SQLITE_DROP_VTABLE),
|
|
1389
|
+
/* harmony export */ SQLITE_EMPTY: () => (/* binding */ SQLITE_EMPTY),
|
|
1390
|
+
/* harmony export */ SQLITE_ERROR: () => (/* binding */ SQLITE_ERROR),
|
|
1391
|
+
/* harmony export */ SQLITE_FCNTL_BEGIN_ATOMIC_WRITE: () => (/* binding */ SQLITE_FCNTL_BEGIN_ATOMIC_WRITE),
|
|
1392
|
+
/* harmony export */ SQLITE_FCNTL_BUSYHANDLER: () => (/* binding */ SQLITE_FCNTL_BUSYHANDLER),
|
|
1393
|
+
/* harmony export */ SQLITE_FCNTL_CHUNK_SIZE: () => (/* binding */ SQLITE_FCNTL_CHUNK_SIZE),
|
|
1394
|
+
/* harmony export */ SQLITE_FCNTL_CKPT_DONE: () => (/* binding */ SQLITE_FCNTL_CKPT_DONE),
|
|
1395
|
+
/* harmony export */ SQLITE_FCNTL_CKPT_START: () => (/* binding */ SQLITE_FCNTL_CKPT_START),
|
|
1396
|
+
/* harmony export */ SQLITE_FCNTL_COMMIT_ATOMIC_WRITE: () => (/* binding */ SQLITE_FCNTL_COMMIT_ATOMIC_WRITE),
|
|
1397
|
+
/* harmony export */ SQLITE_FCNTL_COMMIT_PHASETWO: () => (/* binding */ SQLITE_FCNTL_COMMIT_PHASETWO),
|
|
1398
|
+
/* harmony export */ SQLITE_FCNTL_DATA_VERSION: () => (/* binding */ SQLITE_FCNTL_DATA_VERSION),
|
|
1399
|
+
/* harmony export */ SQLITE_FCNTL_FILE_POINTER: () => (/* binding */ SQLITE_FCNTL_FILE_POINTER),
|
|
1400
|
+
/* harmony export */ SQLITE_FCNTL_GET_LOCKPROXYFILE: () => (/* binding */ SQLITE_FCNTL_GET_LOCKPROXYFILE),
|
|
1401
|
+
/* harmony export */ SQLITE_FCNTL_HAS_MOVED: () => (/* binding */ SQLITE_FCNTL_HAS_MOVED),
|
|
1402
|
+
/* harmony export */ SQLITE_FCNTL_JOURNAL_POINTER: () => (/* binding */ SQLITE_FCNTL_JOURNAL_POINTER),
|
|
1403
|
+
/* harmony export */ SQLITE_FCNTL_LAST_ERRNO: () => (/* binding */ SQLITE_FCNTL_LAST_ERRNO),
|
|
1404
|
+
/* harmony export */ SQLITE_FCNTL_LOCKSTATE: () => (/* binding */ SQLITE_FCNTL_LOCKSTATE),
|
|
1405
|
+
/* harmony export */ SQLITE_FCNTL_LOCK_TIMEOUT: () => (/* binding */ SQLITE_FCNTL_LOCK_TIMEOUT),
|
|
1406
|
+
/* harmony export */ SQLITE_FCNTL_MMAP_SIZE: () => (/* binding */ SQLITE_FCNTL_MMAP_SIZE),
|
|
1407
|
+
/* harmony export */ SQLITE_FCNTL_OVERWRITE: () => (/* binding */ SQLITE_FCNTL_OVERWRITE),
|
|
1408
|
+
/* harmony export */ SQLITE_FCNTL_PDB: () => (/* binding */ SQLITE_FCNTL_PDB),
|
|
1409
|
+
/* harmony export */ SQLITE_FCNTL_PERSIST_WAL: () => (/* binding */ SQLITE_FCNTL_PERSIST_WAL),
|
|
1410
|
+
/* harmony export */ SQLITE_FCNTL_POWERSAFE_OVERWRITE: () => (/* binding */ SQLITE_FCNTL_POWERSAFE_OVERWRITE),
|
|
1411
|
+
/* harmony export */ SQLITE_FCNTL_PRAGMA: () => (/* binding */ SQLITE_FCNTL_PRAGMA),
|
|
1412
|
+
/* harmony export */ SQLITE_FCNTL_RBU: () => (/* binding */ SQLITE_FCNTL_RBU),
|
|
1413
|
+
/* harmony export */ SQLITE_FCNTL_RESERVE_BYTES: () => (/* binding */ SQLITE_FCNTL_RESERVE_BYTES),
|
|
1414
|
+
/* harmony export */ SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE: () => (/* binding */ SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE),
|
|
1415
|
+
/* harmony export */ SQLITE_FCNTL_SET_LOCKPROXYFILE: () => (/* binding */ SQLITE_FCNTL_SET_LOCKPROXYFILE),
|
|
1416
|
+
/* harmony export */ SQLITE_FCNTL_SIZE_HINT: () => (/* binding */ SQLITE_FCNTL_SIZE_HINT),
|
|
1417
|
+
/* harmony export */ SQLITE_FCNTL_SIZE_LIMIT: () => (/* binding */ SQLITE_FCNTL_SIZE_LIMIT),
|
|
1418
|
+
/* harmony export */ SQLITE_FCNTL_SYNC: () => (/* binding */ SQLITE_FCNTL_SYNC),
|
|
1419
|
+
/* harmony export */ SQLITE_FCNTL_SYNC_OMITTED: () => (/* binding */ SQLITE_FCNTL_SYNC_OMITTED),
|
|
1420
|
+
/* harmony export */ SQLITE_FCNTL_TEMPFILENAME: () => (/* binding */ SQLITE_FCNTL_TEMPFILENAME),
|
|
1421
|
+
/* harmony export */ SQLITE_FCNTL_TRACE: () => (/* binding */ SQLITE_FCNTL_TRACE),
|
|
1422
|
+
/* harmony export */ SQLITE_FCNTL_VFSNAME: () => (/* binding */ SQLITE_FCNTL_VFSNAME),
|
|
1423
|
+
/* harmony export */ SQLITE_FCNTL_VFS_POINTER: () => (/* binding */ SQLITE_FCNTL_VFS_POINTER),
|
|
1424
|
+
/* harmony export */ SQLITE_FCNTL_WAL_BLOCK: () => (/* binding */ SQLITE_FCNTL_WAL_BLOCK),
|
|
1425
|
+
/* harmony export */ SQLITE_FCNTL_WIN32_AV_RETRY: () => (/* binding */ SQLITE_FCNTL_WIN32_AV_RETRY),
|
|
1426
|
+
/* harmony export */ SQLITE_FCNTL_WIN32_GET_HANDLE: () => (/* binding */ SQLITE_FCNTL_WIN32_GET_HANDLE),
|
|
1427
|
+
/* harmony export */ SQLITE_FCNTL_WIN32_SET_HANDLE: () => (/* binding */ SQLITE_FCNTL_WIN32_SET_HANDLE),
|
|
1428
|
+
/* harmony export */ SQLITE_FCNTL_ZIPVFS: () => (/* binding */ SQLITE_FCNTL_ZIPVFS),
|
|
1429
|
+
/* harmony export */ SQLITE_FLOAT: () => (/* binding */ SQLITE_FLOAT),
|
|
1430
|
+
/* harmony export */ SQLITE_FORMAT: () => (/* binding */ SQLITE_FORMAT),
|
|
1431
|
+
/* harmony export */ SQLITE_FULL: () => (/* binding */ SQLITE_FULL),
|
|
1432
|
+
/* harmony export */ SQLITE_FUNCTION: () => (/* binding */ SQLITE_FUNCTION),
|
|
1433
|
+
/* harmony export */ SQLITE_IGNORE: () => (/* binding */ SQLITE_IGNORE),
|
|
1434
|
+
/* harmony export */ SQLITE_INDEX_CONSTRAINT_EQ: () => (/* binding */ SQLITE_INDEX_CONSTRAINT_EQ),
|
|
1435
|
+
/* harmony export */ SQLITE_INDEX_CONSTRAINT_FUNCTION: () => (/* binding */ SQLITE_INDEX_CONSTRAINT_FUNCTION),
|
|
1436
|
+
/* harmony export */ SQLITE_INDEX_CONSTRAINT_GE: () => (/* binding */ SQLITE_INDEX_CONSTRAINT_GE),
|
|
1437
|
+
/* harmony export */ SQLITE_INDEX_CONSTRAINT_GLOB: () => (/* binding */ SQLITE_INDEX_CONSTRAINT_GLOB),
|
|
1438
|
+
/* harmony export */ SQLITE_INDEX_CONSTRAINT_GT: () => (/* binding */ SQLITE_INDEX_CONSTRAINT_GT),
|
|
1439
|
+
/* harmony export */ SQLITE_INDEX_CONSTRAINT_IS: () => (/* binding */ SQLITE_INDEX_CONSTRAINT_IS),
|
|
1440
|
+
/* harmony export */ SQLITE_INDEX_CONSTRAINT_ISNOT: () => (/* binding */ SQLITE_INDEX_CONSTRAINT_ISNOT),
|
|
1441
|
+
/* harmony export */ SQLITE_INDEX_CONSTRAINT_ISNOTNULL: () => (/* binding */ SQLITE_INDEX_CONSTRAINT_ISNOTNULL),
|
|
1442
|
+
/* harmony export */ SQLITE_INDEX_CONSTRAINT_ISNULL: () => (/* binding */ SQLITE_INDEX_CONSTRAINT_ISNULL),
|
|
1443
|
+
/* harmony export */ SQLITE_INDEX_CONSTRAINT_LE: () => (/* binding */ SQLITE_INDEX_CONSTRAINT_LE),
|
|
1444
|
+
/* harmony export */ SQLITE_INDEX_CONSTRAINT_LIKE: () => (/* binding */ SQLITE_INDEX_CONSTRAINT_LIKE),
|
|
1445
|
+
/* harmony export */ SQLITE_INDEX_CONSTRAINT_LT: () => (/* binding */ SQLITE_INDEX_CONSTRAINT_LT),
|
|
1446
|
+
/* harmony export */ SQLITE_INDEX_CONSTRAINT_MATCH: () => (/* binding */ SQLITE_INDEX_CONSTRAINT_MATCH),
|
|
1447
|
+
/* harmony export */ SQLITE_INDEX_CONSTRAINT_NE: () => (/* binding */ SQLITE_INDEX_CONSTRAINT_NE),
|
|
1448
|
+
/* harmony export */ SQLITE_INDEX_CONSTRAINT_REGEXP: () => (/* binding */ SQLITE_INDEX_CONSTRAINT_REGEXP),
|
|
1449
|
+
/* harmony export */ SQLITE_INDEX_SCAN_UNIQUE: () => (/* binding */ SQLITE_INDEX_SCAN_UNIQUE),
|
|
1450
|
+
/* harmony export */ SQLITE_INNOCUOUS: () => (/* binding */ SQLITE_INNOCUOUS),
|
|
1451
|
+
/* harmony export */ SQLITE_INSERT: () => (/* binding */ SQLITE_INSERT),
|
|
1452
|
+
/* harmony export */ SQLITE_INTEGER: () => (/* binding */ SQLITE_INTEGER),
|
|
1453
|
+
/* harmony export */ SQLITE_INTERNAL: () => (/* binding */ SQLITE_INTERNAL),
|
|
1454
|
+
/* harmony export */ SQLITE_INTERRUPT: () => (/* binding */ SQLITE_INTERRUPT),
|
|
1455
|
+
/* harmony export */ SQLITE_IOCAP_ATOMIC: () => (/* binding */ SQLITE_IOCAP_ATOMIC),
|
|
1456
|
+
/* harmony export */ SQLITE_IOCAP_ATOMIC16K: () => (/* binding */ SQLITE_IOCAP_ATOMIC16K),
|
|
1457
|
+
/* harmony export */ SQLITE_IOCAP_ATOMIC1K: () => (/* binding */ SQLITE_IOCAP_ATOMIC1K),
|
|
1458
|
+
/* harmony export */ SQLITE_IOCAP_ATOMIC2K: () => (/* binding */ SQLITE_IOCAP_ATOMIC2K),
|
|
1459
|
+
/* harmony export */ SQLITE_IOCAP_ATOMIC32K: () => (/* binding */ SQLITE_IOCAP_ATOMIC32K),
|
|
1460
|
+
/* harmony export */ SQLITE_IOCAP_ATOMIC4K: () => (/* binding */ SQLITE_IOCAP_ATOMIC4K),
|
|
1461
|
+
/* harmony export */ SQLITE_IOCAP_ATOMIC512: () => (/* binding */ SQLITE_IOCAP_ATOMIC512),
|
|
1462
|
+
/* harmony export */ SQLITE_IOCAP_ATOMIC64K: () => (/* binding */ SQLITE_IOCAP_ATOMIC64K),
|
|
1463
|
+
/* harmony export */ SQLITE_IOCAP_ATOMIC8K: () => (/* binding */ SQLITE_IOCAP_ATOMIC8K),
|
|
1464
|
+
/* harmony export */ SQLITE_IOCAP_BATCH_ATOMIC: () => (/* binding */ SQLITE_IOCAP_BATCH_ATOMIC),
|
|
1465
|
+
/* harmony export */ SQLITE_IOCAP_IMMUTABLE: () => (/* binding */ SQLITE_IOCAP_IMMUTABLE),
|
|
1466
|
+
/* harmony export */ SQLITE_IOCAP_POWERSAFE_OVERWRITE: () => (/* binding */ SQLITE_IOCAP_POWERSAFE_OVERWRITE),
|
|
1467
|
+
/* harmony export */ SQLITE_IOCAP_SAFE_APPEND: () => (/* binding */ SQLITE_IOCAP_SAFE_APPEND),
|
|
1468
|
+
/* harmony export */ SQLITE_IOCAP_SEQUENTIAL: () => (/* binding */ SQLITE_IOCAP_SEQUENTIAL),
|
|
1469
|
+
/* harmony export */ SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN: () => (/* binding */ SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN),
|
|
1470
|
+
/* harmony export */ SQLITE_IOERR: () => (/* binding */ SQLITE_IOERR),
|
|
1471
|
+
/* harmony export */ SQLITE_IOERR_ACCESS: () => (/* binding */ SQLITE_IOERR_ACCESS),
|
|
1472
|
+
/* harmony export */ SQLITE_IOERR_BEGIN_ATOMIC: () => (/* binding */ SQLITE_IOERR_BEGIN_ATOMIC),
|
|
1473
|
+
/* harmony export */ SQLITE_IOERR_CHECKRESERVEDLOCK: () => (/* binding */ SQLITE_IOERR_CHECKRESERVEDLOCK),
|
|
1474
|
+
/* harmony export */ SQLITE_IOERR_CLOSE: () => (/* binding */ SQLITE_IOERR_CLOSE),
|
|
1475
|
+
/* harmony export */ SQLITE_IOERR_COMMIT_ATOMIC: () => (/* binding */ SQLITE_IOERR_COMMIT_ATOMIC),
|
|
1476
|
+
/* harmony export */ SQLITE_IOERR_DATA: () => (/* binding */ SQLITE_IOERR_DATA),
|
|
1477
|
+
/* harmony export */ SQLITE_IOERR_DELETE: () => (/* binding */ SQLITE_IOERR_DELETE),
|
|
1478
|
+
/* harmony export */ SQLITE_IOERR_DELETE_NOENT: () => (/* binding */ SQLITE_IOERR_DELETE_NOENT),
|
|
1479
|
+
/* harmony export */ SQLITE_IOERR_DIR_FSYNC: () => (/* binding */ SQLITE_IOERR_DIR_FSYNC),
|
|
1480
|
+
/* harmony export */ SQLITE_IOERR_FSTAT: () => (/* binding */ SQLITE_IOERR_FSTAT),
|
|
1481
|
+
/* harmony export */ SQLITE_IOERR_FSYNC: () => (/* binding */ SQLITE_IOERR_FSYNC),
|
|
1482
|
+
/* harmony export */ SQLITE_IOERR_GETTEMPPATH: () => (/* binding */ SQLITE_IOERR_GETTEMPPATH),
|
|
1483
|
+
/* harmony export */ SQLITE_IOERR_LOCK: () => (/* binding */ SQLITE_IOERR_LOCK),
|
|
1484
|
+
/* harmony export */ SQLITE_IOERR_NOMEM: () => (/* binding */ SQLITE_IOERR_NOMEM),
|
|
1485
|
+
/* harmony export */ SQLITE_IOERR_RDLOCK: () => (/* binding */ SQLITE_IOERR_RDLOCK),
|
|
1486
|
+
/* harmony export */ SQLITE_IOERR_READ: () => (/* binding */ SQLITE_IOERR_READ),
|
|
1487
|
+
/* harmony export */ SQLITE_IOERR_ROLLBACK_ATOMIC: () => (/* binding */ SQLITE_IOERR_ROLLBACK_ATOMIC),
|
|
1488
|
+
/* harmony export */ SQLITE_IOERR_SEEK: () => (/* binding */ SQLITE_IOERR_SEEK),
|
|
1489
|
+
/* harmony export */ SQLITE_IOERR_SHORT_READ: () => (/* binding */ SQLITE_IOERR_SHORT_READ),
|
|
1490
|
+
/* harmony export */ SQLITE_IOERR_TRUNCATE: () => (/* binding */ SQLITE_IOERR_TRUNCATE),
|
|
1491
|
+
/* harmony export */ SQLITE_IOERR_UNLOCK: () => (/* binding */ SQLITE_IOERR_UNLOCK),
|
|
1492
|
+
/* harmony export */ SQLITE_IOERR_VNODE: () => (/* binding */ SQLITE_IOERR_VNODE),
|
|
1493
|
+
/* harmony export */ SQLITE_IOERR_WRITE: () => (/* binding */ SQLITE_IOERR_WRITE),
|
|
1494
|
+
/* harmony export */ SQLITE_LIMIT_ATTACHED: () => (/* binding */ SQLITE_LIMIT_ATTACHED),
|
|
1495
|
+
/* harmony export */ SQLITE_LIMIT_COLUMN: () => (/* binding */ SQLITE_LIMIT_COLUMN),
|
|
1496
|
+
/* harmony export */ SQLITE_LIMIT_COMPOUND_SELECT: () => (/* binding */ SQLITE_LIMIT_COMPOUND_SELECT),
|
|
1497
|
+
/* harmony export */ SQLITE_LIMIT_EXPR_DEPTH: () => (/* binding */ SQLITE_LIMIT_EXPR_DEPTH),
|
|
1498
|
+
/* harmony export */ SQLITE_LIMIT_FUNCTION_ARG: () => (/* binding */ SQLITE_LIMIT_FUNCTION_ARG),
|
|
1499
|
+
/* harmony export */ SQLITE_LIMIT_LENGTH: () => (/* binding */ SQLITE_LIMIT_LENGTH),
|
|
1500
|
+
/* harmony export */ SQLITE_LIMIT_LIKE_PATTERN_LENGTH: () => (/* binding */ SQLITE_LIMIT_LIKE_PATTERN_LENGTH),
|
|
1501
|
+
/* harmony export */ SQLITE_LIMIT_SQL_LENGTH: () => (/* binding */ SQLITE_LIMIT_SQL_LENGTH),
|
|
1502
|
+
/* harmony export */ SQLITE_LIMIT_TRIGGER_DEPTH: () => (/* binding */ SQLITE_LIMIT_TRIGGER_DEPTH),
|
|
1503
|
+
/* harmony export */ SQLITE_LIMIT_VARIABLE_NUMBER: () => (/* binding */ SQLITE_LIMIT_VARIABLE_NUMBER),
|
|
1504
|
+
/* harmony export */ SQLITE_LIMIT_VDBE_OP: () => (/* binding */ SQLITE_LIMIT_VDBE_OP),
|
|
1505
|
+
/* harmony export */ SQLITE_LIMIT_WORKER_THREADS: () => (/* binding */ SQLITE_LIMIT_WORKER_THREADS),
|
|
1506
|
+
/* harmony export */ SQLITE_LOCKED: () => (/* binding */ SQLITE_LOCKED),
|
|
1507
|
+
/* harmony export */ SQLITE_LOCK_EXCLUSIVE: () => (/* binding */ SQLITE_LOCK_EXCLUSIVE),
|
|
1508
|
+
/* harmony export */ SQLITE_LOCK_NONE: () => (/* binding */ SQLITE_LOCK_NONE),
|
|
1509
|
+
/* harmony export */ SQLITE_LOCK_PENDING: () => (/* binding */ SQLITE_LOCK_PENDING),
|
|
1510
|
+
/* harmony export */ SQLITE_LOCK_RESERVED: () => (/* binding */ SQLITE_LOCK_RESERVED),
|
|
1511
|
+
/* harmony export */ SQLITE_LOCK_SHARED: () => (/* binding */ SQLITE_LOCK_SHARED),
|
|
1512
|
+
/* harmony export */ SQLITE_MISMATCH: () => (/* binding */ SQLITE_MISMATCH),
|
|
1513
|
+
/* harmony export */ SQLITE_MISUSE: () => (/* binding */ SQLITE_MISUSE),
|
|
1514
|
+
/* harmony export */ SQLITE_NOLFS: () => (/* binding */ SQLITE_NOLFS),
|
|
1515
|
+
/* harmony export */ SQLITE_NOMEM: () => (/* binding */ SQLITE_NOMEM),
|
|
1516
|
+
/* harmony export */ SQLITE_NOTADB: () => (/* binding */ SQLITE_NOTADB),
|
|
1517
|
+
/* harmony export */ SQLITE_NOTFOUND: () => (/* binding */ SQLITE_NOTFOUND),
|
|
1518
|
+
/* harmony export */ SQLITE_NOTICE: () => (/* binding */ SQLITE_NOTICE),
|
|
1519
|
+
/* harmony export */ SQLITE_NULL: () => (/* binding */ SQLITE_NULL),
|
|
1520
|
+
/* harmony export */ SQLITE_OK: () => (/* binding */ SQLITE_OK),
|
|
1521
|
+
/* harmony export */ SQLITE_OPEN_AUTOPROXY: () => (/* binding */ SQLITE_OPEN_AUTOPROXY),
|
|
1522
|
+
/* harmony export */ SQLITE_OPEN_CREATE: () => (/* binding */ SQLITE_OPEN_CREATE),
|
|
1523
|
+
/* harmony export */ SQLITE_OPEN_DELETEONCLOSE: () => (/* binding */ SQLITE_OPEN_DELETEONCLOSE),
|
|
1524
|
+
/* harmony export */ SQLITE_OPEN_EXCLUSIVE: () => (/* binding */ SQLITE_OPEN_EXCLUSIVE),
|
|
1525
|
+
/* harmony export */ SQLITE_OPEN_FULLMUTEX: () => (/* binding */ SQLITE_OPEN_FULLMUTEX),
|
|
1526
|
+
/* harmony export */ SQLITE_OPEN_MAIN_DB: () => (/* binding */ SQLITE_OPEN_MAIN_DB),
|
|
1527
|
+
/* harmony export */ SQLITE_OPEN_MAIN_JOURNAL: () => (/* binding */ SQLITE_OPEN_MAIN_JOURNAL),
|
|
1528
|
+
/* harmony export */ SQLITE_OPEN_MEMORY: () => (/* binding */ SQLITE_OPEN_MEMORY),
|
|
1529
|
+
/* harmony export */ SQLITE_OPEN_NOFOLLOW: () => (/* binding */ SQLITE_OPEN_NOFOLLOW),
|
|
1530
|
+
/* harmony export */ SQLITE_OPEN_NOMUTEX: () => (/* binding */ SQLITE_OPEN_NOMUTEX),
|
|
1531
|
+
/* harmony export */ SQLITE_OPEN_PRIVATECACHE: () => (/* binding */ SQLITE_OPEN_PRIVATECACHE),
|
|
1532
|
+
/* harmony export */ SQLITE_OPEN_READONLY: () => (/* binding */ SQLITE_OPEN_READONLY),
|
|
1533
|
+
/* harmony export */ SQLITE_OPEN_READWRITE: () => (/* binding */ SQLITE_OPEN_READWRITE),
|
|
1534
|
+
/* harmony export */ SQLITE_OPEN_SHAREDCACHE: () => (/* binding */ SQLITE_OPEN_SHAREDCACHE),
|
|
1535
|
+
/* harmony export */ SQLITE_OPEN_SUBJOURNAL: () => (/* binding */ SQLITE_OPEN_SUBJOURNAL),
|
|
1536
|
+
/* harmony export */ SQLITE_OPEN_SUPER_JOURNAL: () => (/* binding */ SQLITE_OPEN_SUPER_JOURNAL),
|
|
1537
|
+
/* harmony export */ SQLITE_OPEN_TEMP_DB: () => (/* binding */ SQLITE_OPEN_TEMP_DB),
|
|
1538
|
+
/* harmony export */ SQLITE_OPEN_TEMP_JOURNAL: () => (/* binding */ SQLITE_OPEN_TEMP_JOURNAL),
|
|
1539
|
+
/* harmony export */ SQLITE_OPEN_TRANSIENT_DB: () => (/* binding */ SQLITE_OPEN_TRANSIENT_DB),
|
|
1540
|
+
/* harmony export */ SQLITE_OPEN_URI: () => (/* binding */ SQLITE_OPEN_URI),
|
|
1541
|
+
/* harmony export */ SQLITE_OPEN_WAL: () => (/* binding */ SQLITE_OPEN_WAL),
|
|
1542
|
+
/* harmony export */ SQLITE_PERM: () => (/* binding */ SQLITE_PERM),
|
|
1543
|
+
/* harmony export */ SQLITE_PRAGMA: () => (/* binding */ SQLITE_PRAGMA),
|
|
1544
|
+
/* harmony export */ SQLITE_PREPARE_NORMALIZED: () => (/* binding */ SQLITE_PREPARE_NORMALIZED),
|
|
1545
|
+
/* harmony export */ SQLITE_PREPARE_NO_VTAB: () => (/* binding */ SQLITE_PREPARE_NO_VTAB),
|
|
1546
|
+
/* harmony export */ SQLITE_PREPARE_PERSISTENT: () => (/* binding */ SQLITE_PREPARE_PERSISTENT),
|
|
1547
|
+
/* harmony export */ SQLITE_PROTOCOL: () => (/* binding */ SQLITE_PROTOCOL),
|
|
1548
|
+
/* harmony export */ SQLITE_RANGE: () => (/* binding */ SQLITE_RANGE),
|
|
1549
|
+
/* harmony export */ SQLITE_READ: () => (/* binding */ SQLITE_READ),
|
|
1550
|
+
/* harmony export */ SQLITE_READONLY: () => (/* binding */ SQLITE_READONLY),
|
|
1551
|
+
/* harmony export */ SQLITE_RECURSIVE: () => (/* binding */ SQLITE_RECURSIVE),
|
|
1552
|
+
/* harmony export */ SQLITE_REINDEX: () => (/* binding */ SQLITE_REINDEX),
|
|
1553
|
+
/* harmony export */ SQLITE_ROW: () => (/* binding */ SQLITE_ROW),
|
|
1554
|
+
/* harmony export */ SQLITE_SAVEPOINT: () => (/* binding */ SQLITE_SAVEPOINT),
|
|
1555
|
+
/* harmony export */ SQLITE_SCHEMA: () => (/* binding */ SQLITE_SCHEMA),
|
|
1556
|
+
/* harmony export */ SQLITE_SELECT: () => (/* binding */ SQLITE_SELECT),
|
|
1557
|
+
/* harmony export */ SQLITE_STATIC: () => (/* binding */ SQLITE_STATIC),
|
|
1558
|
+
/* harmony export */ SQLITE_SUBTYPE: () => (/* binding */ SQLITE_SUBTYPE),
|
|
1559
|
+
/* harmony export */ SQLITE_SYNC_DATAONLY: () => (/* binding */ SQLITE_SYNC_DATAONLY),
|
|
1560
|
+
/* harmony export */ SQLITE_SYNC_FULL: () => (/* binding */ SQLITE_SYNC_FULL),
|
|
1561
|
+
/* harmony export */ SQLITE_SYNC_NORMAL: () => (/* binding */ SQLITE_SYNC_NORMAL),
|
|
1562
|
+
/* harmony export */ SQLITE_TEXT: () => (/* binding */ SQLITE_TEXT),
|
|
1563
|
+
/* harmony export */ SQLITE_TOOBIG: () => (/* binding */ SQLITE_TOOBIG),
|
|
1564
|
+
/* harmony export */ SQLITE_TRANSACTION: () => (/* binding */ SQLITE_TRANSACTION),
|
|
1565
|
+
/* harmony export */ SQLITE_TRANSIENT: () => (/* binding */ SQLITE_TRANSIENT),
|
|
1566
|
+
/* harmony export */ SQLITE_UPDATE: () => (/* binding */ SQLITE_UPDATE),
|
|
1567
|
+
/* harmony export */ SQLITE_UTF16: () => (/* binding */ SQLITE_UTF16),
|
|
1568
|
+
/* harmony export */ SQLITE_UTF16BE: () => (/* binding */ SQLITE_UTF16BE),
|
|
1569
|
+
/* harmony export */ SQLITE_UTF16LE: () => (/* binding */ SQLITE_UTF16LE),
|
|
1570
|
+
/* harmony export */ SQLITE_UTF8: () => (/* binding */ SQLITE_UTF8),
|
|
1571
|
+
/* harmony export */ SQLITE_WARNING: () => (/* binding */ SQLITE_WARNING)
|
|
1572
|
+
/* harmony export */ });
|
|
1573
|
+
// Primary result codes.
|
|
1574
|
+
// https://www.sqlite.org/rescode.html
|
|
1575
|
+
const SQLITE_OK = 0;
|
|
1576
|
+
const SQLITE_ERROR = 1;
|
|
1577
|
+
const SQLITE_INTERNAL = 2;
|
|
1578
|
+
const SQLITE_PERM = 3;
|
|
1579
|
+
const SQLITE_ABORT = 4;
|
|
1580
|
+
const SQLITE_BUSY = 5;
|
|
1581
|
+
const SQLITE_LOCKED = 6;
|
|
1582
|
+
const SQLITE_NOMEM = 7;
|
|
1583
|
+
const SQLITE_READONLY = 8;
|
|
1584
|
+
const SQLITE_INTERRUPT = 9;
|
|
1585
|
+
const SQLITE_IOERR = 10;
|
|
1586
|
+
const SQLITE_CORRUPT = 11;
|
|
1587
|
+
const SQLITE_NOTFOUND = 12;
|
|
1588
|
+
const SQLITE_FULL = 13;
|
|
1589
|
+
const SQLITE_CANTOPEN = 14;
|
|
1590
|
+
const SQLITE_PROTOCOL = 15;
|
|
1591
|
+
const SQLITE_EMPTY = 16;
|
|
1592
|
+
const SQLITE_SCHEMA = 17;
|
|
1593
|
+
const SQLITE_TOOBIG = 18;
|
|
1594
|
+
const SQLITE_CONSTRAINT = 19;
|
|
1595
|
+
const SQLITE_MISMATCH = 20;
|
|
1596
|
+
const SQLITE_MISUSE = 21;
|
|
1597
|
+
const SQLITE_NOLFS = 22;
|
|
1598
|
+
const SQLITE_AUTH = 23;
|
|
1599
|
+
const SQLITE_FORMAT = 24;
|
|
1600
|
+
const SQLITE_RANGE = 25;
|
|
1601
|
+
const SQLITE_NOTADB = 26;
|
|
1602
|
+
const SQLITE_NOTICE = 27;
|
|
1603
|
+
const SQLITE_WARNING = 28;
|
|
1604
|
+
const SQLITE_ROW = 100;
|
|
1605
|
+
const SQLITE_DONE = 101;
|
|
1606
|
+
|
|
1607
|
+
// Extended error codes.
|
|
1608
|
+
const SQLITE_IOERR_ACCESS = 3338;
|
|
1609
|
+
const SQLITE_IOERR_CHECKRESERVEDLOCK = 3594;
|
|
1610
|
+
const SQLITE_IOERR_CLOSE = 4106;
|
|
1611
|
+
const SQLITE_IOERR_DATA = 8202;
|
|
1612
|
+
const SQLITE_IOERR_DELETE = 2570;
|
|
1613
|
+
const SQLITE_IOERR_DELETE_NOENT = 5898;
|
|
1614
|
+
const SQLITE_IOERR_DIR_FSYNC = 1290;
|
|
1615
|
+
const SQLITE_IOERR_FSTAT = 1802;
|
|
1616
|
+
const SQLITE_IOERR_FSYNC = 1034;
|
|
1617
|
+
const SQLITE_IOERR_GETTEMPPATH = 6410;
|
|
1618
|
+
const SQLITE_IOERR_LOCK = 3850;
|
|
1619
|
+
const SQLITE_IOERR_NOMEM = 3082;
|
|
1620
|
+
const SQLITE_IOERR_READ = 266;
|
|
1621
|
+
const SQLITE_IOERR_RDLOCK = 2314;
|
|
1622
|
+
const SQLITE_IOERR_SEEK = 5642;
|
|
1623
|
+
const SQLITE_IOERR_SHORT_READ = 522;
|
|
1624
|
+
const SQLITE_IOERR_TRUNCATE = 1546;
|
|
1625
|
+
const SQLITE_IOERR_UNLOCK = 2058;
|
|
1626
|
+
const SQLITE_IOERR_VNODE = 6922;
|
|
1627
|
+
const SQLITE_IOERR_WRITE = 778;
|
|
1628
|
+
const SQLITE_IOERR_BEGIN_ATOMIC = 7434;
|
|
1629
|
+
const SQLITE_IOERR_COMMIT_ATOMIC = 7690;
|
|
1630
|
+
const SQLITE_IOERR_ROLLBACK_ATOMIC = 7946;
|
|
1631
|
+
|
|
1632
|
+
// Other extended result codes.
|
|
1633
|
+
const SQLITE_CONSTRAINT_CHECK = 275;
|
|
1634
|
+
const SQLITE_CONSTRAINT_COMMITHOOK = 531;
|
|
1635
|
+
const SQLITE_CONSTRAINT_FOREIGNKEY = 787;
|
|
1636
|
+
const SQLITE_CONSTRAINT_FUNCTION = 1043;
|
|
1637
|
+
const SQLITE_CONSTRAINT_NOTNULL = 1299;
|
|
1638
|
+
const SQLITE_CONSTRAINT_PINNED = 2835;
|
|
1639
|
+
const SQLITE_CONSTRAINT_PRIMARYKEY = 1555;
|
|
1640
|
+
const SQLITE_CONSTRAINT_ROWID = 2579;
|
|
1641
|
+
const SQLITE_CONSTRAINT_TRIGGER = 1811;
|
|
1642
|
+
const SQLITE_CONSTRAINT_UNIQUE = 2067;
|
|
1643
|
+
const SQLITE_CONSTRAINT_VTAB = 2323;
|
|
1644
|
+
|
|
1645
|
+
// Open flags.
|
|
1646
|
+
// https://www.sqlite.org/c3ref/c_open_autoproxy.html
|
|
1647
|
+
const SQLITE_OPEN_READONLY = 0x00000001;
|
|
1648
|
+
const SQLITE_OPEN_READWRITE = 0x00000002;
|
|
1649
|
+
const SQLITE_OPEN_CREATE = 0x00000004;
|
|
1650
|
+
const SQLITE_OPEN_DELETEONCLOSE = 0x00000008;
|
|
1651
|
+
const SQLITE_OPEN_EXCLUSIVE = 0x00000010;
|
|
1652
|
+
const SQLITE_OPEN_AUTOPROXY = 0x00000020;
|
|
1653
|
+
const SQLITE_OPEN_URI = 0x00000040;
|
|
1654
|
+
const SQLITE_OPEN_MEMORY = 0x00000080;
|
|
1655
|
+
const SQLITE_OPEN_MAIN_DB = 0x00000100;
|
|
1656
|
+
const SQLITE_OPEN_TEMP_DB = 0x00000200;
|
|
1657
|
+
const SQLITE_OPEN_TRANSIENT_DB = 0x00000400;
|
|
1658
|
+
const SQLITE_OPEN_MAIN_JOURNAL = 0x00000800;
|
|
1659
|
+
const SQLITE_OPEN_TEMP_JOURNAL = 0x00001000;
|
|
1660
|
+
const SQLITE_OPEN_SUBJOURNAL = 0x00002000;
|
|
1661
|
+
const SQLITE_OPEN_SUPER_JOURNAL = 0x00004000;
|
|
1662
|
+
const SQLITE_OPEN_NOMUTEX = 0x00008000;
|
|
1663
|
+
const SQLITE_OPEN_FULLMUTEX = 0x00010000;
|
|
1664
|
+
const SQLITE_OPEN_SHAREDCACHE = 0x00020000;
|
|
1665
|
+
const SQLITE_OPEN_PRIVATECACHE = 0x00040000;
|
|
1666
|
+
const SQLITE_OPEN_WAL = 0x00080000;
|
|
1667
|
+
const SQLITE_OPEN_NOFOLLOW = 0x01000000;
|
|
1668
|
+
|
|
1669
|
+
// Locking levels.
|
|
1670
|
+
// https://www.sqlite.org/c3ref/c_lock_exclusive.html
|
|
1671
|
+
const SQLITE_LOCK_NONE = 0;
|
|
1672
|
+
const SQLITE_LOCK_SHARED = 1;
|
|
1673
|
+
const SQLITE_LOCK_RESERVED = 2;
|
|
1674
|
+
const SQLITE_LOCK_PENDING = 3;
|
|
1675
|
+
const SQLITE_LOCK_EXCLUSIVE = 4;
|
|
1676
|
+
|
|
1677
|
+
// Device characteristics.
|
|
1678
|
+
// https://www.sqlite.org/c3ref/c_iocap_atomic.html
|
|
1679
|
+
const SQLITE_IOCAP_ATOMIC = 0x00000001;
|
|
1680
|
+
const SQLITE_IOCAP_ATOMIC512 = 0x00000002;
|
|
1681
|
+
const SQLITE_IOCAP_ATOMIC1K = 0x00000004;
|
|
1682
|
+
const SQLITE_IOCAP_ATOMIC2K = 0x00000008;
|
|
1683
|
+
const SQLITE_IOCAP_ATOMIC4K = 0x00000010;
|
|
1684
|
+
const SQLITE_IOCAP_ATOMIC8K = 0x00000020;
|
|
1685
|
+
const SQLITE_IOCAP_ATOMIC16K = 0x00000040;
|
|
1686
|
+
const SQLITE_IOCAP_ATOMIC32K = 0x00000080;
|
|
1687
|
+
const SQLITE_IOCAP_ATOMIC64K = 0x00000100;
|
|
1688
|
+
const SQLITE_IOCAP_SAFE_APPEND = 0x00000200;
|
|
1689
|
+
const SQLITE_IOCAP_SEQUENTIAL = 0x00000400;
|
|
1690
|
+
const SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN = 0x00000800;
|
|
1691
|
+
const SQLITE_IOCAP_POWERSAFE_OVERWRITE = 0x00001000;
|
|
1692
|
+
const SQLITE_IOCAP_IMMUTABLE = 0x00002000;
|
|
1693
|
+
const SQLITE_IOCAP_BATCH_ATOMIC = 0x00004000;
|
|
1694
|
+
|
|
1695
|
+
// xAccess flags.
|
|
1696
|
+
// https://www.sqlite.org/c3ref/c_access_exists.html
|
|
1697
|
+
const SQLITE_ACCESS_EXISTS = 0;
|
|
1698
|
+
const SQLITE_ACCESS_READWRITE = 1;
|
|
1699
|
+
const SQLITE_ACCESS_READ = 2;
|
|
1700
|
+
|
|
1701
|
+
// File control opcodes
|
|
1702
|
+
// https://www.sqlite.org/c3ref/c_fcntl_begin_atomic_write.html#sqlitefcntlbeginatomicwrite
|
|
1703
|
+
const SQLITE_FCNTL_LOCKSTATE = 1;
|
|
1704
|
+
const SQLITE_FCNTL_GET_LOCKPROXYFILE = 2;
|
|
1705
|
+
const SQLITE_FCNTL_SET_LOCKPROXYFILE = 3;
|
|
1706
|
+
const SQLITE_FCNTL_LAST_ERRNO = 4;
|
|
1707
|
+
const SQLITE_FCNTL_SIZE_HINT = 5;
|
|
1708
|
+
const SQLITE_FCNTL_CHUNK_SIZE = 6;
|
|
1709
|
+
const SQLITE_FCNTL_FILE_POINTER = 7;
|
|
1710
|
+
const SQLITE_FCNTL_SYNC_OMITTED = 8;
|
|
1711
|
+
const SQLITE_FCNTL_WIN32_AV_RETRY = 9;
|
|
1712
|
+
const SQLITE_FCNTL_PERSIST_WAL = 10;
|
|
1713
|
+
const SQLITE_FCNTL_OVERWRITE = 11;
|
|
1714
|
+
const SQLITE_FCNTL_VFSNAME = 12;
|
|
1715
|
+
const SQLITE_FCNTL_POWERSAFE_OVERWRITE = 13;
|
|
1716
|
+
const SQLITE_FCNTL_PRAGMA = 14;
|
|
1717
|
+
const SQLITE_FCNTL_BUSYHANDLER = 15;
|
|
1718
|
+
const SQLITE_FCNTL_TEMPFILENAME = 16;
|
|
1719
|
+
const SQLITE_FCNTL_MMAP_SIZE = 18;
|
|
1720
|
+
const SQLITE_FCNTL_TRACE = 19;
|
|
1721
|
+
const SQLITE_FCNTL_HAS_MOVED = 20;
|
|
1722
|
+
const SQLITE_FCNTL_SYNC = 21;
|
|
1723
|
+
const SQLITE_FCNTL_COMMIT_PHASETWO = 22;
|
|
1724
|
+
const SQLITE_FCNTL_WIN32_SET_HANDLE = 23;
|
|
1725
|
+
const SQLITE_FCNTL_WAL_BLOCK = 24;
|
|
1726
|
+
const SQLITE_FCNTL_ZIPVFS = 25;
|
|
1727
|
+
const SQLITE_FCNTL_RBU = 26;
|
|
1728
|
+
const SQLITE_FCNTL_VFS_POINTER = 27;
|
|
1729
|
+
const SQLITE_FCNTL_JOURNAL_POINTER = 28;
|
|
1730
|
+
const SQLITE_FCNTL_WIN32_GET_HANDLE = 29;
|
|
1731
|
+
const SQLITE_FCNTL_PDB = 30;
|
|
1732
|
+
const SQLITE_FCNTL_BEGIN_ATOMIC_WRITE = 31;
|
|
1733
|
+
const SQLITE_FCNTL_COMMIT_ATOMIC_WRITE = 32;
|
|
1734
|
+
const SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE = 33;
|
|
1735
|
+
const SQLITE_FCNTL_LOCK_TIMEOUT = 34;
|
|
1736
|
+
const SQLITE_FCNTL_DATA_VERSION = 35;
|
|
1737
|
+
const SQLITE_FCNTL_SIZE_LIMIT = 36;
|
|
1738
|
+
const SQLITE_FCNTL_CKPT_DONE = 37;
|
|
1739
|
+
const SQLITE_FCNTL_RESERVE_BYTES = 38;
|
|
1740
|
+
const SQLITE_FCNTL_CKPT_START = 39;
|
|
1741
|
+
|
|
1742
|
+
// Fundamental datatypes.
|
|
1743
|
+
// https://www.sqlite.org/c3ref/c_blob.html
|
|
1744
|
+
const SQLITE_INTEGER = 1;
|
|
1745
|
+
const SQLITE_FLOAT = 2;
|
|
1746
|
+
const SQLITE_TEXT = 3;
|
|
1747
|
+
const SQLITE_BLOB = 4;
|
|
1748
|
+
const SQLITE_NULL = 5;
|
|
1749
|
+
|
|
1750
|
+
// Special destructor behavior.
|
|
1751
|
+
// https://www.sqlite.org/c3ref/c_static.html
|
|
1752
|
+
const SQLITE_STATIC = 0;
|
|
1753
|
+
const SQLITE_TRANSIENT = -1;
|
|
1754
|
+
|
|
1755
|
+
// Text encodings.
|
|
1756
|
+
// https://sqlite.org/c3ref/c_any.html
|
|
1757
|
+
const SQLITE_UTF8 = 1; /* IMP: R-37514-35566 */
|
|
1758
|
+
const SQLITE_UTF16LE = 2; /* IMP: R-03371-37637 */
|
|
1759
|
+
const SQLITE_UTF16BE = 3; /* IMP: R-51971-34154 */
|
|
1760
|
+
const SQLITE_UTF16 = 4; /* Use native byte order */
|
|
1761
|
+
|
|
1762
|
+
// Module constraint ops.
|
|
1763
|
+
const SQLITE_INDEX_CONSTRAINT_EQ = 2;
|
|
1764
|
+
const SQLITE_INDEX_CONSTRAINT_GT = 4;
|
|
1765
|
+
const SQLITE_INDEX_CONSTRAINT_LE = 8;
|
|
1766
|
+
const SQLITE_INDEX_CONSTRAINT_LT = 16;
|
|
1767
|
+
const SQLITE_INDEX_CONSTRAINT_GE = 32;
|
|
1768
|
+
const SQLITE_INDEX_CONSTRAINT_MATCH = 64;
|
|
1769
|
+
const SQLITE_INDEX_CONSTRAINT_LIKE = 65;
|
|
1770
|
+
const SQLITE_INDEX_CONSTRAINT_GLOB = 66;
|
|
1771
|
+
const SQLITE_INDEX_CONSTRAINT_REGEXP = 67;
|
|
1772
|
+
const SQLITE_INDEX_CONSTRAINT_NE = 68;
|
|
1773
|
+
const SQLITE_INDEX_CONSTRAINT_ISNOT = 69;
|
|
1774
|
+
const SQLITE_INDEX_CONSTRAINT_ISNOTNULL = 70;
|
|
1775
|
+
const SQLITE_INDEX_CONSTRAINT_ISNULL = 71;
|
|
1776
|
+
const SQLITE_INDEX_CONSTRAINT_IS = 72;
|
|
1777
|
+
const SQLITE_INDEX_CONSTRAINT_FUNCTION = 150;
|
|
1778
|
+
const SQLITE_INDEX_SCAN_UNIQUE = 1; /* Scan visits at most = 1 row */
|
|
1779
|
+
|
|
1780
|
+
// Function flags
|
|
1781
|
+
const SQLITE_DETERMINISTIC = 0x000000800;
|
|
1782
|
+
const SQLITE_DIRECTONLY = 0x000080000;
|
|
1783
|
+
const SQLITE_SUBTYPE = 0x000100000;
|
|
1784
|
+
const SQLITE_INNOCUOUS = 0x000200000;
|
|
1785
|
+
|
|
1786
|
+
// Sync flags
|
|
1787
|
+
const SQLITE_SYNC_NORMAL = 0x00002;
|
|
1788
|
+
const SQLITE_SYNC_FULL = 0x00003;
|
|
1789
|
+
const SQLITE_SYNC_DATAONLY = 0x00010;
|
|
1790
|
+
|
|
1791
|
+
// Authorizer action codes
|
|
1792
|
+
const SQLITE_CREATE_INDEX = 1;
|
|
1793
|
+
const SQLITE_CREATE_TABLE = 2;
|
|
1794
|
+
const SQLITE_CREATE_TEMP_INDEX = 3;
|
|
1795
|
+
const SQLITE_CREATE_TEMP_TABLE = 4;
|
|
1796
|
+
const SQLITE_CREATE_TEMP_TRIGGER = 5;
|
|
1797
|
+
const SQLITE_CREATE_TEMP_VIEW = 6;
|
|
1798
|
+
const SQLITE_CREATE_TRIGGER = 7;
|
|
1799
|
+
const SQLITE_CREATE_VIEW = 8;
|
|
1800
|
+
const SQLITE_DELETE = 9;
|
|
1801
|
+
const SQLITE_DROP_INDEX = 10;
|
|
1802
|
+
const SQLITE_DROP_TABLE = 11;
|
|
1803
|
+
const SQLITE_DROP_TEMP_INDEX = 12;
|
|
1804
|
+
const SQLITE_DROP_TEMP_TABLE = 13;
|
|
1805
|
+
const SQLITE_DROP_TEMP_TRIGGER = 14;
|
|
1806
|
+
const SQLITE_DROP_TEMP_VIEW = 15;
|
|
1807
|
+
const SQLITE_DROP_TRIGGER = 16;
|
|
1808
|
+
const SQLITE_DROP_VIEW = 17;
|
|
1809
|
+
const SQLITE_INSERT = 18;
|
|
1810
|
+
const SQLITE_PRAGMA = 19;
|
|
1811
|
+
const SQLITE_READ = 20;
|
|
1812
|
+
const SQLITE_SELECT = 21;
|
|
1813
|
+
const SQLITE_TRANSACTION = 22;
|
|
1814
|
+
const SQLITE_UPDATE = 23;
|
|
1815
|
+
const SQLITE_ATTACH = 24;
|
|
1816
|
+
const SQLITE_DETACH = 25;
|
|
1817
|
+
const SQLITE_ALTER_TABLE = 26;
|
|
1818
|
+
const SQLITE_REINDEX = 27;
|
|
1819
|
+
const SQLITE_ANALYZE = 28;
|
|
1820
|
+
const SQLITE_CREATE_VTABLE = 29;
|
|
1821
|
+
const SQLITE_DROP_VTABLE = 30;
|
|
1822
|
+
const SQLITE_FUNCTION = 31;
|
|
1823
|
+
const SQLITE_SAVEPOINT = 32;
|
|
1824
|
+
const SQLITE_COPY = 0;
|
|
1825
|
+
const SQLITE_RECURSIVE = 33;
|
|
1826
|
+
|
|
1827
|
+
// Authorizer return codes
|
|
1828
|
+
const SQLITE_DENY = 1;
|
|
1829
|
+
const SQLITE_IGNORE = 2;
|
|
1830
|
+
|
|
1831
|
+
// Limit categories
|
|
1832
|
+
const SQLITE_LIMIT_LENGTH = 0;
|
|
1833
|
+
const SQLITE_LIMIT_SQL_LENGTH = 1;
|
|
1834
|
+
const SQLITE_LIMIT_COLUMN = 2;
|
|
1835
|
+
const SQLITE_LIMIT_EXPR_DEPTH = 3;
|
|
1836
|
+
const SQLITE_LIMIT_COMPOUND_SELECT = 4;
|
|
1837
|
+
const SQLITE_LIMIT_VDBE_OP = 5;
|
|
1838
|
+
const SQLITE_LIMIT_FUNCTION_ARG = 6;
|
|
1839
|
+
const SQLITE_LIMIT_ATTACHED = 7;
|
|
1840
|
+
const SQLITE_LIMIT_LIKE_PATTERN_LENGTH = 8;
|
|
1841
|
+
const SQLITE_LIMIT_VARIABLE_NUMBER = 9;
|
|
1842
|
+
const SQLITE_LIMIT_TRIGGER_DEPTH = 10;
|
|
1843
|
+
const SQLITE_LIMIT_WORKER_THREADS = 11;
|
|
1844
|
+
|
|
1845
|
+
const SQLITE_PREPARE_PERSISTENT = 0x01;
|
|
1846
|
+
const SQLITE_PREPARE_NORMALIZED = 0x02;
|
|
1847
|
+
const SQLITE_PREPARE_NO_VTAB = 0x04;
|
|
1848
|
+
|
|
1849
|
+
/***/ }),
|
|
1850
|
+
|
|
126
1851
|
/***/ "../../node_modules/asn1.js/lib/asn1.js":
|
|
127
1852
|
/*!**********************************************!*\
|
|
128
1853
|
!*** ../../node_modules/asn1.js/lib/asn1.js ***!
|
|
@@ -38711,7 +40436,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
38711
40436
|
/* harmony export */ });
|
|
38712
40437
|
/* harmony import */ var _powersync_common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @powersync/common */ "@powersync/common");
|
|
38713
40438
|
/* harmony import */ var _powersync_common__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_powersync_common__WEBPACK_IMPORTED_MODULE_0__);
|
|
38714
|
-
/* harmony import */ var _shared_navigator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*!
|
|
40439
|
+
/* harmony import */ var _shared_navigator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/navigator */ "./lib/src/shared/navigator.js");
|
|
38715
40440
|
/* harmony import */ var _AsyncDatabaseConnection__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./AsyncDatabaseConnection */ "./lib/src/db/adapters/AsyncDatabaseConnection.js");
|
|
38716
40441
|
/* harmony import */ var _WorkerWrappedAsyncDatabaseConnection__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./WorkerWrappedAsyncDatabaseConnection */ "./lib/src/db/adapters/WorkerWrappedAsyncDatabaseConnection.js");
|
|
38717
40442
|
/* harmony import */ var _wa_sqlite_WASQLiteConnection__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./wa-sqlite/WASQLiteConnection */ "./lib/src/db/adapters/wa-sqlite/WASQLiteConnection.js");
|
|
@@ -38788,21 +40513,28 @@ class LockedAsyncDatabaseAdapter extends _powersync_common__WEBPACK_IMPORTED_MOD
|
|
|
38788
40513
|
return this.initPromise;
|
|
38789
40514
|
}
|
|
38790
40515
|
async openInternalDB() {
|
|
38791
|
-
// Dispose any previous table change listener.
|
|
38792
|
-
this._disposeTableChangeListener?.();
|
|
38793
|
-
this._disposeTableChangeListener = null;
|
|
38794
|
-
const isReOpen = !!this._db;
|
|
38795
|
-
this._db = await this.options.openConnection();
|
|
38796
|
-
await this._db.init();
|
|
38797
|
-
this._config = await this._db.getConfig();
|
|
38798
|
-
await this.registerOnChangeListener(this._db);
|
|
38799
|
-
if (isReOpen) {
|
|
38800
|
-
this.iterateListeners((cb) => cb.databaseReOpened?.());
|
|
38801
|
-
}
|
|
38802
40516
|
/**
|
|
38803
|
-
*
|
|
40517
|
+
* Execute opening of the db in a lock in order not to interfere with other operations.
|
|
38804
40518
|
*/
|
|
38805
|
-
this.
|
|
40519
|
+
return this._acquireLock(async () => {
|
|
40520
|
+
// Dispose any previous table change listener.
|
|
40521
|
+
this._disposeTableChangeListener?.();
|
|
40522
|
+
this._disposeTableChangeListener = null;
|
|
40523
|
+
this._db?.close().catch((ex) => this.logger.warn(`Error closing database before opening new instance`, ex));
|
|
40524
|
+
const isReOpen = !!this._db;
|
|
40525
|
+
this._db = null;
|
|
40526
|
+
this._db = await this.options.openConnection();
|
|
40527
|
+
await this._db.init();
|
|
40528
|
+
this._config = await this._db.getConfig();
|
|
40529
|
+
await this.registerOnChangeListener(this._db);
|
|
40530
|
+
if (isReOpen) {
|
|
40531
|
+
this.iterateListeners((cb) => cb.databaseReOpened?.());
|
|
40532
|
+
}
|
|
40533
|
+
/**
|
|
40534
|
+
* This is only required for the long-lived shared IndexedDB connections.
|
|
40535
|
+
*/
|
|
40536
|
+
this.requiresHolds = this._config.vfs == _wa_sqlite_WASQLiteConnection__WEBPACK_IMPORTED_MODULE_4__.WASQLiteVFS.IDBBatchAtomicVFS;
|
|
40537
|
+
});
|
|
38806
40538
|
}
|
|
38807
40539
|
_reOpen() {
|
|
38808
40540
|
this.databaseOpenPromise = this.openInternalDB().finally(() => {
|
|
@@ -38824,7 +40556,24 @@ class LockedAsyncDatabaseAdapter extends _powersync_common__WEBPACK_IMPORTED_MOD
|
|
|
38824
40556
|
return this._reOpen();
|
|
38825
40557
|
}
|
|
38826
40558
|
async _init() {
|
|
38827
|
-
|
|
40559
|
+
/**
|
|
40560
|
+
* For OPFS, we can see this open call sometimes fail due to NoModificationAllowedError.
|
|
40561
|
+
* We should be able to recover from this by re-opening the database.
|
|
40562
|
+
*/
|
|
40563
|
+
const maxAttempts = 3;
|
|
40564
|
+
for (let count = 0; count < maxAttempts; count++) {
|
|
40565
|
+
try {
|
|
40566
|
+
await this.openInternalDB();
|
|
40567
|
+
break;
|
|
40568
|
+
}
|
|
40569
|
+
catch (ex) {
|
|
40570
|
+
if (count == maxAttempts - 1) {
|
|
40571
|
+
throw ex;
|
|
40572
|
+
}
|
|
40573
|
+
this.logger.warn(`Attempt ${count + 1} of ${maxAttempts} to open database failed, retrying in 1 second...`, ex);
|
|
40574
|
+
await new Promise((resolve) => setTimeout(resolve, 1000));
|
|
40575
|
+
}
|
|
40576
|
+
}
|
|
38828
40577
|
this.iterateListeners((cb) => cb.initialized?.());
|
|
38829
40578
|
}
|
|
38830
40579
|
getConfiguration() {
|
|
@@ -38901,8 +40650,7 @@ class LockedAsyncDatabaseAdapter extends _powersync_common__WEBPACK_IMPORTED_MOD
|
|
|
38901
40650
|
timeoutMs: options?.timeoutMs ?? this.options.defaultLockTimeoutMs
|
|
38902
40651
|
});
|
|
38903
40652
|
}
|
|
38904
|
-
async
|
|
38905
|
-
await this.waitForInitialized();
|
|
40653
|
+
async _acquireLock(callback, options) {
|
|
38906
40654
|
if (this.closing) {
|
|
38907
40655
|
throw new Error(`Cannot acquire lock, the database is closing`);
|
|
38908
40656
|
}
|
|
@@ -38920,25 +40668,26 @@ class LockedAsyncDatabaseAdapter extends _powersync_common__WEBPACK_IMPORTED_MOD
|
|
|
38920
40668
|
if (timeoutId) {
|
|
38921
40669
|
clearTimeout(timeoutId);
|
|
38922
40670
|
}
|
|
40671
|
+
return await callback();
|
|
40672
|
+
});
|
|
40673
|
+
}
|
|
40674
|
+
async acquireLock(callback, options) {
|
|
40675
|
+
await this.waitForInitialized();
|
|
40676
|
+
return this._acquireLock(async () => {
|
|
38923
40677
|
let holdId = null;
|
|
38924
40678
|
try {
|
|
38925
40679
|
// The database is being opened in the background. Wait for it here.
|
|
38926
40680
|
if (this.databaseOpenPromise) {
|
|
38927
|
-
|
|
38928
|
-
|
|
38929
|
-
|
|
38930
|
-
|
|
38931
|
-
// This will cause a retry of opening the database.
|
|
38932
|
-
const wrappedError = new _AsyncDatabaseConnection__WEBPACK_IMPORTED_MODULE_2__.ConnectionClosedError('Could not open database');
|
|
38933
|
-
wrappedError.cause = ex;
|
|
38934
|
-
throw wrappedError;
|
|
38935
|
-
}
|
|
40681
|
+
/**
|
|
40682
|
+
* We can't await this since it uses the same lock as we're in now.
|
|
40683
|
+
*/
|
|
40684
|
+
throw new _AsyncDatabaseConnection__WEBPACK_IMPORTED_MODULE_2__.ConnectionClosedError('Connection is busy re-opening');
|
|
38936
40685
|
}
|
|
38937
40686
|
holdId = this.requiresHolds ? await this.baseDB.markHold() : null;
|
|
38938
40687
|
return await callback();
|
|
38939
40688
|
}
|
|
38940
40689
|
catch (ex) {
|
|
38941
|
-
if (ex instanceof _AsyncDatabaseConnection__WEBPACK_IMPORTED_MODULE_2__.ConnectionClosedError) {
|
|
40690
|
+
if (ex instanceof _AsyncDatabaseConnection__WEBPACK_IMPORTED_MODULE_2__.ConnectionClosedError || (ex instanceof Error && ex.name === 'NoModificationAllowedError')) {
|
|
38942
40691
|
if (this.options.reOpenOnConnectionClosed && !this.databaseOpenPromise && !this.closing) {
|
|
38943
40692
|
// Immediately re-open the database. We need to miss as little table updates as possible.
|
|
38944
40693
|
this.reOpenInternalDB();
|
|
@@ -38951,7 +40700,7 @@ class LockedAsyncDatabaseAdapter extends _powersync_common__WEBPACK_IMPORTED_MOD
|
|
|
38951
40700
|
await this.baseDB.releaseHold(holdId);
|
|
38952
40701
|
}
|
|
38953
40702
|
}
|
|
38954
|
-
});
|
|
40703
|
+
}, options);
|
|
38955
40704
|
}
|
|
38956
40705
|
async readTransaction(fn, options) {
|
|
38957
40706
|
return this.readLock(this.wrapTransaction(fn));
|
|
@@ -39347,6 +41096,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
39347
41096
|
/* harmony import */ var _powersync_common__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_powersync_common__WEBPACK_IMPORTED_MODULE_1__);
|
|
39348
41097
|
/* harmony import */ var async_mutex__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! async-mutex */ "async-mutex");
|
|
39349
41098
|
/* harmony import */ var async_mutex__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(async_mutex__WEBPACK_IMPORTED_MODULE_2__);
|
|
41099
|
+
/* harmony import */ var _worker_db_opfs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../worker/db/opfs */ "./lib/src/worker/db/opfs.js");
|
|
41100
|
+
|
|
39350
41101
|
|
|
39351
41102
|
|
|
39352
41103
|
|
|
@@ -39429,11 +41180,10 @@ const DEFAULT_MODULE_FACTORIES = {
|
|
|
39429
41180
|
else {
|
|
39430
41181
|
module = await SyncWASQLiteModuleFactory();
|
|
39431
41182
|
}
|
|
39432
|
-
|
|
39433
|
-
const { OPFSCoopSyncVFS } = await Promise.resolve(/*! import() */).then(__webpack_require__.t.bind(__webpack_require__, /*! @journeyapps/wa-sqlite/src/examples/OPFSCoopSyncVFS.js */ "@journeyapps/wa-sqlite/src/examples/OPFSCoopSyncVFS.js", 23));
|
|
41183
|
+
const vfs = await _worker_db_opfs__WEBPACK_IMPORTED_MODULE_3__.OPFSCoopSyncVFS.create(options.dbFileName, module);
|
|
39434
41184
|
return {
|
|
39435
41185
|
module,
|
|
39436
|
-
vfs:
|
|
41186
|
+
vfs: vfs
|
|
39437
41187
|
};
|
|
39438
41188
|
}
|
|
39439
41189
|
};
|
|
@@ -39830,8 +41580,8 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
39830
41580
|
/* harmony import */ var _worker_db_open_worker_database__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../worker/db/open-worker-database */ "./lib/src/worker/db/open-worker-database.js");
|
|
39831
41581
|
/* harmony import */ var _AbstractWebSQLOpenFactory__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../AbstractWebSQLOpenFactory */ "./lib/src/db/adapters/AbstractWebSQLOpenFactory.js");
|
|
39832
41582
|
/* harmony import */ var _LockedAsyncDatabaseAdapter__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../LockedAsyncDatabaseAdapter */ "./lib/src/db/adapters/LockedAsyncDatabaseAdapter.js");
|
|
39833
|
-
/* harmony import */ var
|
|
39834
|
-
/* harmony import */ var
|
|
41583
|
+
/* harmony import */ var _WorkerWrappedAsyncDatabaseConnection__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../WorkerWrappedAsyncDatabaseConnection */ "./lib/src/db/adapters/WorkerWrappedAsyncDatabaseConnection.js");
|
|
41584
|
+
/* harmony import */ var _web_sql_flags__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../web-sql-flags */ "./lib/src/db/adapters/web-sql-flags.js");
|
|
39835
41585
|
/* harmony import */ var _WASQLiteConnection__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./WASQLiteConnection */ "./lib/src/db/adapters/wa-sqlite/WASQLiteConnection.js");
|
|
39836
41586
|
|
|
39837
41587
|
|
|
@@ -39862,7 +41612,7 @@ class WASQLiteOpenFactory extends _AbstractWebSQLOpenFactory__WEBPACK_IMPORTED_M
|
|
|
39862
41612
|
}
|
|
39863
41613
|
async openConnection() {
|
|
39864
41614
|
const { enableMultiTabs, useWebWorker } = this.resolvedFlags;
|
|
39865
|
-
const { vfs = _WASQLiteConnection__WEBPACK_IMPORTED_MODULE_6__.WASQLiteVFS.IDBBatchAtomicVFS, temporaryStorage =
|
|
41615
|
+
const { vfs = _WASQLiteConnection__WEBPACK_IMPORTED_MODULE_6__.WASQLiteVFS.IDBBatchAtomicVFS, temporaryStorage = _web_sql_flags__WEBPACK_IMPORTED_MODULE_5__.TemporaryStorageOption.MEMORY, cacheSizeKb = _web_sql_flags__WEBPACK_IMPORTED_MODULE_5__.DEFAULT_CACHE_SIZE_KB, encryptionKey } = this.waOptions;
|
|
39866
41616
|
if (!enableMultiTabs) {
|
|
39867
41617
|
this.logger.warn('Multiple tabs are not enabled in this browser');
|
|
39868
41618
|
}
|
|
@@ -39878,7 +41628,7 @@ class WASQLiteOpenFactory extends _AbstractWebSQLOpenFactory__WEBPACK_IMPORTED_M
|
|
|
39878
41628
|
}))
|
|
39879
41629
|
: (0,_worker_db_open_worker_database__WEBPACK_IMPORTED_MODULE_1__.openWorkerDatabasePort)(this.options.dbFilename, enableMultiTabs, optionsDbWorker, this.waOptions.vfs);
|
|
39880
41630
|
const workerDBOpener = comlink__WEBPACK_IMPORTED_MODULE_0__.wrap(workerPort);
|
|
39881
|
-
return new
|
|
41631
|
+
return new _WorkerWrappedAsyncDatabaseConnection__WEBPACK_IMPORTED_MODULE_4__.WorkerWrappedAsyncDatabaseConnection({
|
|
39882
41632
|
remote: workerDBOpener,
|
|
39883
41633
|
// This tab owns the worker, so we're guaranteed to outlive it.
|
|
39884
41634
|
remoteCanCloseUnexpectedly: false,
|
|
@@ -40244,7 +41994,7 @@ class SharedWebStreamingSyncImplementation extends _WebStreamingSyncImplementati
|
|
|
40244
41994
|
}
|
|
40245
41995
|
}
|
|
40246
41996
|
else {
|
|
40247
|
-
this.messagePort = new SharedWorker(new URL(/* worker import */ __webpack_require__.p + __webpack_require__.u("lib_src_worker_sync_SharedSyncImplementation_worker_js-_journeyapps_wa-sqlite-_journeyapps_wa-
|
|
41997
|
+
this.messagePort = new SharedWorker(new URL(/* worker import */ __webpack_require__.p + __webpack_require__.u("lib_src_worker_sync_SharedSyncImplementation_worker_js-_journeyapps_wa-sqlite-_journeyapps_wa-d97eb8"), __webpack_require__.b), {
|
|
40248
41998
|
/* @vite-ignore */
|
|
40249
41999
|
name: `shared-sync-${this.webOptions.identifier}`,
|
|
40250
42000
|
type: undefined
|
|
@@ -40611,12 +42361,12 @@ function openWorkerDatabasePort(workerIdentifier, multipleTabs = true, worker =
|
|
|
40611
42361
|
* (in the case of Android)
|
|
40612
42362
|
*/
|
|
40613
42363
|
return !needsDedicated && multipleTabs
|
|
40614
|
-
? new SharedWorker(new URL(/* worker import */ __webpack_require__.p + __webpack_require__.u("lib_src_worker_db_WASQLiteDB_worker_js-_journeyapps_wa-sqlite_src_examples_AccessHandlePoolVF-
|
|
42364
|
+
? new SharedWorker(new URL(/* worker import */ __webpack_require__.p + __webpack_require__.u("lib_src_worker_db_WASQLiteDB_worker_js-_journeyapps_wa-sqlite_src_examples_AccessHandlePoolVF-7740190"), __webpack_require__.b), {
|
|
40615
42365
|
/* @vite-ignore */
|
|
40616
42366
|
name: `shared-DB-worker-${workerIdentifier}`,
|
|
40617
42367
|
type: undefined
|
|
40618
42368
|
}).port
|
|
40619
|
-
: new Worker(new URL(/* worker import */ __webpack_require__.p + __webpack_require__.u("lib_src_worker_db_WASQLiteDB_worker_js-_journeyapps_wa-sqlite_src_examples_AccessHandlePoolVF-
|
|
42369
|
+
: new Worker(new URL(/* worker import */ __webpack_require__.p + __webpack_require__.u("lib_src_worker_db_WASQLiteDB_worker_js-_journeyapps_wa-sqlite_src_examples_AccessHandlePoolVF-7740191"), __webpack_require__.b), {
|
|
40620
42370
|
/* @vite-ignore */
|
|
40621
42371
|
name: `DB-worker-${workerIdentifier}`,
|
|
40622
42372
|
type: undefined
|
|
@@ -40639,6 +42389,605 @@ function isSharedWorker(worker) {
|
|
|
40639
42389
|
}
|
|
40640
42390
|
|
|
40641
42391
|
|
|
42392
|
+
/***/ }),
|
|
42393
|
+
|
|
42394
|
+
/***/ "./lib/src/worker/db/opfs.js":
|
|
42395
|
+
/*!***********************************!*\
|
|
42396
|
+
!*** ./lib/src/worker/db/opfs.js ***!
|
|
42397
|
+
\***********************************/
|
|
42398
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
42399
|
+
|
|
42400
|
+
"use strict";
|
|
42401
|
+
__webpack_require__.r(__webpack_exports__);
|
|
42402
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
42403
|
+
/* harmony export */ OPFSCoopSyncVFS: () => (/* binding */ OPFSCoopSyncVFS)
|
|
42404
|
+
/* harmony export */ });
|
|
42405
|
+
/* harmony import */ var _journeyapps_wa_sqlite_src_FacadeVFS_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @journeyapps/wa-sqlite/src/FacadeVFS.js */ "../../node_modules/@journeyapps/wa-sqlite/src/FacadeVFS.js");
|
|
42406
|
+
/* harmony import */ var _journeyapps_wa_sqlite_src_VFS_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @journeyapps/wa-sqlite/src/VFS.js */ "../../node_modules/@journeyapps/wa-sqlite/src/VFS.js");
|
|
42407
|
+
// Copyright 2024 Roy T. Hashimoto. All Rights Reserved.
|
|
42408
|
+
// @ts-nocheck
|
|
42409
|
+
|
|
42410
|
+
|
|
42411
|
+
const DEFAULT_TEMPORARY_FILES = 10;
|
|
42412
|
+
const LOCK_NOTIFY_INTERVAL = 1000;
|
|
42413
|
+
const DB_RELATED_FILE_SUFFIXES = ['', '-journal', '-wal'];
|
|
42414
|
+
const finalizationRegistry = new FinalizationRegistry((releaser) => releaser());
|
|
42415
|
+
class File {
|
|
42416
|
+
/** @type {string} */ path;
|
|
42417
|
+
/** @type {number} */ flags;
|
|
42418
|
+
/** @type {FileSystemSyncAccessHandle} */ accessHandle;
|
|
42419
|
+
/** @type {PersistentFile?} */ persistentFile;
|
|
42420
|
+
constructor(path, flags) {
|
|
42421
|
+
this.path = path;
|
|
42422
|
+
this.flags = flags;
|
|
42423
|
+
}
|
|
42424
|
+
}
|
|
42425
|
+
class PersistentFile {
|
|
42426
|
+
/** @type {FileSystemFileHandle} */ fileHandle;
|
|
42427
|
+
/** @type {FileSystemSyncAccessHandle} */ accessHandle = null;
|
|
42428
|
+
// The following properties are for main database files.
|
|
42429
|
+
/** @type {boolean} */ isLockBusy = false;
|
|
42430
|
+
/** @type {boolean} */ isFileLocked = false;
|
|
42431
|
+
/** @type {boolean} */ isRequestInProgress = false;
|
|
42432
|
+
/** @type {function} */ handleLockReleaser = null;
|
|
42433
|
+
/** @type {BroadcastChannel} */ handleRequestChannel;
|
|
42434
|
+
/** @type {boolean} */ isHandleRequested = false;
|
|
42435
|
+
constructor(fileHandle) {
|
|
42436
|
+
this.fileHandle = fileHandle;
|
|
42437
|
+
}
|
|
42438
|
+
}
|
|
42439
|
+
class OPFSCoopSyncVFS extends _journeyapps_wa_sqlite_src_FacadeVFS_js__WEBPACK_IMPORTED_MODULE_0__.FacadeVFS {
|
|
42440
|
+
/** @type {Map<number, File>} */ mapIdToFile = new Map();
|
|
42441
|
+
lastError = null;
|
|
42442
|
+
log = null; //function(...args) { console.log(`[${contextName}]`, ...args) };
|
|
42443
|
+
/** @type {Map<string, PersistentFile>} */ persistentFiles = new Map();
|
|
42444
|
+
/** @type {Map<string, FileSystemSyncAccessHandle>} */ boundAccessHandles = new Map();
|
|
42445
|
+
/** @type {Set<FileSystemSyncAccessHandle>} */ unboundAccessHandles = new Set();
|
|
42446
|
+
/** @type {Set<string>} */ accessiblePaths = new Set();
|
|
42447
|
+
releaser = null;
|
|
42448
|
+
static async create(name, module) {
|
|
42449
|
+
const vfs = new OPFSCoopSyncVFS(name, module);
|
|
42450
|
+
await Promise.all([vfs.isReady(), vfs.#initialize(DEFAULT_TEMPORARY_FILES)]);
|
|
42451
|
+
return vfs;
|
|
42452
|
+
}
|
|
42453
|
+
constructor(name, module) {
|
|
42454
|
+
super(name, module);
|
|
42455
|
+
}
|
|
42456
|
+
async #initialize(nTemporaryFiles) {
|
|
42457
|
+
// Delete temporary directories no longer in use.
|
|
42458
|
+
const root = await navigator.storage.getDirectory();
|
|
42459
|
+
// @ts-ignore
|
|
42460
|
+
for await (const entry of root.values()) {
|
|
42461
|
+
if (entry.kind === 'directory' && entry.name.startsWith('.ahp-')) {
|
|
42462
|
+
// A lock with the same name as the directory protects it from
|
|
42463
|
+
// being deleted.
|
|
42464
|
+
await navigator.locks.request(entry.name, { ifAvailable: true }, async (lock) => {
|
|
42465
|
+
if (lock) {
|
|
42466
|
+
this.log?.(`Deleting temporary directory ${entry.name}`);
|
|
42467
|
+
await root.removeEntry(entry.name, { recursive: true });
|
|
42468
|
+
}
|
|
42469
|
+
else {
|
|
42470
|
+
this.log?.(`Temporary directory ${entry.name} is in use`);
|
|
42471
|
+
}
|
|
42472
|
+
});
|
|
42473
|
+
}
|
|
42474
|
+
}
|
|
42475
|
+
// Create our temporary directory.
|
|
42476
|
+
const tmpDirName = `.ahp-${Math.random().toString(36).slice(2)}`;
|
|
42477
|
+
this.releaser = await new Promise((resolve) => {
|
|
42478
|
+
navigator.locks.request(tmpDirName, () => {
|
|
42479
|
+
return new Promise((release) => {
|
|
42480
|
+
resolve(release);
|
|
42481
|
+
});
|
|
42482
|
+
});
|
|
42483
|
+
});
|
|
42484
|
+
const releaseHandle = async () => {
|
|
42485
|
+
await Promise.all(this.persistentFiles.values().map(async (file) => {
|
|
42486
|
+
try {
|
|
42487
|
+
await this.#releaseAccessHandle(file);
|
|
42488
|
+
}
|
|
42489
|
+
catch (e) {
|
|
42490
|
+
this.log?.('error releasing access handle', e);
|
|
42491
|
+
}
|
|
42492
|
+
finally {
|
|
42493
|
+
release();
|
|
42494
|
+
}
|
|
42495
|
+
}));
|
|
42496
|
+
};
|
|
42497
|
+
finalizationRegistry.register(this, releaseHandle);
|
|
42498
|
+
finalizationRegistry.register(this, this.releaser);
|
|
42499
|
+
const tmpDir = await root.getDirectoryHandle(tmpDirName, { create: true });
|
|
42500
|
+
// Populate temporary directory.
|
|
42501
|
+
for (let i = 0; i < nTemporaryFiles; i++) {
|
|
42502
|
+
const tmpFile = await tmpDir.getFileHandle(`${i}.tmp`, { create: true });
|
|
42503
|
+
const tmpAccessHandle = await tmpFile.createSyncAccessHandle();
|
|
42504
|
+
this.unboundAccessHandles.add(tmpAccessHandle);
|
|
42505
|
+
}
|
|
42506
|
+
}
|
|
42507
|
+
/**
|
|
42508
|
+
* @param {string?} zName
|
|
42509
|
+
* @param {number} fileId
|
|
42510
|
+
* @param {number} flags
|
|
42511
|
+
* @param {DataView} pOutFlags
|
|
42512
|
+
* @returns {number}
|
|
42513
|
+
*/
|
|
42514
|
+
jOpen(zName, fileId, flags, pOutFlags) {
|
|
42515
|
+
try {
|
|
42516
|
+
const url = new URL(zName || Math.random().toString(36).slice(2), 'file://');
|
|
42517
|
+
const path = url.pathname;
|
|
42518
|
+
if (flags & _journeyapps_wa_sqlite_src_VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_OPEN_MAIN_DB) {
|
|
42519
|
+
const persistentFile = this.persistentFiles.get(path);
|
|
42520
|
+
if (persistentFile?.isRequestInProgress) {
|
|
42521
|
+
// Should not reach here unless SQLite itself retries an open.
|
|
42522
|
+
// Otherwise, asynchronous operations started on a previous
|
|
42523
|
+
// open try should have completed.
|
|
42524
|
+
return _journeyapps_wa_sqlite_src_VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_BUSY;
|
|
42525
|
+
}
|
|
42526
|
+
else if (!persistentFile) {
|
|
42527
|
+
// This is the usual starting point for opening a database.
|
|
42528
|
+
// Register a Promise that resolves when the database and related
|
|
42529
|
+
// files are ready to be used.
|
|
42530
|
+
this.log?.(`creating persistent file for ${path}`);
|
|
42531
|
+
const create = !!(flags & _journeyapps_wa_sqlite_src_VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_OPEN_CREATE);
|
|
42532
|
+
this._module.retryOps.push((async () => {
|
|
42533
|
+
try {
|
|
42534
|
+
// Get the path directory handle.
|
|
42535
|
+
let dirHandle = await navigator.storage.getDirectory();
|
|
42536
|
+
const directories = path.split('/').filter((d) => d);
|
|
42537
|
+
const filename = directories.pop();
|
|
42538
|
+
for (const directory of directories) {
|
|
42539
|
+
dirHandle = await dirHandle.getDirectoryHandle(directory, { create });
|
|
42540
|
+
}
|
|
42541
|
+
// Get file handles for the database and related files,
|
|
42542
|
+
// and create persistent file instances.
|
|
42543
|
+
for (const suffix of DB_RELATED_FILE_SUFFIXES) {
|
|
42544
|
+
const fileHandle = await dirHandle.getFileHandle(filename + suffix, { create });
|
|
42545
|
+
await this.#createPersistentFile(fileHandle);
|
|
42546
|
+
}
|
|
42547
|
+
// Get access handles for the files.
|
|
42548
|
+
const file = new File(path, flags);
|
|
42549
|
+
file.persistentFile = this.persistentFiles.get(path);
|
|
42550
|
+
await this.#requestAccessHandle(file);
|
|
42551
|
+
}
|
|
42552
|
+
catch (e) {
|
|
42553
|
+
// Use an invalid persistent file to signal this error
|
|
42554
|
+
// for the retried open.
|
|
42555
|
+
const persistentFile = new PersistentFile(null);
|
|
42556
|
+
this.persistentFiles.set(path, persistentFile);
|
|
42557
|
+
console.error(e);
|
|
42558
|
+
}
|
|
42559
|
+
})());
|
|
42560
|
+
return _journeyapps_wa_sqlite_src_VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_BUSY;
|
|
42561
|
+
}
|
|
42562
|
+
else if (!persistentFile.fileHandle) {
|
|
42563
|
+
// The asynchronous open operation failed.
|
|
42564
|
+
this.persistentFiles.delete(path);
|
|
42565
|
+
return _journeyapps_wa_sqlite_src_VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_CANTOPEN;
|
|
42566
|
+
}
|
|
42567
|
+
else if (!persistentFile.accessHandle) {
|
|
42568
|
+
// This branch is reached if the database was previously opened
|
|
42569
|
+
// and closed.
|
|
42570
|
+
this._module.retryOps.push((async () => {
|
|
42571
|
+
const file = new File(path, flags);
|
|
42572
|
+
file.persistentFile = this.persistentFiles.get(path);
|
|
42573
|
+
await this.#requestAccessHandle(file);
|
|
42574
|
+
})());
|
|
42575
|
+
return _journeyapps_wa_sqlite_src_VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_BUSY;
|
|
42576
|
+
}
|
|
42577
|
+
}
|
|
42578
|
+
if (!this.accessiblePaths.has(path) && !(flags & _journeyapps_wa_sqlite_src_VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_OPEN_CREATE)) {
|
|
42579
|
+
throw new Error(`File ${path} not found`);
|
|
42580
|
+
}
|
|
42581
|
+
const file = new File(path, flags);
|
|
42582
|
+
this.mapIdToFile.set(fileId, file);
|
|
42583
|
+
if (this.persistentFiles.has(path)) {
|
|
42584
|
+
file.persistentFile = this.persistentFiles.get(path);
|
|
42585
|
+
}
|
|
42586
|
+
else if (this.boundAccessHandles.has(path)) {
|
|
42587
|
+
// This temporary file was previously created and closed. Reopen
|
|
42588
|
+
// the same access handle.
|
|
42589
|
+
file.accessHandle = this.boundAccessHandles.get(path);
|
|
42590
|
+
}
|
|
42591
|
+
else if (this.unboundAccessHandles.size) {
|
|
42592
|
+
// Associate an unbound access handle to this file.
|
|
42593
|
+
file.accessHandle = this.unboundAccessHandles.values().next().value;
|
|
42594
|
+
file.accessHandle.truncate(0);
|
|
42595
|
+
this.unboundAccessHandles.delete(file.accessHandle);
|
|
42596
|
+
this.boundAccessHandles.set(path, file.accessHandle);
|
|
42597
|
+
}
|
|
42598
|
+
this.accessiblePaths.add(path);
|
|
42599
|
+
pOutFlags.setInt32(0, flags, true);
|
|
42600
|
+
return _journeyapps_wa_sqlite_src_VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_OK;
|
|
42601
|
+
}
|
|
42602
|
+
catch (e) {
|
|
42603
|
+
this.lastError = e;
|
|
42604
|
+
return _journeyapps_wa_sqlite_src_VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_CANTOPEN;
|
|
42605
|
+
}
|
|
42606
|
+
}
|
|
42607
|
+
/**
|
|
42608
|
+
* @param {string} zName
|
|
42609
|
+
* @param {number} syncDir
|
|
42610
|
+
* @returns {number}
|
|
42611
|
+
*/
|
|
42612
|
+
jDelete(zName, syncDir) {
|
|
42613
|
+
try {
|
|
42614
|
+
const url = new URL(zName, 'file://');
|
|
42615
|
+
const path = url.pathname;
|
|
42616
|
+
if (this.persistentFiles.has(path)) {
|
|
42617
|
+
const persistentFile = this.persistentFiles.get(path);
|
|
42618
|
+
persistentFile.accessHandle.truncate(0);
|
|
42619
|
+
}
|
|
42620
|
+
else {
|
|
42621
|
+
this.boundAccessHandles.get(path)?.truncate(0);
|
|
42622
|
+
}
|
|
42623
|
+
this.accessiblePaths.delete(path);
|
|
42624
|
+
return _journeyapps_wa_sqlite_src_VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_OK;
|
|
42625
|
+
}
|
|
42626
|
+
catch (e) {
|
|
42627
|
+
this.lastError = e;
|
|
42628
|
+
return _journeyapps_wa_sqlite_src_VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_IOERR_DELETE;
|
|
42629
|
+
}
|
|
42630
|
+
}
|
|
42631
|
+
/**
|
|
42632
|
+
* @param {string} zName
|
|
42633
|
+
* @param {number} flags
|
|
42634
|
+
* @param {DataView} pResOut
|
|
42635
|
+
* @returns {number}
|
|
42636
|
+
*/
|
|
42637
|
+
jAccess(zName, flags, pResOut) {
|
|
42638
|
+
try {
|
|
42639
|
+
const url = new URL(zName, 'file://');
|
|
42640
|
+
const path = url.pathname;
|
|
42641
|
+
pResOut.setInt32(0, this.accessiblePaths.has(path) ? 1 : 0, true);
|
|
42642
|
+
return _journeyapps_wa_sqlite_src_VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_OK;
|
|
42643
|
+
}
|
|
42644
|
+
catch (e) {
|
|
42645
|
+
this.lastError = e;
|
|
42646
|
+
return _journeyapps_wa_sqlite_src_VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_IOERR_ACCESS;
|
|
42647
|
+
}
|
|
42648
|
+
}
|
|
42649
|
+
/**
|
|
42650
|
+
* @param {number} fileId
|
|
42651
|
+
* @returns {number}
|
|
42652
|
+
*/
|
|
42653
|
+
jClose(fileId) {
|
|
42654
|
+
try {
|
|
42655
|
+
const file = this.mapIdToFile.get(fileId);
|
|
42656
|
+
this.mapIdToFile.delete(fileId);
|
|
42657
|
+
if (file?.flags & _journeyapps_wa_sqlite_src_VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_OPEN_MAIN_DB) {
|
|
42658
|
+
if (file.persistentFile?.accessHandle) {
|
|
42659
|
+
this.#releaseAccessHandle(file);
|
|
42660
|
+
}
|
|
42661
|
+
}
|
|
42662
|
+
else if (file?.flags & _journeyapps_wa_sqlite_src_VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_OPEN_DELETEONCLOSE) {
|
|
42663
|
+
file.accessHandle.truncate(0);
|
|
42664
|
+
this.accessiblePaths.delete(file.path);
|
|
42665
|
+
if (!this.persistentFiles.has(file.path)) {
|
|
42666
|
+
this.boundAccessHandles.delete(file.path);
|
|
42667
|
+
this.unboundAccessHandles.add(file.accessHandle);
|
|
42668
|
+
}
|
|
42669
|
+
}
|
|
42670
|
+
return _journeyapps_wa_sqlite_src_VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_OK;
|
|
42671
|
+
}
|
|
42672
|
+
catch (e) {
|
|
42673
|
+
this.lastError = e;
|
|
42674
|
+
return _journeyapps_wa_sqlite_src_VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_IOERR_CLOSE;
|
|
42675
|
+
}
|
|
42676
|
+
}
|
|
42677
|
+
/**
|
|
42678
|
+
* @param {number} fileId
|
|
42679
|
+
* @param {Uint8Array} pData
|
|
42680
|
+
* @param {number} iOffset
|
|
42681
|
+
* @returns {number}
|
|
42682
|
+
*/
|
|
42683
|
+
jRead(fileId, pData, iOffset) {
|
|
42684
|
+
try {
|
|
42685
|
+
const file = this.mapIdToFile.get(fileId);
|
|
42686
|
+
// On Chrome (at least), passing pData to accessHandle.read() is
|
|
42687
|
+
// an error because pData is a Proxy of a Uint8Array. Calling
|
|
42688
|
+
// subarray() produces a real Uint8Array and that works.
|
|
42689
|
+
const accessHandle = file.accessHandle || file.persistentFile.accessHandle;
|
|
42690
|
+
const bytesRead = accessHandle.read(pData.subarray(), { at: iOffset });
|
|
42691
|
+
// Opening a database file performs one read without a xLock call.
|
|
42692
|
+
if (file.flags & _journeyapps_wa_sqlite_src_VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_OPEN_MAIN_DB && !file.persistentFile.isFileLocked) {
|
|
42693
|
+
this.#releaseAccessHandle(file);
|
|
42694
|
+
}
|
|
42695
|
+
if (bytesRead < pData.byteLength) {
|
|
42696
|
+
pData.fill(0, bytesRead);
|
|
42697
|
+
return _journeyapps_wa_sqlite_src_VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_IOERR_SHORT_READ;
|
|
42698
|
+
}
|
|
42699
|
+
return _journeyapps_wa_sqlite_src_VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_OK;
|
|
42700
|
+
}
|
|
42701
|
+
catch (e) {
|
|
42702
|
+
this.lastError = e;
|
|
42703
|
+
return _journeyapps_wa_sqlite_src_VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_IOERR_READ;
|
|
42704
|
+
}
|
|
42705
|
+
}
|
|
42706
|
+
/**
|
|
42707
|
+
* @param {number} fileId
|
|
42708
|
+
* @param {Uint8Array} pData
|
|
42709
|
+
* @param {number} iOffset
|
|
42710
|
+
* @returns {number}
|
|
42711
|
+
*/
|
|
42712
|
+
jWrite(fileId, pData, iOffset) {
|
|
42713
|
+
try {
|
|
42714
|
+
const file = this.mapIdToFile.get(fileId);
|
|
42715
|
+
// On Chrome (at least), passing pData to accessHandle.write() is
|
|
42716
|
+
// an error because pData is a Proxy of a Uint8Array. Calling
|
|
42717
|
+
// subarray() produces a real Uint8Array and that works.
|
|
42718
|
+
const accessHandle = file.accessHandle || file.persistentFile.accessHandle;
|
|
42719
|
+
const nBytes = accessHandle.write(pData.subarray(), { at: iOffset });
|
|
42720
|
+
if (nBytes !== pData.byteLength)
|
|
42721
|
+
throw new Error('short write');
|
|
42722
|
+
return _journeyapps_wa_sqlite_src_VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_OK;
|
|
42723
|
+
}
|
|
42724
|
+
catch (e) {
|
|
42725
|
+
this.lastError = e;
|
|
42726
|
+
return _journeyapps_wa_sqlite_src_VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_IOERR_WRITE;
|
|
42727
|
+
}
|
|
42728
|
+
}
|
|
42729
|
+
/**
|
|
42730
|
+
* @param {number} fileId
|
|
42731
|
+
* @param {number} iSize
|
|
42732
|
+
* @returns {number}
|
|
42733
|
+
*/
|
|
42734
|
+
jTruncate(fileId, iSize) {
|
|
42735
|
+
try {
|
|
42736
|
+
const file = this.mapIdToFile.get(fileId);
|
|
42737
|
+
const accessHandle = file.accessHandle || file.persistentFile.accessHandle;
|
|
42738
|
+
accessHandle.truncate(iSize);
|
|
42739
|
+
return _journeyapps_wa_sqlite_src_VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_OK;
|
|
42740
|
+
}
|
|
42741
|
+
catch (e) {
|
|
42742
|
+
this.lastError = e;
|
|
42743
|
+
return _journeyapps_wa_sqlite_src_VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_IOERR_TRUNCATE;
|
|
42744
|
+
}
|
|
42745
|
+
}
|
|
42746
|
+
/**
|
|
42747
|
+
* @param {number} fileId
|
|
42748
|
+
* @param {number} flags
|
|
42749
|
+
* @returns {number}
|
|
42750
|
+
*/
|
|
42751
|
+
jSync(fileId, flags) {
|
|
42752
|
+
try {
|
|
42753
|
+
const file = this.mapIdToFile.get(fileId);
|
|
42754
|
+
const accessHandle = file.accessHandle || file.persistentFile.accessHandle;
|
|
42755
|
+
accessHandle.flush();
|
|
42756
|
+
return _journeyapps_wa_sqlite_src_VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_OK;
|
|
42757
|
+
}
|
|
42758
|
+
catch (e) {
|
|
42759
|
+
this.lastError = e;
|
|
42760
|
+
return _journeyapps_wa_sqlite_src_VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_IOERR_FSYNC;
|
|
42761
|
+
}
|
|
42762
|
+
}
|
|
42763
|
+
/**
|
|
42764
|
+
* @param {number} fileId
|
|
42765
|
+
* @param {DataView} pSize64
|
|
42766
|
+
* @returns {number}
|
|
42767
|
+
*/
|
|
42768
|
+
jFileSize(fileId, pSize64) {
|
|
42769
|
+
try {
|
|
42770
|
+
const file = this.mapIdToFile.get(fileId);
|
|
42771
|
+
const accessHandle = file.accessHandle || file.persistentFile.accessHandle;
|
|
42772
|
+
const size = accessHandle.getSize();
|
|
42773
|
+
pSize64.setBigInt64(0, BigInt(size), true);
|
|
42774
|
+
return _journeyapps_wa_sqlite_src_VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_OK;
|
|
42775
|
+
}
|
|
42776
|
+
catch (e) {
|
|
42777
|
+
this.lastError = e;
|
|
42778
|
+
return _journeyapps_wa_sqlite_src_VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_IOERR_FSTAT;
|
|
42779
|
+
}
|
|
42780
|
+
}
|
|
42781
|
+
/**
|
|
42782
|
+
* @param {number} fileId
|
|
42783
|
+
* @param {number} lockType
|
|
42784
|
+
* @returns {number}
|
|
42785
|
+
*/
|
|
42786
|
+
jLock(fileId, lockType) {
|
|
42787
|
+
const file = this.mapIdToFile.get(fileId);
|
|
42788
|
+
if (file.persistentFile.isRequestInProgress) {
|
|
42789
|
+
file.persistentFile.isLockBusy = true;
|
|
42790
|
+
return _journeyapps_wa_sqlite_src_VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_BUSY;
|
|
42791
|
+
}
|
|
42792
|
+
file.persistentFile.isFileLocked = true;
|
|
42793
|
+
if (!file.persistentFile.handleLockReleaser) {
|
|
42794
|
+
// Start listening for notifications from other connections.
|
|
42795
|
+
// This is before we actually get access handles, but waiting to
|
|
42796
|
+
// listen until then allows a race condition where notifications
|
|
42797
|
+
// are missed.
|
|
42798
|
+
file.persistentFile.handleRequestChannel.onmessage = () => {
|
|
42799
|
+
this.log?.(`received notification for ${file.path}`);
|
|
42800
|
+
if (file.persistentFile.isFileLocked) {
|
|
42801
|
+
// We're still using the access handle, so mark it to be
|
|
42802
|
+
// released when we're done.
|
|
42803
|
+
file.persistentFile.isHandleRequested = true;
|
|
42804
|
+
}
|
|
42805
|
+
else {
|
|
42806
|
+
// Release the access handles immediately.
|
|
42807
|
+
this.#releaseAccessHandle(file);
|
|
42808
|
+
}
|
|
42809
|
+
file.persistentFile.handleRequestChannel.onmessage = null;
|
|
42810
|
+
};
|
|
42811
|
+
this.#requestAccessHandle(file);
|
|
42812
|
+
this.log?.('returning SQLITE_BUSY');
|
|
42813
|
+
file.persistentFile.isLockBusy = true;
|
|
42814
|
+
return _journeyapps_wa_sqlite_src_VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_BUSY;
|
|
42815
|
+
}
|
|
42816
|
+
file.persistentFile.isLockBusy = false;
|
|
42817
|
+
return _journeyapps_wa_sqlite_src_VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_OK;
|
|
42818
|
+
}
|
|
42819
|
+
/**
|
|
42820
|
+
* @param {number} fileId
|
|
42821
|
+
* @param {number} lockType
|
|
42822
|
+
* @returns {number}
|
|
42823
|
+
*/
|
|
42824
|
+
jUnlock(fileId, lockType) {
|
|
42825
|
+
const file = this.mapIdToFile.get(fileId);
|
|
42826
|
+
if (lockType === _journeyapps_wa_sqlite_src_VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_LOCK_NONE) {
|
|
42827
|
+
// Don't change any state if this unlock is because xLock returned
|
|
42828
|
+
// SQLITE_BUSY.
|
|
42829
|
+
if (!file.persistentFile.isLockBusy) {
|
|
42830
|
+
if (file.persistentFile.isHandleRequested) {
|
|
42831
|
+
// Another connection wants the access handle.
|
|
42832
|
+
this.#releaseAccessHandle(file);
|
|
42833
|
+
file.persistentFile.isHandleRequested = false;
|
|
42834
|
+
}
|
|
42835
|
+
file.persistentFile.isFileLocked = false;
|
|
42836
|
+
}
|
|
42837
|
+
}
|
|
42838
|
+
return _journeyapps_wa_sqlite_src_VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_OK;
|
|
42839
|
+
}
|
|
42840
|
+
/**
|
|
42841
|
+
* @param {number} fileId
|
|
42842
|
+
* @param {number} op
|
|
42843
|
+
* @param {DataView} pArg
|
|
42844
|
+
* @returns {number|Promise<number>}
|
|
42845
|
+
*/
|
|
42846
|
+
jFileControl(fileId, op, pArg) {
|
|
42847
|
+
try {
|
|
42848
|
+
const file = this.mapIdToFile.get(fileId);
|
|
42849
|
+
switch (op) {
|
|
42850
|
+
case _journeyapps_wa_sqlite_src_VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_FCNTL_PRAGMA:
|
|
42851
|
+
const key = extractString(pArg, 4);
|
|
42852
|
+
const value = extractString(pArg, 8);
|
|
42853
|
+
this.log?.('xFileControl', file.path, 'PRAGMA', key, value);
|
|
42854
|
+
switch (key.toLowerCase()) {
|
|
42855
|
+
case 'journal_mode':
|
|
42856
|
+
if (value && !['off', 'memory', 'delete', 'wal'].includes(value.toLowerCase())) {
|
|
42857
|
+
throw new Error('journal_mode must be "off", "memory", "delete", or "wal"');
|
|
42858
|
+
}
|
|
42859
|
+
break;
|
|
42860
|
+
}
|
|
42861
|
+
break;
|
|
42862
|
+
}
|
|
42863
|
+
}
|
|
42864
|
+
catch (e) {
|
|
42865
|
+
this.lastError = e;
|
|
42866
|
+
return _journeyapps_wa_sqlite_src_VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_IOERR;
|
|
42867
|
+
}
|
|
42868
|
+
return _journeyapps_wa_sqlite_src_VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_NOTFOUND;
|
|
42869
|
+
}
|
|
42870
|
+
/**
|
|
42871
|
+
* @param {Uint8Array} zBuf
|
|
42872
|
+
* @returns
|
|
42873
|
+
*/
|
|
42874
|
+
jGetLastError(zBuf) {
|
|
42875
|
+
if (this.lastError) {
|
|
42876
|
+
console.error(this.lastError);
|
|
42877
|
+
const outputArray = zBuf.subarray(0, zBuf.byteLength - 1);
|
|
42878
|
+
const { written } = new TextEncoder().encodeInto(this.lastError.message, outputArray);
|
|
42879
|
+
zBuf[written] = 0;
|
|
42880
|
+
}
|
|
42881
|
+
return _journeyapps_wa_sqlite_src_VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_OK;
|
|
42882
|
+
}
|
|
42883
|
+
/**
|
|
42884
|
+
* @param {FileSystemFileHandle} fileHandle
|
|
42885
|
+
* @returns {Promise<PersistentFile>}
|
|
42886
|
+
*/
|
|
42887
|
+
async #createPersistentFile(fileHandle) {
|
|
42888
|
+
const persistentFile = new PersistentFile(fileHandle);
|
|
42889
|
+
const root = await navigator.storage.getDirectory();
|
|
42890
|
+
const relativePath = await root.resolve(fileHandle);
|
|
42891
|
+
const path = `/${relativePath.join('/')}`;
|
|
42892
|
+
persistentFile.handleRequestChannel = new BroadcastChannel(`ahp:${path}`);
|
|
42893
|
+
this.persistentFiles.set(path, persistentFile);
|
|
42894
|
+
const f = await fileHandle.getFile();
|
|
42895
|
+
if (f.size) {
|
|
42896
|
+
this.accessiblePaths.add(path);
|
|
42897
|
+
}
|
|
42898
|
+
return persistentFile;
|
|
42899
|
+
}
|
|
42900
|
+
/**
|
|
42901
|
+
* @param {File} file
|
|
42902
|
+
*/
|
|
42903
|
+
#requestAccessHandle(file) {
|
|
42904
|
+
console.assert(!file.persistentFile.handleLockReleaser);
|
|
42905
|
+
if (!file.persistentFile.isRequestInProgress) {
|
|
42906
|
+
file.persistentFile.isRequestInProgress = true;
|
|
42907
|
+
this._module.retryOps.push((async () => {
|
|
42908
|
+
// Acquire the Web Lock.
|
|
42909
|
+
file.persistentFile.handleLockReleaser = await this.#acquireLock(file.persistentFile);
|
|
42910
|
+
try {
|
|
42911
|
+
// Get access handles for the database and releated files in parallel.
|
|
42912
|
+
this.log?.(`creating access handles for ${file.path}`);
|
|
42913
|
+
await Promise.all(DB_RELATED_FILE_SUFFIXES.map(async (suffix) => {
|
|
42914
|
+
const persistentFile = this.persistentFiles.get(file.path + suffix);
|
|
42915
|
+
if (persistentFile) {
|
|
42916
|
+
persistentFile.accessHandle = await persistentFile.fileHandle.createSyncAccessHandle();
|
|
42917
|
+
}
|
|
42918
|
+
}));
|
|
42919
|
+
}
|
|
42920
|
+
catch (e) {
|
|
42921
|
+
this.log?.(`failed to create access handles for ${file.path}`, e);
|
|
42922
|
+
// Close any of the potentially opened access handles
|
|
42923
|
+
DB_RELATED_FILE_SUFFIXES.forEach(async (suffix) => {
|
|
42924
|
+
const persistentFile = this.persistentFiles.get(file.path + suffix);
|
|
42925
|
+
if (persistentFile) {
|
|
42926
|
+
persistentFile.accessHandle?.close();
|
|
42927
|
+
}
|
|
42928
|
+
});
|
|
42929
|
+
// Release the lock, if we failed here, we'd need to obtain the lock later in order to retry
|
|
42930
|
+
file.persistentFile.handleLockReleaser();
|
|
42931
|
+
throw e;
|
|
42932
|
+
}
|
|
42933
|
+
finally {
|
|
42934
|
+
file.persistentFile.isRequestInProgress = false;
|
|
42935
|
+
}
|
|
42936
|
+
})());
|
|
42937
|
+
return this._module.retryOps.at(-1);
|
|
42938
|
+
}
|
|
42939
|
+
return Promise.resolve();
|
|
42940
|
+
}
|
|
42941
|
+
/**
|
|
42942
|
+
* @param {File} file
|
|
42943
|
+
*/
|
|
42944
|
+
async #releaseAccessHandle(file) {
|
|
42945
|
+
DB_RELATED_FILE_SUFFIXES.forEach(async (suffix) => {
|
|
42946
|
+
const persistentFile = this.persistentFiles.get(file.path + suffix);
|
|
42947
|
+
if (persistentFile) {
|
|
42948
|
+
persistentFile.accessHandle?.close();
|
|
42949
|
+
persistentFile.accessHandle = null;
|
|
42950
|
+
}
|
|
42951
|
+
});
|
|
42952
|
+
this.log?.(`access handles closed for ${file.path}`);
|
|
42953
|
+
file.persistentFile.handleLockReleaser?.();
|
|
42954
|
+
file.persistentFile.handleLockReleaser = null;
|
|
42955
|
+
this.log?.(`lock released for ${file.path}`);
|
|
42956
|
+
}
|
|
42957
|
+
/**
|
|
42958
|
+
* @param {PersistentFile} persistentFile
|
|
42959
|
+
* @returns {Promise<function>} lock releaser
|
|
42960
|
+
*/
|
|
42961
|
+
#acquireLock(persistentFile) {
|
|
42962
|
+
return new Promise((resolve) => {
|
|
42963
|
+
// Tell other connections we want the access handle.
|
|
42964
|
+
const lockName = persistentFile.handleRequestChannel.name;
|
|
42965
|
+
const notify = () => {
|
|
42966
|
+
this.log?.(`notifying for ${lockName}`);
|
|
42967
|
+
persistentFile.handleRequestChannel.postMessage(null);
|
|
42968
|
+
};
|
|
42969
|
+
const notifyId = setInterval(notify, LOCK_NOTIFY_INTERVAL);
|
|
42970
|
+
setTimeout(notify);
|
|
42971
|
+
this.log?.(`lock requested: ${lockName}`);
|
|
42972
|
+
navigator.locks.request(lockName, (lock) => {
|
|
42973
|
+
// We have the lock. Stop asking other connections for it.
|
|
42974
|
+
this.log?.(`lock acquired: ${lockName}`, lock);
|
|
42975
|
+
clearInterval(notifyId);
|
|
42976
|
+
return new Promise(resolve);
|
|
42977
|
+
});
|
|
42978
|
+
});
|
|
42979
|
+
}
|
|
42980
|
+
}
|
|
42981
|
+
function extractString(dataView, offset) {
|
|
42982
|
+
const p = dataView.getUint32(offset, true);
|
|
42983
|
+
if (p) {
|
|
42984
|
+
const chars = new Uint8Array(dataView.buffer, p);
|
|
42985
|
+
return new TextDecoder().decode(chars.subarray(0, chars.indexOf(0)));
|
|
42986
|
+
}
|
|
42987
|
+
return null;
|
|
42988
|
+
}
|
|
42989
|
+
|
|
42990
|
+
|
|
40642
42991
|
/***/ }),
|
|
40643
42992
|
|
|
40644
42993
|
/***/ "./lib/src/worker/sync/AbstractSharedSyncClientProvider.js":
|
|
@@ -41229,7 +43578,13 @@ class SharedSyncImplementation extends _powersync_common__WEBPACK_IMPORTED_MODUL
|
|
|
41229
43578
|
}
|
|
41230
43579
|
};
|
|
41231
43580
|
client.closeListeners.push(closeListener);
|
|
41232
|
-
const workerPort = await withAbort(
|
|
43581
|
+
const workerPort = await withAbort({
|
|
43582
|
+
action: () => client.clientProvider.getDBWorkerPort(),
|
|
43583
|
+
signal: abortController.signal,
|
|
43584
|
+
cleanupOnAbort: (port) => {
|
|
43585
|
+
port.close();
|
|
43586
|
+
}
|
|
43587
|
+
}).catch((ex) => {
|
|
41233
43588
|
removeCloseListener();
|
|
41234
43589
|
throw ex;
|
|
41235
43590
|
});
|
|
@@ -41241,7 +43596,13 @@ class SharedSyncImplementation extends _powersync_common__WEBPACK_IMPORTED_MODUL
|
|
|
41241
43596
|
* We typically execute the closeListeners using the portMutex in a different context.
|
|
41242
43597
|
* We can't rely on the closeListeners to abort the operation if the tab is closed.
|
|
41243
43598
|
*/
|
|
41244
|
-
const db = await withAbort(
|
|
43599
|
+
const db = await withAbort({
|
|
43600
|
+
action: () => remote(this.syncParams.dbParams),
|
|
43601
|
+
signal: abortController.signal,
|
|
43602
|
+
cleanupOnAbort: (db) => {
|
|
43603
|
+
db.close();
|
|
43604
|
+
}
|
|
43605
|
+
}).finally(() => {
|
|
41245
43606
|
// We can remove the close listener here since we no longer need it past this point.
|
|
41246
43607
|
removeCloseListener();
|
|
41247
43608
|
});
|
|
@@ -41284,7 +43645,8 @@ class SharedSyncImplementation extends _powersync_common__WEBPACK_IMPORTED_MODUL
|
|
|
41284
43645
|
/**
|
|
41285
43646
|
* Runs the action with an abort controller.
|
|
41286
43647
|
*/
|
|
41287
|
-
function withAbort(
|
|
43648
|
+
function withAbort(options) {
|
|
43649
|
+
const { action, signal, cleanupOnAbort } = options;
|
|
41288
43650
|
return new Promise((resolve, reject) => {
|
|
41289
43651
|
if (signal.aborted) {
|
|
41290
43652
|
reject(new _powersync_common__WEBPACK_IMPORTED_MODULE_0__.AbortOperation('Operation aborted by abort controller'));
|
|
@@ -41300,7 +43662,13 @@ function withAbort(action, signal) {
|
|
|
41300
43662
|
action();
|
|
41301
43663
|
}
|
|
41302
43664
|
action()
|
|
41303
|
-
.then((data) =>
|
|
43665
|
+
.then((data) => {
|
|
43666
|
+
// We already rejected due to the abort, allow for cleanup
|
|
43667
|
+
if (signal.aborted) {
|
|
43668
|
+
return completePromise(() => cleanupOnAbort?.(data));
|
|
43669
|
+
}
|
|
43670
|
+
completePromise(() => resolve(data));
|
|
43671
|
+
})
|
|
41304
43672
|
.catch((e) => completePromise(() => reject(e)));
|
|
41305
43673
|
});
|
|
41306
43674
|
}
|
|
@@ -41421,17 +43789,6 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__journeyapps_wa_sqlite_src_examples_I
|
|
|
41421
43789
|
|
|
41422
43790
|
/***/ }),
|
|
41423
43791
|
|
|
41424
|
-
/***/ "@journeyapps/wa-sqlite/src/examples/OPFSCoopSyncVFS.js":
|
|
41425
|
-
/*!*************************************************************************!*\
|
|
41426
|
-
!*** external "@journeyapps/wa-sqlite/src/examples/OPFSCoopSyncVFS.js" ***!
|
|
41427
|
-
\*************************************************************************/
|
|
41428
|
-
/***/ ((module) => {
|
|
41429
|
-
|
|
41430
|
-
"use strict";
|
|
41431
|
-
module.exports = __WEBPACK_EXTERNAL_MODULE__journeyapps_wa_sqlite_src_examples_OPFSCoopSyncVFS_js__;
|
|
41432
|
-
|
|
41433
|
-
/***/ }),
|
|
41434
|
-
|
|
41435
43792
|
/***/ "@powersync/common":
|
|
41436
43793
|
/*!************************************!*\
|
|
41437
43794
|
!*** external "@powersync/common" ***!
|