@powersync/web 0.0.0-dev-20250318143512 → 0.0.0-dev-20250416114737

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. package/bin/powersync.js +3 -1
  2. package/dist/{_journeyapps_wa-sqlite-_journeyapps_wa-sqlite_src_examples_IDBBatchAtomicVFS_js-_powersync_co-780aa20.index.umd.js → _journeyapps_wa-sqlite-_journeyapps_wa-sqlite_src_examples_AccessHandlePoolVFS_js-_journeyapp-81d3460.index.umd.js} +27 -7
  3. package/dist/_journeyapps_wa-sqlite-_journeyapps_wa-sqlite_src_examples_AccessHandlePoolVFS_js-_journeyapp-81d3460.index.umd.js.map +1 -0
  4. package/dist/{_journeyapps_wa-sqlite-_journeyapps_wa-sqlite_src_examples_IDBBatchAtomicVFS_js-_powersync_co-780aa21.index.umd.js → _journeyapps_wa-sqlite-_journeyapps_wa-sqlite_src_examples_AccessHandlePoolVFS_js-_journeyapp-81d3461.index.umd.js} +27 -7
  5. package/dist/_journeyapps_wa-sqlite-_journeyapps_wa-sqlite_src_examples_AccessHandlePoolVFS_js-_journeyapp-81d3461.index.umd.js.map +1 -0
  6. package/dist/index.umd.js +88 -2666
  7. package/dist/index.umd.js.map +1 -1
  8. package/dist/worker/SharedSyncImplementation.umd.js +27 -10
  9. package/dist/worker/SharedSyncImplementation.umd.js.map +1 -1
  10. package/dist/worker/WASQLiteDB.umd.js +46 -26
  11. package/dist/worker/WASQLiteDB.umd.js.map +1 -1
  12. package/lib/package.json +2 -2
  13. package/lib/src/db/adapters/AsyncDatabaseConnection.d.ts +1 -0
  14. package/lib/src/db/adapters/LockedAsyncDatabaseAdapter.d.ts +5 -0
  15. package/lib/src/db/adapters/LockedAsyncDatabaseAdapter.js +14 -3
  16. package/lib/src/db/adapters/SSRDBAdapter.d.ts +1 -0
  17. package/lib/src/db/adapters/SSRDBAdapter.js +3 -0
  18. package/lib/src/db/adapters/WorkerWrappedAsyncDatabaseConnection.d.ts +1 -0
  19. package/lib/src/db/adapters/WorkerWrappedAsyncDatabaseConnection.js +4 -1
  20. package/lib/src/db/adapters/wa-sqlite/WASQLiteConnection.d.ts +6 -0
  21. package/lib/src/db/adapters/wa-sqlite/WASQLiteConnection.js +36 -20
  22. package/lib/src/worker/db/WASQLiteDB.worker.js +1 -0
  23. package/lib/tsconfig.tsbuildinfo +1 -1
  24. package/package.json +3 -3
  25. package/dist/_journeyapps_wa-sqlite-_journeyapps_wa-sqlite_src_examples_IDBBatchAtomicVFS_js-_powersync_co-780aa20.index.umd.js.map +0 -1
  26. package/dist/_journeyapps_wa-sqlite-_journeyapps_wa-sqlite_src_examples_IDBBatchAtomicVFS_js-_powersync_co-780aa21.index.umd.js.map +0 -1
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("js-logger"), require("@journeyapps/wa-sqlite/src/examples/IDBBatchAtomicVFS.js"));
3
+ module.exports = factory(require("@powersync/common"), require("async-mutex"), require("comlink"), require("@journeyapps/wa-sqlite"), require("js-logger"), require("@journeyapps/wa-sqlite/src/examples/OPFSCoopSyncVFS.js"), 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", "js-logger", "@journeyapps/wa-sqlite/src/examples/IDBBatchAtomicVFS.js"], factory);
5
+ define(["@powersync/common", "async-mutex", "comlink", "@journeyapps/wa-sqlite", "js-logger", "@journeyapps/wa-sqlite/src/examples/OPFSCoopSyncVFS.js", "@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("js-logger"), require("@journeyapps/wa-sqlite/src/examples/IDBBatchAtomicVFS.js"));
7
+ exports["sdk_web"] = factory(require("@powersync/common"), require("async-mutex"), require("comlink"), require("@journeyapps/wa-sqlite"), require("js-logger"), require("@journeyapps/wa-sqlite/src/examples/OPFSCoopSyncVFS.js"), 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["js-logger"], 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_js_logger__, __WEBPACK_EXTERNAL_MODULE__journeyapps_wa_sqlite_src_examples_IDBBatchAtomicVFS_js__) => {
9
+ root["sdk_web"] = factory(root["@powersync/common"], root["async-mutex"], root["comlink"], root["@journeyapps/wa-sqlite"], root["js-logger"], root["@journeyapps/wa-sqlite/src/examples/OPFSCoopSyncVFS.js"], 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_js_logger__, __WEBPACK_EXTERNAL_MODULE__journeyapps_wa_sqlite_src_examples_OPFSCoopSyncVFS_js__, __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
 
@@ -33780,7 +33780,8 @@ class LockedAsyncDatabaseAdapter extends _powersync_common__WEBPACK_IMPORTED_MOD
33780
33780
  };
33781
33781
  }
33782
33782
  this.dbGetHelpers = this.generateDBHelpers({
33783
- execute: (query, params) => this.acquireLock(() => this._execute(query, params))
33783
+ execute: (query, params) => this.acquireLock(() => this._execute(query, params)),
33784
+ executeRaw: (query, params) => this.acquireLock(() => this._executeRaw(query, params))
33784
33785
  });
33785
33786
  this.initPromise = this._init();
33786
33787
  }
@@ -33838,6 +33839,9 @@ class LockedAsyncDatabaseAdapter extends _powersync_common__WEBPACK_IMPORTED_MOD
33838
33839
  async execute(query, params) {
33839
33840
  return this.writeLock((ctx) => ctx.execute(query, params));
33840
33841
  }
33842
+ async executeRaw(query, params) {
33843
+ return this.writeLock((ctx) => ctx.executeRaw(query, params));
33844
+ }
33841
33845
  async executeBatch(query, params) {
33842
33846
  return this.writeLock((ctx) => this._executeBatch(query, params));
33843
33847
  }
@@ -33864,11 +33868,11 @@ class LockedAsyncDatabaseAdapter extends _powersync_common__WEBPACK_IMPORTED_MOD
33864
33868
  }
33865
33869
  async readLock(fn, options) {
33866
33870
  await this.waitForInitialized();
33867
- return this.acquireLock(async () => fn(this.generateDBHelpers({ execute: this._execute })));
33871
+ return this.acquireLock(async () => fn(this.generateDBHelpers({ execute: this._execute, executeRaw: this._executeRaw })));
33868
33872
  }
33869
33873
  async writeLock(fn, options) {
33870
33874
  await this.waitForInitialized();
33871
- return this.acquireLock(async () => fn(this.generateDBHelpers({ execute: this._execute })));
33875
+ return this.acquireLock(async () => fn(this.generateDBHelpers({ execute: this._execute, executeRaw: this._executeRaw })));
33872
33876
  }
33873
33877
  acquireLock(callback) {
33874
33878
  return (0,_shared_navigator__WEBPACK_IMPORTED_MODULE_2__.getNavigatorLocks)().request(`db-lock-${this._dbIdentifier}`, callback);
@@ -33965,6 +33969,13 @@ class LockedAsyncDatabaseAdapter extends _powersync_common__WEBPACK_IMPORTED_MOD
33965
33969
  }
33966
33970
  };
33967
33971
  };
33972
+ /**
33973
+ * Wraps the worker executeRaw function, awaiting for it to be available
33974
+ */
33975
+ _executeRaw = async (sql, bindings) => {
33976
+ await this.waitForInitialized();
33977
+ return await this.baseDB.executeRaw(sql, bindings);
33978
+ };
33968
33979
  /**
33969
33980
  * Wraps the worker executeBatch function, awaiting for it to be available
33970
33981
  */
@@ -34032,6 +34043,9 @@ class SSRDBAdapter extends _powersync_common__WEBPACK_IMPORTED_MODULE_0__.BaseOb
34032
34043
  async execute(query, params) {
34033
34044
  return this.writeMutex.runExclusive(async () => MOCK_QUERY_RESPONSE);
34034
34045
  }
34046
+ async executeRaw(query, params) {
34047
+ return this.writeMutex.runExclusive(async () => []);
34048
+ }
34035
34049
  async executeBatch(query, params) {
34036
34050
  return this.writeMutex.runExclusive(async () => MOCK_QUERY_RESPONSE);
34037
34051
  }
@@ -34110,7 +34124,7 @@ class WorkerWrappedAsyncDatabaseConnection {
34110
34124
  * The `shareConnection` method should not be called on multiple tabs concurrently.
34111
34125
  */
34112
34126
  await new Promise((resolve, reject) => navigator.locks
34113
- .request(`shared-connection-${this.options.identifier}`, {
34127
+ .request(`shared-connection-${this.options.identifier}-${Date.now()}-${Math.round(Math.random() * 10000)}`, {
34114
34128
  signal: this.lockAbortController.signal
34115
34129
  }, async () => {
34116
34130
  resolve();
@@ -34154,6 +34168,9 @@ class WorkerWrappedAsyncDatabaseConnection {
34154
34168
  execute(sql, params) {
34155
34169
  return this.baseConnection.execute(sql, params);
34156
34170
  }
34171
+ executeRaw(sql, params) {
34172
+ return this.baseConnection.executeRaw(sql, params);
34173
+ }
34157
34174
  executeBatch(sql, params) {
34158
34175
  return this.baseConnection.executeBatch(sql, params);
34159
34176
  }
@@ -34256,7 +34273,7 @@ const DEFAULT_MODULE_FACTORIES = {
34256
34273
  module = await SyncWASQLiteModuleFactory();
34257
34274
  }
34258
34275
  // @ts-expect-error The types for this static method are missing upstream
34259
- const { AccessHandlePoolVFS } = await Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! @journeyapps/wa-sqlite/src/examples/AccessHandlePoolVFS.js */ "./node_modules/@journeyapps/wa-sqlite/src/examples/AccessHandlePoolVFS.js"));
34276
+ const { AccessHandlePoolVFS } = await Promise.resolve(/*! import() */).then(__webpack_require__.t.bind(__webpack_require__, /*! @journeyapps/wa-sqlite/src/examples/AccessHandlePoolVFS.js */ "@journeyapps/wa-sqlite/src/examples/AccessHandlePoolVFS.js", 23));
34260
34277
  return {
34261
34278
  module,
34262
34279
  vfs: await AccessHandlePoolVFS.create(options.dbFileName, module)
@@ -34271,7 +34288,7 @@ const DEFAULT_MODULE_FACTORIES = {
34271
34288
  module = await SyncWASQLiteModuleFactory();
34272
34289
  }
34273
34290
  // @ts-expect-error The types for this static method are missing upstream
34274
- const { OPFSCoopSyncVFS } = await Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! @journeyapps/wa-sqlite/src/examples/OPFSCoopSyncVFS.js */ "./node_modules/@journeyapps/wa-sqlite/src/examples/OPFSCoopSyncVFS.js"));
34291
+ 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));
34275
34292
  return {
34276
34293
  module,
34277
34294
  vfs: await OPFSCoopSyncVFS.create(options.dbFileName, module)
@@ -34374,8 +34391,8 @@ class WASqliteConnection extends _powersync_common__WEBPACK_IMPORTED_MODULE_1__.
34374
34391
  await this.openDB();
34375
34392
  this.registerBroadcastListeners();
34376
34393
  await this.executeSingleStatement(`PRAGMA temp_store = ${this.options.temporaryStorage};`);
34377
- await this.executeSingleStatement(`PRAGMA cache_size = -${this.options.cacheSizeKb};`);
34378
34394
  await this.executeEncryptionPragma();
34395
+ await this.executeSingleStatement(`PRAGMA cache_size = -${this.options.cacheSizeKb};`);
34379
34396
  this.sqliteAPI.update_hook(this.dbP, (updateType, dbName, tableName) => {
34380
34397
  if (!tableName) {
34381
34398
  return;
@@ -34461,6 +34478,11 @@ class WASqliteConnection extends _powersync_common__WEBPACK_IMPORTED_MODULE_1__.
34461
34478
  return this.executeSingleStatement(sql, bindings);
34462
34479
  });
34463
34480
  }
34481
+ async executeRaw(sql, bindings) {
34482
+ return this.acquireExecuteLock(async () => {
34483
+ return this.executeSingleStatementRaw(sql, bindings);
34484
+ });
34485
+ }
34464
34486
  async close() {
34465
34487
  this.broadcastChannel?.close();
34466
34488
  await this.sqliteAPI.close(this.dbP);
@@ -34481,6 +34503,35 @@ class WASqliteConnection extends _powersync_common__WEBPACK_IMPORTED_MODULE_1__.
34481
34503
  * This executes a single statement using SQLite3.
34482
34504
  */
34483
34505
  async executeSingleStatement(sql, bindings) {
34506
+ const results = await this._execute(sql, bindings);
34507
+ const rows = [];
34508
+ for (const resultSet of results) {
34509
+ for (const row of resultSet.rows) {
34510
+ const outRow = {};
34511
+ resultSet.columns.forEach((key, index) => {
34512
+ outRow[key] = row[index];
34513
+ });
34514
+ rows.push(outRow);
34515
+ }
34516
+ }
34517
+ const result = {
34518
+ insertId: this.sqliteAPI.last_insert_id(this.dbP),
34519
+ rowsAffected: this.sqliteAPI.changes(this.dbP),
34520
+ rows: {
34521
+ _array: rows,
34522
+ length: rows.length
34523
+ }
34524
+ };
34525
+ return result;
34526
+ }
34527
+ /**
34528
+ * This executes a single statement using SQLite3 and returns the results as an array of arrays.
34529
+ */
34530
+ async executeSingleStatementRaw(sql, bindings) {
34531
+ const results = await this._execute(sql, bindings);
34532
+ return results.flatMap((resultset) => resultset.rows.map((row) => resultset.columns.map((_, index) => row[index])));
34533
+ }
34534
+ async _execute(sql, bindings) {
34484
34535
  const results = [];
34485
34536
  for await (const stmt of this.sqliteAPI.statements(this.dbP, sql)) {
34486
34537
  let columns;
@@ -34511,25 +34562,7 @@ class WASqliteConnection extends _powersync_common__WEBPACK_IMPORTED_MODULE_1__.
34511
34562
  break;
34512
34563
  }
34513
34564
  }
34514
- const rows = [];
34515
- for (const resultSet of results) {
34516
- for (const row of resultSet.rows) {
34517
- const outRow = {};
34518
- resultSet.columns.forEach((key, index) => {
34519
- outRow[key] = row[index];
34520
- });
34521
- rows.push(outRow);
34522
- }
34523
- }
34524
- const result = {
34525
- insertId: this.sqliteAPI.last_insert_id(this.dbP),
34526
- rowsAffected: this.sqliteAPI.changes(this.dbP),
34527
- rows: {
34528
- _array: rows,
34529
- length: rows.length
34530
- }
34531
- };
34532
- return result;
34565
+ return results;
34533
34566
  }
34534
34567
  }
34535
34568
 
@@ -35346,12 +35379,12 @@ function openWorkerDatabasePort(workerIdentifier, multipleTabs = true, worker =
35346
35379
  * (in the case of Android)
35347
35380
  */
35348
35381
  return !needsDedicated && multipleTabs
35349
- ? new SharedWorker(new URL(/* worker import */ __webpack_require__.p + __webpack_require__.u("_journeyapps_wa-sqlite-_journeyapps_wa-sqlite_src_examples_IDBBatchAtomicVFS_js-_powersync_co-780aa20"), __webpack_require__.b), {
35382
+ ? new SharedWorker(new URL(/* worker import */ __webpack_require__.p + __webpack_require__.u("_journeyapps_wa-sqlite-_journeyapps_wa-sqlite_src_examples_AccessHandlePoolVFS_js-_journeyapp-81d3460"), __webpack_require__.b), {
35350
35383
  /* @vite-ignore */
35351
35384
  name: `shared-DB-worker-${workerIdentifier}`,
35352
35385
  type: undefined
35353
35386
  }).port
35354
- : new Worker(new URL(/* worker import */ __webpack_require__.p + __webpack_require__.u("_journeyapps_wa-sqlite-_journeyapps_wa-sqlite_src_examples_IDBBatchAtomicVFS_js-_powersync_co-780aa21"), __webpack_require__.b), {
35387
+ : new Worker(new URL(/* worker import */ __webpack_require__.p + __webpack_require__.u("_journeyapps_wa-sqlite-_journeyapps_wa-sqlite_src_examples_AccessHandlePoolVFS_js-_journeyapp-81d3461"), __webpack_require__.b), {
35355
35388
  /* @vite-ignore */
35356
35389
  name: `DB-worker-${workerIdentifier}`,
35357
35390
  type: undefined
@@ -35902,6 +35935,17 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__journeyapps_wa_sqlite__;
35902
35935
 
35903
35936
  /***/ }),
35904
35937
 
35938
+ /***/ "@journeyapps/wa-sqlite/src/examples/AccessHandlePoolVFS.js":
35939
+ /*!*****************************************************************************!*\
35940
+ !*** external "@journeyapps/wa-sqlite/src/examples/AccessHandlePoolVFS.js" ***!
35941
+ \*****************************************************************************/
35942
+ /***/ ((module) => {
35943
+
35944
+ "use strict";
35945
+ module.exports = __WEBPACK_EXTERNAL_MODULE__journeyapps_wa_sqlite_src_examples_AccessHandlePoolVFS_js__;
35946
+
35947
+ /***/ }),
35948
+
35905
35949
  /***/ "@journeyapps/wa-sqlite/src/examples/IDBBatchAtomicVFS.js":
35906
35950
  /*!***************************************************************************!*\
35907
35951
  !*** external "@journeyapps/wa-sqlite/src/examples/IDBBatchAtomicVFS.js" ***!
@@ -35913,6 +35957,17 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__journeyapps_wa_sqlite_src_examples_I
35913
35957
 
35914
35958
  /***/ }),
35915
35959
 
35960
+ /***/ "@journeyapps/wa-sqlite/src/examples/OPFSCoopSyncVFS.js":
35961
+ /*!*************************************************************************!*\
35962
+ !*** external "@journeyapps/wa-sqlite/src/examples/OPFSCoopSyncVFS.js" ***!
35963
+ \*************************************************************************/
35964
+ /***/ ((module) => {
35965
+
35966
+ "use strict";
35967
+ module.exports = __WEBPACK_EXTERNAL_MODULE__journeyapps_wa_sqlite_src_examples_OPFSCoopSyncVFS_js__;
35968
+
35969
+ /***/ }),
35970
+
35916
35971
  /***/ "@powersync/common":
35917
35972
  /*!************************************!*\
35918
35973
  !*** external "@powersync/common" ***!
@@ -40463,2639 +40518,6 @@ exports.setInternalBufferSize = setInternalBufferSize;
40463
40518
  //# sourceMappingURL=bson.cjs.map
40464
40519
 
40465
40520
 
40466
- /***/ }),
40467
-
40468
- /***/ "./node_modules/@journeyapps/wa-sqlite/src/FacadeVFS.js":
40469
- /*!**************************************************************!*\
40470
- !*** ./node_modules/@journeyapps/wa-sqlite/src/FacadeVFS.js ***!
40471
- \**************************************************************/
40472
- /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
40473
-
40474
- "use strict";
40475
- __webpack_require__.r(__webpack_exports__);
40476
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
40477
- /* harmony export */ FacadeVFS: () => (/* binding */ FacadeVFS)
40478
- /* harmony export */ });
40479
- /* harmony import */ var _VFS_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./VFS.js */ "./node_modules/@journeyapps/wa-sqlite/src/VFS.js");
40480
- // Copyright 2024 Roy T. Hashimoto. All Rights Reserved.
40481
-
40482
-
40483
- const AsyncFunction = Object.getPrototypeOf(async function(){}).constructor;
40484
-
40485
- // Milliseconds since Julian epoch as a BigInt.
40486
- // https://github.com/sqlite/sqlite/blob/e57527c14f7b7cfa6e32eeab5c549d50c4fa3674/src/os_unix.c#L6872-L6882
40487
- const UNIX_EPOCH = 24405875n * 8640000n;
40488
-
40489
- // Convenience base class for a JavaScript VFS.
40490
- // The raw xOpen, xRead, etc. function signatures receive only C primitives
40491
- // which aren't easy to work with. This class provides corresponding calls
40492
- // like jOpen, jRead, etc., which receive JavaScript-friendlier arguments
40493
- // such as string, Uint8Array, and DataView.
40494
- class FacadeVFS extends _VFS_js__WEBPACK_IMPORTED_MODULE_0__.Base {
40495
- /**
40496
- * @param {string} name
40497
- * @param {object} module
40498
- */
40499
- constructor(name, module) {
40500
- super(name, module);
40501
- }
40502
-
40503
- /**
40504
- * Override to indicate which methods are asynchronous.
40505
- * @param {string} methodName
40506
- * @returns {boolean}
40507
- */
40508
- hasAsyncMethod(methodName) {
40509
- // The input argument is a string like "xOpen", so convert to "jOpen".
40510
- // Then check if the method exists and is async.
40511
- const jMethodName = `j${methodName.slice(1)}`;
40512
- return this[jMethodName] instanceof AsyncFunction;
40513
- }
40514
-
40515
- /**
40516
- * Return the filename for a file id for use by mixins.
40517
- * @param {number} pFile
40518
- * @returns {string}
40519
- */
40520
- getFilename(pFile) {
40521
- throw new Error('unimplemented');
40522
- }
40523
-
40524
- /**
40525
- * @param {string?} filename
40526
- * @param {number} pFile
40527
- * @param {number} flags
40528
- * @param {DataView} pOutFlags
40529
- * @returns {number|Promise<number>}
40530
- */
40531
- jOpen(filename, pFile, flags, pOutFlags) {
40532
- return _VFS_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CANTOPEN;
40533
- }
40534
-
40535
- /**
40536
- * @param {string} filename
40537
- * @param {number} syncDir
40538
- * @returns {number|Promise<number>}
40539
- */
40540
- jDelete(filename, syncDir) {
40541
- return _VFS_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OK;
40542
- }
40543
-
40544
- /**
40545
- * @param {string} filename
40546
- * @param {number} flags
40547
- * @param {DataView} pResOut
40548
- * @returns {number|Promise<number>}
40549
- */
40550
- jAccess(filename, flags, pResOut) {
40551
- return _VFS_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OK;
40552
- }
40553
-
40554
- /**
40555
- * @param {string} filename
40556
- * @param {Uint8Array} zOut
40557
- * @returns {number|Promise<number>}
40558
- */
40559
- jFullPathname(filename, zOut) {
40560
- // Copy the filename to the output buffer.
40561
- const { read, written } = new TextEncoder().encodeInto(filename, zOut);
40562
- if (read < filename.length) return _VFS_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR;
40563
- if (written >= zOut.length) return _VFS_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR;
40564
- zOut[written] = 0;
40565
- return _VFS_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OK;
40566
- }
40567
-
40568
- /**
40569
- * @param {Uint8Array} zBuf
40570
- * @returns {number|Promise<number>}
40571
- */
40572
- jGetLastError(zBuf) {
40573
- return _VFS_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OK;
40574
- }
40575
-
40576
- /**
40577
- * @param {number} pFile
40578
- * @returns {number|Promise<number>}
40579
- */
40580
- jClose(pFile) {
40581
- return _VFS_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OK;
40582
- }
40583
-
40584
- /**
40585
- * @param {number} pFile
40586
- * @param {Uint8Array} pData
40587
- * @param {number} iOffset
40588
- * @returns {number|Promise<number>}
40589
- */
40590
- jRead(pFile, pData, iOffset) {
40591
- pData.fill(0);
40592
- return _VFS_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_SHORT_READ;
40593
- }
40594
-
40595
- /**
40596
- * @param {number} pFile
40597
- * @param {Uint8Array} pData
40598
- * @param {number} iOffset
40599
- * @returns {number|Promise<number>}
40600
- */
40601
- jWrite(pFile, pData, iOffset) {
40602
- return _VFS_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_WRITE;
40603
- }
40604
-
40605
- /**
40606
- * @param {number} pFile
40607
- * @param {number} size
40608
- * @returns {number|Promise<number>}
40609
- */
40610
- jTruncate(pFile, size) {
40611
- return _VFS_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OK;
40612
- }
40613
-
40614
- /**
40615
- * @param {number} pFile
40616
- * @param {number} flags
40617
- * @returns {number|Promise<number>}
40618
- */
40619
- jSync(pFile, flags) {
40620
- return _VFS_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OK;
40621
- }
40622
-
40623
- /**
40624
- * @param {number} pFile
40625
- * @param {DataView} pSize
40626
- * @returns {number|Promise<number>}
40627
- */
40628
- jFileSize(pFile, pSize) {
40629
- return _VFS_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OK;
40630
- }
40631
-
40632
- /**
40633
- * @param {number} pFile
40634
- * @param {number} lockType
40635
- * @returns {number|Promise<number>}
40636
- */
40637
- jLock(pFile, lockType) {
40638
- return _VFS_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OK;
40639
- }
40640
-
40641
- /**
40642
- * @param {number} pFile
40643
- * @param {number} lockType
40644
- * @returns {number|Promise<number>}
40645
- */
40646
- jUnlock(pFile, lockType) {
40647
- return _VFS_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OK;
40648
- }
40649
-
40650
- /**
40651
- * @param {number} pFile
40652
- * @param {DataView} pResOut
40653
- * @returns {number|Promise<number>}
40654
- */
40655
- jCheckReservedLock(pFile, pResOut) {
40656
- pResOut.setInt32(0, 0, true);
40657
- return _VFS_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OK;
40658
- }
40659
-
40660
- /**
40661
- * @param {number} pFile
40662
- * @param {number} op
40663
- * @param {DataView} pArg
40664
- * @returns {number|Promise<number>}
40665
- */
40666
- jFileControl(pFile, op, pArg) {
40667
- return _VFS_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_NOTFOUND;
40668
- }
40669
-
40670
- /**
40671
- * @param {number} pFile
40672
- * @returns {number|Promise<number>}
40673
- */
40674
- jSectorSize(pFile) {
40675
- return super.xSectorSize(pFile);
40676
- }
40677
-
40678
- /**
40679
- * @param {number} pFile
40680
- * @returns {number|Promise<number>}
40681
- */
40682
- jDeviceCharacteristics(pFile) {
40683
- return 0;
40684
- }
40685
-
40686
- /**
40687
- * @param {number} pVfs
40688
- * @param {number} zName
40689
- * @param {number} pFile
40690
- * @param {number} flags
40691
- * @param {number} pOutFlags
40692
- * @returns {number|Promise<number>}
40693
- */
40694
- xOpen(pVfs, zName, pFile, flags, pOutFlags) {
40695
- const filename = this.#decodeFilename(zName, flags);
40696
- const pOutFlagsView = this.#makeTypedDataView('Int32', pOutFlags);
40697
- this['log']?.('jOpen', filename, pFile, '0x' + flags.toString(16));
40698
- return this.jOpen(filename, pFile, flags, pOutFlagsView);
40699
- }
40700
-
40701
- /**
40702
- * @param {number} pVfs
40703
- * @param {number} nByte
40704
- * @param {number} pCharOut
40705
- * @returns {number|Promise<number>}
40706
- */
40707
- xRandomness(pVfs, nByte, pCharOut) {
40708
- const randomArray = new Uint8Array(nByte);
40709
- crypto.getRandomValues(randomArray);
40710
- // Copy randomArray to the WebAssembly memory
40711
- const buffer = pCharOut; // Pointer to memory in WebAssembly
40712
- this._module.HEAPU8.set(randomArray, buffer); // Copy randomArray into memory starting at buffer
40713
- return nByte;
40714
- }
40715
-
40716
- /**
40717
- * Gets the current time as milliseconds since Unix epoch
40718
- * @param {number} pVfs pointer to the VFS
40719
- * @param {number} pTime pointer to write the time value
40720
- * @returns {number} SQLite error code
40721
- */
40722
- xCurrentTimeInt64(pVfs, pTime) {
40723
- // Create a DataView to write the current time
40724
- const timeView = this.#makeTypedDataView('BigInt64', pTime);
40725
-
40726
- const currentTime = BigInt(Date.now());
40727
- // Convert the current time to milliseconds since Unix epoch
40728
- const value = UNIX_EPOCH + currentTime;
40729
-
40730
- // Write the time value to the pointer location
40731
- timeView.setBigInt64(0, value, true);
40732
-
40733
- return _VFS_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OK;
40734
- }
40735
-
40736
- /**
40737
- * @param {number} pVfs
40738
- * @param {number} zName
40739
- * @param {number} syncDir
40740
- * @returns {number|Promise<number>}
40741
- */
40742
- xDelete(pVfs, zName, syncDir) {
40743
- const filename = this._module.UTF8ToString(zName);
40744
- this['log']?.('jDelete', filename, syncDir);
40745
- return this.jDelete(filename, syncDir);
40746
- }
40747
-
40748
- /**
40749
- * @param {number} pVfs
40750
- * @param {number} zName
40751
- * @param {number} flags
40752
- * @param {number} pResOut
40753
- * @returns {number|Promise<number>}
40754
- */
40755
- xAccess(pVfs, zName, flags, pResOut) {
40756
- const filename = this._module.UTF8ToString(zName);
40757
- const pResOutView = this.#makeTypedDataView('Int32', pResOut);
40758
- this['log']?.('jAccess', filename, flags);
40759
- return this.jAccess(filename, flags, pResOutView);
40760
- }
40761
-
40762
- /**
40763
- * @param {number} pVfs
40764
- * @param {number} zName
40765
- * @param {number} nOut
40766
- * @param {number} zOut
40767
- * @returns {number|Promise<number>}
40768
- */
40769
- xFullPathname(pVfs, zName, nOut, zOut) {
40770
- const filename = this._module.UTF8ToString(zName);
40771
- const zOutArray = this._module.HEAPU8.subarray(zOut, zOut + nOut);
40772
- this['log']?.('jFullPathname', filename, nOut);
40773
- return this.jFullPathname(filename, zOutArray);
40774
- }
40775
-
40776
- /**
40777
- * @param {number} pVfs
40778
- * @param {number} nBuf
40779
- * @param {number} zBuf
40780
- * @returns {number|Promise<number>}
40781
- */
40782
- xGetLastError(pVfs, nBuf, zBuf) {
40783
- const zBufArray = this._module.HEAPU8.subarray(zBuf, zBuf + nBuf);
40784
- this['log']?.('jGetLastError', nBuf);
40785
- return this.jGetLastError(zBufArray);
40786
- }
40787
-
40788
- /**
40789
- * @param {number} pFile
40790
- * @returns {number|Promise<number>}
40791
- */
40792
- xClose(pFile) {
40793
- this['log']?.('jClose', pFile);
40794
- return this.jClose(pFile);
40795
- }
40796
-
40797
- /**
40798
- * @param {number} pFile
40799
- * @param {number} pData
40800
- * @param {number} iAmt
40801
- * @param {number} iOffsetLo
40802
- * @param {number} iOffsetHi
40803
- * @returns {number|Promise<number>}
40804
- */
40805
- xRead(pFile, pData, iAmt, iOffsetLo, iOffsetHi) {
40806
- const pDataArray = this.#makeDataArray(pData, iAmt);
40807
- const iOffset = delegalize(iOffsetLo, iOffsetHi);
40808
- this['log']?.('jRead', pFile, iAmt, iOffset);
40809
- return this.jRead(pFile, pDataArray, iOffset);
40810
- }
40811
-
40812
- /**
40813
- * @param {number} pFile
40814
- * @param {number} pData
40815
- * @param {number} iAmt
40816
- * @param {number} iOffsetLo
40817
- * @param {number} iOffsetHi
40818
- * @returns {number|Promise<number>}
40819
- */
40820
- xWrite(pFile, pData, iAmt, iOffsetLo, iOffsetHi) {
40821
- const pDataArray = this.#makeDataArray(pData, iAmt);
40822
- const iOffset = delegalize(iOffsetLo, iOffsetHi);
40823
- this['log']?.('jWrite', pFile, pDataArray, iOffset);
40824
- return this.jWrite(pFile, pDataArray, iOffset);
40825
- }
40826
-
40827
- /**
40828
- * @param {number} pFile
40829
- * @param {number} sizeLo
40830
- * @param {number} sizeHi
40831
- * @returns {number|Promise<number>}
40832
- */
40833
- xTruncate(pFile, sizeLo, sizeHi) {
40834
- const size = delegalize(sizeLo, sizeHi);
40835
- this['log']?.('jTruncate', pFile, size);
40836
- return this.jTruncate(pFile, size);
40837
- }
40838
-
40839
- /**
40840
- * @param {number} pFile
40841
- * @param {number} flags
40842
- * @returns {number|Promise<number>}
40843
- */
40844
- xSync(pFile, flags) {
40845
- this['log']?.('jSync', pFile, flags);
40846
- return this.jSync(pFile, flags);
40847
- }
40848
-
40849
- /**
40850
- *
40851
- * @param {number} pFile
40852
- * @param {number} pSize
40853
- * @returns {number|Promise<number>}
40854
- */
40855
- xFileSize(pFile, pSize) {
40856
- const pSizeView = this.#makeTypedDataView('BigInt64', pSize);
40857
- this['log']?.('jFileSize', pFile);
40858
- return this.jFileSize(pFile, pSizeView);
40859
- }
40860
-
40861
- /**
40862
- * @param {number} pFile
40863
- * @param {number} lockType
40864
- * @returns {number|Promise<number>}
40865
- */
40866
- xLock(pFile, lockType) {
40867
- this['log']?.('jLock', pFile, lockType);
40868
- return this.jLock(pFile, lockType);
40869
- }
40870
-
40871
- /**
40872
- * @param {number} pFile
40873
- * @param {number} lockType
40874
- * @returns {number|Promise<number>}
40875
- */
40876
- xUnlock(pFile, lockType) {
40877
- this['log']?.('jUnlock', pFile, lockType);
40878
- return this.jUnlock(pFile, lockType);
40879
- }
40880
-
40881
- /**
40882
- * @param {number} pFile
40883
- * @param {number} pResOut
40884
- * @returns {number|Promise<number>}
40885
- */
40886
- xCheckReservedLock(pFile, pResOut) {
40887
- const pResOutView = this.#makeTypedDataView('Int32', pResOut);
40888
- this['log']?.('jCheckReservedLock', pFile);
40889
- return this.jCheckReservedLock(pFile, pResOutView);
40890
- }
40891
-
40892
- /**
40893
- * @param {number} pFile
40894
- * @param {number} op
40895
- * @param {number} pArg
40896
- * @returns {number|Promise<number>}
40897
- */
40898
- xFileControl(pFile, op, pArg) {
40899
- const pArgView = new DataView(
40900
- this._module.HEAPU8.buffer,
40901
- this._module.HEAPU8.byteOffset + pArg);
40902
- this['log']?.('jFileControl', pFile, op, pArgView);
40903
- return this.jFileControl(pFile, op, pArgView);
40904
- }
40905
-
40906
- /**
40907
- * @param {number} pFile
40908
- * @returns {number|Promise<number>}
40909
- */
40910
- xSectorSize(pFile) {
40911
- this['log']?.('jSectorSize', pFile);
40912
- return this.jSectorSize(pFile);
40913
- }
40914
-
40915
- /**
40916
- * @param {number} pFile
40917
- * @returns {number|Promise<number>}
40918
- */
40919
- xDeviceCharacteristics(pFile) {
40920
- this['log']?.('jDeviceCharacteristics', pFile);
40921
- return this.jDeviceCharacteristics(pFile);
40922
- }
40923
-
40924
- /**
40925
- * Wrapped DataView for pointer arguments.
40926
- * Pointers to a single value are passed using DataView. A Proxy
40927
- * wrapper prevents use of incorrect type or endianness.
40928
- * @param {'Int32'|'BigInt64'} type
40929
- * @param {number} byteOffset
40930
- * @returns {DataView}
40931
- */
40932
- #makeTypedDataView(type, byteOffset) {
40933
- const byteLength = type === 'Int32' ? 4 : 8;
40934
- const getter = `get${type}`;
40935
- const setter = `set${type}`;
40936
- const makeDataView = () => new DataView(
40937
- this._module.HEAPU8.buffer,
40938
- this._module.HEAPU8.byteOffset + byteOffset,
40939
- byteLength);
40940
- let dataView = makeDataView();
40941
- return new Proxy(dataView, {
40942
- get(_, prop) {
40943
- if (dataView.buffer.byteLength === 0) {
40944
- // WebAssembly memory resize detached the buffer.
40945
- dataView = makeDataView();
40946
- }
40947
- if (prop === getter) {
40948
- return function(byteOffset, littleEndian) {
40949
- if (!littleEndian) throw new Error('must be little endian');
40950
- return dataView[prop](byteOffset, littleEndian);
40951
- }
40952
- }
40953
- if (prop === setter) {
40954
- return function(byteOffset, value, littleEndian) {
40955
- if (!littleEndian) throw new Error('must be little endian');
40956
- return dataView[prop](byteOffset, value, littleEndian);
40957
- }
40958
- }
40959
- if (typeof prop === 'string' && (prop.match(/^(get)|(set)/))) {
40960
- throw new Error('invalid type');
40961
- }
40962
- const result = dataView[prop];
40963
- return typeof result === 'function' ? result.bind(dataView) : result;
40964
- }
40965
- });
40966
- }
40967
-
40968
- /**
40969
- * @param {number} byteOffset
40970
- * @param {number} byteLength
40971
- */
40972
- #makeDataArray(byteOffset, byteLength) {
40973
- let target = this._module.HEAPU8.subarray(byteOffset, byteOffset + byteLength);
40974
- return new Proxy(target, {
40975
- get: (_, prop, receiver) => {
40976
- if (target.buffer.byteLength === 0) {
40977
- // WebAssembly memory resize detached the buffer.
40978
- target = this._module.HEAPU8.subarray(byteOffset, byteOffset + byteLength);
40979
- }
40980
- const result = target[prop];
40981
- return typeof result === 'function' ? result.bind(target) : result;
40982
- }
40983
- });
40984
- }
40985
-
40986
- #decodeFilename(zName, flags) {
40987
- if (flags & _VFS_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_URI) {
40988
- // The first null-terminated string is the URI path. Subsequent
40989
- // strings are query parameter keys and values.
40990
- // https://www.sqlite.org/c3ref/open.html#urifilenamesinsqlite3open
40991
- let pName = zName;
40992
- let state = 1;
40993
- const charCodes = [];
40994
- while (state) {
40995
- const charCode = this._module.HEAPU8[pName++];
40996
- if (charCode) {
40997
- charCodes.push(charCode);
40998
- } else {
40999
- if (!this._module.HEAPU8[pName]) state = null;
41000
- switch (state) {
41001
- case 1: // path
41002
- charCodes.push('?'.charCodeAt(0));
41003
- state = 2;
41004
- break;
41005
- case 2: // key
41006
- charCodes.push('='.charCodeAt(0));
41007
- state = 3;
41008
- break;
41009
- case 3: // value
41010
- charCodes.push('&'.charCodeAt(0));
41011
- state = 2;
41012
- break;
41013
- }
41014
- }
41015
- }
41016
- return new TextDecoder().decode(new Uint8Array(charCodes));
41017
- }
41018
- return zName ? this._module.UTF8ToString(zName) : null;
41019
- }
41020
- }
41021
-
41022
- // Emscripten "legalizes" 64-bit integer arguments by passing them as
41023
- // two 32-bit signed integers.
41024
- function delegalize(lo32, hi32) {
41025
- return (hi32 * 0x100000000) + lo32 + (lo32 < 0 ? 2**32 : 0);
41026
- }
41027
-
41028
-
41029
- /***/ }),
41030
-
41031
- /***/ "./node_modules/@journeyapps/wa-sqlite/src/VFS.js":
41032
- /*!********************************************************!*\
41033
- !*** ./node_modules/@journeyapps/wa-sqlite/src/VFS.js ***!
41034
- \********************************************************/
41035
- /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
41036
-
41037
- "use strict";
41038
- __webpack_require__.r(__webpack_exports__);
41039
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
41040
- /* harmony export */ Base: () => (/* binding */ Base),
41041
- /* harmony export */ FILE_TYPE_MASK: () => (/* binding */ FILE_TYPE_MASK),
41042
- /* harmony export */ SQLITE_ABORT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_ABORT),
41043
- /* harmony export */ SQLITE_ACCESS_EXISTS: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_ACCESS_EXISTS),
41044
- /* harmony export */ SQLITE_ACCESS_READ: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_ACCESS_READ),
41045
- /* harmony export */ SQLITE_ACCESS_READWRITE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_ACCESS_READWRITE),
41046
- /* harmony export */ SQLITE_ALTER_TABLE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_ALTER_TABLE),
41047
- /* harmony export */ SQLITE_ANALYZE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_ANALYZE),
41048
- /* harmony export */ SQLITE_ATTACH: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_ATTACH),
41049
- /* harmony export */ SQLITE_AUTH: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_AUTH),
41050
- /* harmony export */ SQLITE_BLOB: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_BLOB),
41051
- /* harmony export */ SQLITE_BUSY: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_BUSY),
41052
- /* harmony export */ SQLITE_CANTOPEN: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CANTOPEN),
41053
- /* harmony export */ SQLITE_CONSTRAINT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CONSTRAINT),
41054
- /* harmony export */ SQLITE_CONSTRAINT_CHECK: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CONSTRAINT_CHECK),
41055
- /* harmony export */ SQLITE_CONSTRAINT_COMMITHOOK: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CONSTRAINT_COMMITHOOK),
41056
- /* harmony export */ SQLITE_CONSTRAINT_FOREIGNKEY: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CONSTRAINT_FOREIGNKEY),
41057
- /* harmony export */ SQLITE_CONSTRAINT_FUNCTION: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CONSTRAINT_FUNCTION),
41058
- /* harmony export */ SQLITE_CONSTRAINT_NOTNULL: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CONSTRAINT_NOTNULL),
41059
- /* harmony export */ SQLITE_CONSTRAINT_PINNED: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CONSTRAINT_PINNED),
41060
- /* harmony export */ SQLITE_CONSTRAINT_PRIMARYKEY: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CONSTRAINT_PRIMARYKEY),
41061
- /* harmony export */ SQLITE_CONSTRAINT_ROWID: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CONSTRAINT_ROWID),
41062
- /* harmony export */ SQLITE_CONSTRAINT_TRIGGER: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CONSTRAINT_TRIGGER),
41063
- /* harmony export */ SQLITE_CONSTRAINT_UNIQUE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CONSTRAINT_UNIQUE),
41064
- /* harmony export */ SQLITE_CONSTRAINT_VTAB: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CONSTRAINT_VTAB),
41065
- /* harmony export */ SQLITE_COPY: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_COPY),
41066
- /* harmony export */ SQLITE_CORRUPT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CORRUPT),
41067
- /* harmony export */ SQLITE_CREATE_INDEX: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CREATE_INDEX),
41068
- /* harmony export */ SQLITE_CREATE_TABLE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CREATE_TABLE),
41069
- /* harmony export */ SQLITE_CREATE_TEMP_INDEX: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CREATE_TEMP_INDEX),
41070
- /* harmony export */ SQLITE_CREATE_TEMP_TABLE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CREATE_TEMP_TABLE),
41071
- /* harmony export */ SQLITE_CREATE_TEMP_TRIGGER: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CREATE_TEMP_TRIGGER),
41072
- /* harmony export */ SQLITE_CREATE_TEMP_VIEW: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CREATE_TEMP_VIEW),
41073
- /* harmony export */ SQLITE_CREATE_TRIGGER: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CREATE_TRIGGER),
41074
- /* harmony export */ SQLITE_CREATE_VIEW: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CREATE_VIEW),
41075
- /* harmony export */ SQLITE_CREATE_VTABLE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CREATE_VTABLE),
41076
- /* harmony export */ SQLITE_DELETE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_DELETE),
41077
- /* harmony export */ SQLITE_DENY: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_DENY),
41078
- /* harmony export */ SQLITE_DETACH: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_DETACH),
41079
- /* harmony export */ SQLITE_DETERMINISTIC: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_DETERMINISTIC),
41080
- /* harmony export */ SQLITE_DIRECTONLY: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_DIRECTONLY),
41081
- /* harmony export */ SQLITE_DONE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_DONE),
41082
- /* harmony export */ SQLITE_DROP_INDEX: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_DROP_INDEX),
41083
- /* harmony export */ SQLITE_DROP_TABLE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_DROP_TABLE),
41084
- /* harmony export */ SQLITE_DROP_TEMP_INDEX: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_DROP_TEMP_INDEX),
41085
- /* harmony export */ SQLITE_DROP_TEMP_TABLE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_DROP_TEMP_TABLE),
41086
- /* harmony export */ SQLITE_DROP_TEMP_TRIGGER: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_DROP_TEMP_TRIGGER),
41087
- /* harmony export */ SQLITE_DROP_TEMP_VIEW: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_DROP_TEMP_VIEW),
41088
- /* harmony export */ SQLITE_DROP_TRIGGER: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_DROP_TRIGGER),
41089
- /* harmony export */ SQLITE_DROP_VIEW: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_DROP_VIEW),
41090
- /* harmony export */ SQLITE_DROP_VTABLE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_DROP_VTABLE),
41091
- /* harmony export */ SQLITE_EMPTY: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_EMPTY),
41092
- /* harmony export */ SQLITE_ERROR: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_ERROR),
41093
- /* harmony export */ SQLITE_FCNTL_BEGIN_ATOMIC_WRITE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_BEGIN_ATOMIC_WRITE),
41094
- /* harmony export */ SQLITE_FCNTL_BUSYHANDLER: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_BUSYHANDLER),
41095
- /* harmony export */ SQLITE_FCNTL_CHUNK_SIZE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_CHUNK_SIZE),
41096
- /* harmony export */ SQLITE_FCNTL_CKPT_DONE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_CKPT_DONE),
41097
- /* harmony export */ SQLITE_FCNTL_CKPT_START: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_CKPT_START),
41098
- /* harmony export */ SQLITE_FCNTL_COMMIT_ATOMIC_WRITE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_COMMIT_ATOMIC_WRITE),
41099
- /* harmony export */ SQLITE_FCNTL_COMMIT_PHASETWO: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_COMMIT_PHASETWO),
41100
- /* harmony export */ SQLITE_FCNTL_DATA_VERSION: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_DATA_VERSION),
41101
- /* harmony export */ SQLITE_FCNTL_FILE_POINTER: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_FILE_POINTER),
41102
- /* harmony export */ SQLITE_FCNTL_GET_LOCKPROXYFILE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_GET_LOCKPROXYFILE),
41103
- /* harmony export */ SQLITE_FCNTL_HAS_MOVED: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_HAS_MOVED),
41104
- /* harmony export */ SQLITE_FCNTL_JOURNAL_POINTER: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_JOURNAL_POINTER),
41105
- /* harmony export */ SQLITE_FCNTL_LAST_ERRNO: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_LAST_ERRNO),
41106
- /* harmony export */ SQLITE_FCNTL_LOCKSTATE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_LOCKSTATE),
41107
- /* harmony export */ SQLITE_FCNTL_LOCK_TIMEOUT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_LOCK_TIMEOUT),
41108
- /* harmony export */ SQLITE_FCNTL_MMAP_SIZE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_MMAP_SIZE),
41109
- /* harmony export */ SQLITE_FCNTL_OVERWRITE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_OVERWRITE),
41110
- /* harmony export */ SQLITE_FCNTL_PDB: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_PDB),
41111
- /* harmony export */ SQLITE_FCNTL_PERSIST_WAL: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_PERSIST_WAL),
41112
- /* harmony export */ SQLITE_FCNTL_POWERSAFE_OVERWRITE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_POWERSAFE_OVERWRITE),
41113
- /* harmony export */ SQLITE_FCNTL_PRAGMA: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_PRAGMA),
41114
- /* harmony export */ SQLITE_FCNTL_RBU: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_RBU),
41115
- /* harmony export */ SQLITE_FCNTL_RESERVE_BYTES: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_RESERVE_BYTES),
41116
- /* harmony export */ SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE),
41117
- /* harmony export */ SQLITE_FCNTL_SET_LOCKPROXYFILE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_SET_LOCKPROXYFILE),
41118
- /* harmony export */ SQLITE_FCNTL_SIZE_HINT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_SIZE_HINT),
41119
- /* harmony export */ SQLITE_FCNTL_SIZE_LIMIT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_SIZE_LIMIT),
41120
- /* harmony export */ SQLITE_FCNTL_SYNC: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_SYNC),
41121
- /* harmony export */ SQLITE_FCNTL_SYNC_OMITTED: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_SYNC_OMITTED),
41122
- /* harmony export */ SQLITE_FCNTL_TEMPFILENAME: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_TEMPFILENAME),
41123
- /* harmony export */ SQLITE_FCNTL_TRACE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_TRACE),
41124
- /* harmony export */ SQLITE_FCNTL_VFSNAME: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_VFSNAME),
41125
- /* harmony export */ SQLITE_FCNTL_VFS_POINTER: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_VFS_POINTER),
41126
- /* harmony export */ SQLITE_FCNTL_WAL_BLOCK: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_WAL_BLOCK),
41127
- /* harmony export */ SQLITE_FCNTL_WIN32_AV_RETRY: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_WIN32_AV_RETRY),
41128
- /* harmony export */ SQLITE_FCNTL_WIN32_GET_HANDLE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_WIN32_GET_HANDLE),
41129
- /* harmony export */ SQLITE_FCNTL_WIN32_SET_HANDLE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_WIN32_SET_HANDLE),
41130
- /* harmony export */ SQLITE_FCNTL_ZIPVFS: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FCNTL_ZIPVFS),
41131
- /* harmony export */ SQLITE_FLOAT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FLOAT),
41132
- /* harmony export */ SQLITE_FORMAT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FORMAT),
41133
- /* harmony export */ SQLITE_FULL: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FULL),
41134
- /* harmony export */ SQLITE_FUNCTION: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_FUNCTION),
41135
- /* harmony export */ SQLITE_IGNORE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IGNORE),
41136
- /* harmony export */ SQLITE_INDEX_CONSTRAINT_EQ: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INDEX_CONSTRAINT_EQ),
41137
- /* harmony export */ SQLITE_INDEX_CONSTRAINT_FUNCTION: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INDEX_CONSTRAINT_FUNCTION),
41138
- /* harmony export */ SQLITE_INDEX_CONSTRAINT_GE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INDEX_CONSTRAINT_GE),
41139
- /* harmony export */ SQLITE_INDEX_CONSTRAINT_GLOB: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INDEX_CONSTRAINT_GLOB),
41140
- /* harmony export */ SQLITE_INDEX_CONSTRAINT_GT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INDEX_CONSTRAINT_GT),
41141
- /* harmony export */ SQLITE_INDEX_CONSTRAINT_IS: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INDEX_CONSTRAINT_IS),
41142
- /* harmony export */ SQLITE_INDEX_CONSTRAINT_ISNOT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INDEX_CONSTRAINT_ISNOT),
41143
- /* harmony export */ SQLITE_INDEX_CONSTRAINT_ISNOTNULL: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INDEX_CONSTRAINT_ISNOTNULL),
41144
- /* harmony export */ SQLITE_INDEX_CONSTRAINT_ISNULL: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INDEX_CONSTRAINT_ISNULL),
41145
- /* harmony export */ SQLITE_INDEX_CONSTRAINT_LE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INDEX_CONSTRAINT_LE),
41146
- /* harmony export */ SQLITE_INDEX_CONSTRAINT_LIKE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INDEX_CONSTRAINT_LIKE),
41147
- /* harmony export */ SQLITE_INDEX_CONSTRAINT_LT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INDEX_CONSTRAINT_LT),
41148
- /* harmony export */ SQLITE_INDEX_CONSTRAINT_MATCH: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INDEX_CONSTRAINT_MATCH),
41149
- /* harmony export */ SQLITE_INDEX_CONSTRAINT_NE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INDEX_CONSTRAINT_NE),
41150
- /* harmony export */ SQLITE_INDEX_CONSTRAINT_REGEXP: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INDEX_CONSTRAINT_REGEXP),
41151
- /* harmony export */ SQLITE_INDEX_SCAN_UNIQUE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INDEX_SCAN_UNIQUE),
41152
- /* harmony export */ SQLITE_INNOCUOUS: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INNOCUOUS),
41153
- /* harmony export */ SQLITE_INSERT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INSERT),
41154
- /* harmony export */ SQLITE_INTEGER: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INTEGER),
41155
- /* harmony export */ SQLITE_INTERNAL: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INTERNAL),
41156
- /* harmony export */ SQLITE_INTERRUPT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_INTERRUPT),
41157
- /* harmony export */ SQLITE_IOCAP_ATOMIC: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOCAP_ATOMIC),
41158
- /* harmony export */ SQLITE_IOCAP_ATOMIC16K: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOCAP_ATOMIC16K),
41159
- /* harmony export */ SQLITE_IOCAP_ATOMIC1K: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOCAP_ATOMIC1K),
41160
- /* harmony export */ SQLITE_IOCAP_ATOMIC2K: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOCAP_ATOMIC2K),
41161
- /* harmony export */ SQLITE_IOCAP_ATOMIC32K: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOCAP_ATOMIC32K),
41162
- /* harmony export */ SQLITE_IOCAP_ATOMIC4K: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOCAP_ATOMIC4K),
41163
- /* harmony export */ SQLITE_IOCAP_ATOMIC512: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOCAP_ATOMIC512),
41164
- /* harmony export */ SQLITE_IOCAP_ATOMIC64K: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOCAP_ATOMIC64K),
41165
- /* harmony export */ SQLITE_IOCAP_ATOMIC8K: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOCAP_ATOMIC8K),
41166
- /* harmony export */ SQLITE_IOCAP_BATCH_ATOMIC: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOCAP_BATCH_ATOMIC),
41167
- /* harmony export */ SQLITE_IOCAP_IMMUTABLE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOCAP_IMMUTABLE),
41168
- /* harmony export */ SQLITE_IOCAP_POWERSAFE_OVERWRITE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOCAP_POWERSAFE_OVERWRITE),
41169
- /* harmony export */ SQLITE_IOCAP_SAFE_APPEND: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOCAP_SAFE_APPEND),
41170
- /* harmony export */ SQLITE_IOCAP_SEQUENTIAL: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOCAP_SEQUENTIAL),
41171
- /* harmony export */ SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN),
41172
- /* harmony export */ SQLITE_IOERR: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR),
41173
- /* harmony export */ SQLITE_IOERR_ACCESS: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_ACCESS),
41174
- /* harmony export */ SQLITE_IOERR_BEGIN_ATOMIC: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_BEGIN_ATOMIC),
41175
- /* harmony export */ SQLITE_IOERR_CHECKRESERVEDLOCK: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_CHECKRESERVEDLOCK),
41176
- /* harmony export */ SQLITE_IOERR_CLOSE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_CLOSE),
41177
- /* harmony export */ SQLITE_IOERR_COMMIT_ATOMIC: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_COMMIT_ATOMIC),
41178
- /* harmony export */ SQLITE_IOERR_DATA: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_DATA),
41179
- /* harmony export */ SQLITE_IOERR_DELETE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_DELETE),
41180
- /* harmony export */ SQLITE_IOERR_DELETE_NOENT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_DELETE_NOENT),
41181
- /* harmony export */ SQLITE_IOERR_DIR_FSYNC: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_DIR_FSYNC),
41182
- /* harmony export */ SQLITE_IOERR_FSTAT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_FSTAT),
41183
- /* harmony export */ SQLITE_IOERR_FSYNC: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_FSYNC),
41184
- /* harmony export */ SQLITE_IOERR_GETTEMPPATH: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_GETTEMPPATH),
41185
- /* harmony export */ SQLITE_IOERR_LOCK: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_LOCK),
41186
- /* harmony export */ SQLITE_IOERR_NOMEM: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_NOMEM),
41187
- /* harmony export */ SQLITE_IOERR_RDLOCK: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_RDLOCK),
41188
- /* harmony export */ SQLITE_IOERR_READ: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_READ),
41189
- /* harmony export */ SQLITE_IOERR_ROLLBACK_ATOMIC: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_ROLLBACK_ATOMIC),
41190
- /* harmony export */ SQLITE_IOERR_SEEK: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_SEEK),
41191
- /* harmony export */ SQLITE_IOERR_SHORT_READ: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_SHORT_READ),
41192
- /* harmony export */ SQLITE_IOERR_TRUNCATE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_TRUNCATE),
41193
- /* harmony export */ SQLITE_IOERR_UNLOCK: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_UNLOCK),
41194
- /* harmony export */ SQLITE_IOERR_VNODE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_VNODE),
41195
- /* harmony export */ SQLITE_IOERR_WRITE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_IOERR_WRITE),
41196
- /* harmony export */ SQLITE_LIMIT_ATTACHED: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_LIMIT_ATTACHED),
41197
- /* harmony export */ SQLITE_LIMIT_COLUMN: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_LIMIT_COLUMN),
41198
- /* harmony export */ SQLITE_LIMIT_COMPOUND_SELECT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_LIMIT_COMPOUND_SELECT),
41199
- /* harmony export */ SQLITE_LIMIT_EXPR_DEPTH: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_LIMIT_EXPR_DEPTH),
41200
- /* harmony export */ SQLITE_LIMIT_FUNCTION_ARG: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_LIMIT_FUNCTION_ARG),
41201
- /* harmony export */ SQLITE_LIMIT_LENGTH: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_LIMIT_LENGTH),
41202
- /* harmony export */ SQLITE_LIMIT_LIKE_PATTERN_LENGTH: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_LIMIT_LIKE_PATTERN_LENGTH),
41203
- /* harmony export */ SQLITE_LIMIT_SQL_LENGTH: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_LIMIT_SQL_LENGTH),
41204
- /* harmony export */ SQLITE_LIMIT_TRIGGER_DEPTH: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_LIMIT_TRIGGER_DEPTH),
41205
- /* harmony export */ SQLITE_LIMIT_VARIABLE_NUMBER: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_LIMIT_VARIABLE_NUMBER),
41206
- /* harmony export */ SQLITE_LIMIT_VDBE_OP: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_LIMIT_VDBE_OP),
41207
- /* harmony export */ SQLITE_LIMIT_WORKER_THREADS: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_LIMIT_WORKER_THREADS),
41208
- /* harmony export */ SQLITE_LOCKED: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_LOCKED),
41209
- /* harmony export */ SQLITE_LOCK_EXCLUSIVE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_LOCK_EXCLUSIVE),
41210
- /* harmony export */ SQLITE_LOCK_NONE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_LOCK_NONE),
41211
- /* harmony export */ SQLITE_LOCK_PENDING: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_LOCK_PENDING),
41212
- /* harmony export */ SQLITE_LOCK_RESERVED: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_LOCK_RESERVED),
41213
- /* harmony export */ SQLITE_LOCK_SHARED: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_LOCK_SHARED),
41214
- /* harmony export */ SQLITE_MISMATCH: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_MISMATCH),
41215
- /* harmony export */ SQLITE_MISUSE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_MISUSE),
41216
- /* harmony export */ SQLITE_NOLFS: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_NOLFS),
41217
- /* harmony export */ SQLITE_NOMEM: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_NOMEM),
41218
- /* harmony export */ SQLITE_NOTADB: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_NOTADB),
41219
- /* harmony export */ SQLITE_NOTFOUND: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_NOTFOUND),
41220
- /* harmony export */ SQLITE_NOTICE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_NOTICE),
41221
- /* harmony export */ SQLITE_NULL: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_NULL),
41222
- /* harmony export */ SQLITE_OK: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OK),
41223
- /* harmony export */ SQLITE_OPEN_AUTOPROXY: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_AUTOPROXY),
41224
- /* harmony export */ SQLITE_OPEN_CREATE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_CREATE),
41225
- /* harmony export */ SQLITE_OPEN_DELETEONCLOSE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_DELETEONCLOSE),
41226
- /* harmony export */ SQLITE_OPEN_EXCLUSIVE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_EXCLUSIVE),
41227
- /* harmony export */ SQLITE_OPEN_FULLMUTEX: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_FULLMUTEX),
41228
- /* harmony export */ SQLITE_OPEN_MAIN_DB: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_MAIN_DB),
41229
- /* harmony export */ SQLITE_OPEN_MAIN_JOURNAL: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_MAIN_JOURNAL),
41230
- /* harmony export */ SQLITE_OPEN_MEMORY: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_MEMORY),
41231
- /* harmony export */ SQLITE_OPEN_NOFOLLOW: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_NOFOLLOW),
41232
- /* harmony export */ SQLITE_OPEN_NOMUTEX: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_NOMUTEX),
41233
- /* harmony export */ SQLITE_OPEN_PRIVATECACHE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_PRIVATECACHE),
41234
- /* harmony export */ SQLITE_OPEN_READONLY: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_READONLY),
41235
- /* harmony export */ SQLITE_OPEN_READWRITE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_READWRITE),
41236
- /* harmony export */ SQLITE_OPEN_SHAREDCACHE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_SHAREDCACHE),
41237
- /* harmony export */ SQLITE_OPEN_SUBJOURNAL: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_SUBJOURNAL),
41238
- /* harmony export */ SQLITE_OPEN_SUPER_JOURNAL: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_SUPER_JOURNAL),
41239
- /* harmony export */ SQLITE_OPEN_TEMP_DB: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_TEMP_DB),
41240
- /* harmony export */ SQLITE_OPEN_TEMP_JOURNAL: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_TEMP_JOURNAL),
41241
- /* harmony export */ SQLITE_OPEN_TRANSIENT_DB: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_TRANSIENT_DB),
41242
- /* harmony export */ SQLITE_OPEN_URI: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_URI),
41243
- /* harmony export */ SQLITE_OPEN_WAL: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_WAL),
41244
- /* harmony export */ SQLITE_PERM: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_PERM),
41245
- /* harmony export */ SQLITE_PRAGMA: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_PRAGMA),
41246
- /* harmony export */ SQLITE_PREPARE_NORMALIZED: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_PREPARE_NORMALIZED),
41247
- /* harmony export */ SQLITE_PREPARE_NO_VTAB: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_PREPARE_NO_VTAB),
41248
- /* harmony export */ SQLITE_PREPARE_PERSISTENT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_PREPARE_PERSISTENT),
41249
- /* harmony export */ SQLITE_PROTOCOL: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_PROTOCOL),
41250
- /* harmony export */ SQLITE_RANGE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_RANGE),
41251
- /* harmony export */ SQLITE_READ: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_READ),
41252
- /* harmony export */ SQLITE_READONLY: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_READONLY),
41253
- /* harmony export */ SQLITE_RECURSIVE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_RECURSIVE),
41254
- /* harmony export */ SQLITE_REINDEX: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_REINDEX),
41255
- /* harmony export */ SQLITE_ROW: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_ROW),
41256
- /* harmony export */ SQLITE_SAVEPOINT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_SAVEPOINT),
41257
- /* harmony export */ SQLITE_SCHEMA: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_SCHEMA),
41258
- /* harmony export */ SQLITE_SELECT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_SELECT),
41259
- /* harmony export */ SQLITE_STATIC: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_STATIC),
41260
- /* harmony export */ SQLITE_SUBTYPE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_SUBTYPE),
41261
- /* harmony export */ SQLITE_SYNC_DATAONLY: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_SYNC_DATAONLY),
41262
- /* harmony export */ SQLITE_SYNC_FULL: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_SYNC_FULL),
41263
- /* harmony export */ SQLITE_SYNC_NORMAL: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_SYNC_NORMAL),
41264
- /* harmony export */ SQLITE_TEXT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_TEXT),
41265
- /* harmony export */ SQLITE_TOOBIG: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_TOOBIG),
41266
- /* harmony export */ SQLITE_TRANSACTION: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_TRANSACTION),
41267
- /* harmony export */ SQLITE_TRANSIENT: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_TRANSIENT),
41268
- /* harmony export */ SQLITE_UPDATE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_UPDATE),
41269
- /* harmony export */ SQLITE_UTF16: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_UTF16),
41270
- /* harmony export */ SQLITE_UTF16BE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_UTF16BE),
41271
- /* harmony export */ SQLITE_UTF16LE: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_UTF16LE),
41272
- /* harmony export */ SQLITE_UTF8: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_UTF8),
41273
- /* harmony export */ SQLITE_WARNING: () => (/* reexport safe */ _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_WARNING)
41274
- /* harmony export */ });
41275
- /* harmony import */ var _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./sqlite-constants.js */ "./node_modules/@journeyapps/wa-sqlite/src/sqlite-constants.js");
41276
- // Copyright 2024 Roy T. Hashimoto. All Rights Reserved.
41277
-
41278
-
41279
-
41280
- const DEFAULT_SECTOR_SIZE = 512;
41281
-
41282
- // Base class for a VFS.
41283
- class Base {
41284
- name;
41285
- mxPathname = 64;
41286
- _module;
41287
-
41288
- /**
41289
- * @param {string} name
41290
- * @param {object} module
41291
- */
41292
- constructor(name, module) {
41293
- this.name = name;
41294
- this._module = module;
41295
- }
41296
-
41297
- /**
41298
- * @returns {void|Promise<void>}
41299
- */
41300
- close() {
41301
- }
41302
-
41303
- /**
41304
- * @returns {boolean|Promise<boolean>}
41305
- */
41306
- isReady() {
41307
- return true;
41308
- }
41309
-
41310
- /**
41311
- * Overload in subclasses to indicate which methods are asynchronous.
41312
- * @param {string} methodName
41313
- * @returns {boolean}
41314
- */
41315
- hasAsyncMethod(methodName) {
41316
- return false;
41317
- }
41318
-
41319
- /**
41320
- * @param {number} pVfs
41321
- * @param {number} zName
41322
- * @param {number} pFile
41323
- * @param {number} flags
41324
- * @param {number} pOutFlags
41325
- * @returns {number|Promise<number>}
41326
- */
41327
- xOpen(pVfs, zName, pFile, flags, pOutFlags) {
41328
- return _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_CANTOPEN;
41329
- }
41330
-
41331
- /**
41332
- * @param {number} pVfs
41333
- * @param {number} zName
41334
- * @param {number} syncDir
41335
- * @returns {number|Promise<number>}
41336
- */
41337
- xDelete(pVfs, zName, syncDir) {
41338
- return _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OK;
41339
- }
41340
-
41341
- /**
41342
- * @param {number} pVfs
41343
- * @param {number} zName
41344
- * @param {number} flags
41345
- * @param {number} pResOut
41346
- * @returns {number|Promise<number>}
41347
- */
41348
- xAccess(pVfs, zName, flags, pResOut) {
41349
- return _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OK;
41350
- }
41351
-
41352
- /**
41353
- * @param {number} pVfs
41354
- * @param {number} zName
41355
- * @param {number} nOut
41356
- * @param {number} zOut
41357
- * @returns {number|Promise<number>}
41358
- */
41359
- xFullPathname(pVfs, zName, nOut, zOut) {
41360
- return _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OK;
41361
- }
41362
-
41363
- /**
41364
- * @param {number} pVfs
41365
- * @param {number} nBuf
41366
- * @param {number} zBuf
41367
- * @returns {number|Promise<number>}
41368
- */
41369
- xGetLastError(pVfs, nBuf, zBuf) {
41370
- return _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OK;
41371
- }
41372
-
41373
- /**
41374
- * @param {number} pFile
41375
- * @returns {number|Promise<number>}
41376
- */
41377
- xClose(pFile) {
41378
- return _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OK;
41379
- }
41380
-
41381
- /**
41382
- * @param {number} pFile
41383
- * @param {number} pData
41384
- * @param {number} iAmt
41385
- * @param {number} iOffsetLo
41386
- * @param {number} iOffsetHi
41387
- * @returns {number|Promise<number>}
41388
- */
41389
- xRead(pFile, pData, iAmt, iOffsetLo, iOffsetHi) {
41390
- return _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OK;
41391
- }
41392
-
41393
- /**
41394
- * @param {number} pFile
41395
- * @param {number} pData
41396
- * @param {number} iAmt
41397
- * @param {number} iOffsetLo
41398
- * @param {number} iOffsetHi
41399
- * @returns {number|Promise<number>}
41400
- */
41401
- xWrite(pFile, pData, iAmt, iOffsetLo, iOffsetHi) {
41402
- return _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OK;
41403
- }
41404
-
41405
- /**
41406
- * @param {number} pFile
41407
- * @param {number} sizeLo
41408
- * @param {number} sizeHi
41409
- * @returns {number|Promise<number>}
41410
- */
41411
- xTruncate(pFile, sizeLo, sizeHi) {
41412
- return _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OK;
41413
- }
41414
-
41415
- /**
41416
- * @param {number} pFile
41417
- * @param {number} flags
41418
- * @returns {number|Promise<number>}
41419
- */
41420
- xSync(pFile, flags) {
41421
- return _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OK;
41422
- }
41423
-
41424
- /**
41425
- *
41426
- * @param {number} pFile
41427
- * @param {number} pSize
41428
- * @returns {number|Promise<number>}
41429
- */
41430
- xFileSize(pFile, pSize) {
41431
- return _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OK;
41432
- }
41433
-
41434
- /**
41435
- * @param {number} pFile
41436
- * @param {number} lockType
41437
- * @returns {number|Promise<number>}
41438
- */
41439
- xLock(pFile, lockType) {
41440
- return _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OK;
41441
- }
41442
-
41443
- /**
41444
- * @param {number} pFile
41445
- * @param {number} lockType
41446
- * @returns {number|Promise<number>}
41447
- */
41448
- xUnlock(pFile, lockType) {
41449
- return _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OK;
41450
- }
41451
-
41452
- /**
41453
- * @param {number} pFile
41454
- * @param {number} pResOut
41455
- * @returns {number|Promise<number>}
41456
- */
41457
- xCheckReservedLock(pFile, pResOut) {
41458
- return _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OK;
41459
- }
41460
-
41461
- /**
41462
- * @param {number} pFile
41463
- * @param {number} op
41464
- * @param {number} pArg
41465
- * @returns {number|Promise<number>}
41466
- */
41467
- xFileControl(pFile, op, pArg) {
41468
- return _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_NOTFOUND;
41469
- }
41470
-
41471
- /**
41472
- * @param {number} pFile
41473
- * @returns {number|Promise<number>}
41474
- */
41475
- xSectorSize(pFile) {
41476
- return DEFAULT_SECTOR_SIZE;
41477
- }
41478
-
41479
- /**
41480
- * @param {number} pFile
41481
- * @returns {number|Promise<number>}
41482
- */
41483
- xDeviceCharacteristics(pFile) {
41484
- return 0;
41485
- }
41486
- }
41487
-
41488
- const FILE_TYPE_MASK = [
41489
- _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_MAIN_DB,
41490
- _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_MAIN_JOURNAL,
41491
- _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_TEMP_DB,
41492
- _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_TEMP_JOURNAL,
41493
- _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_TRANSIENT_DB,
41494
- _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_SUBJOURNAL,
41495
- _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_SUPER_JOURNAL,
41496
- _sqlite_constants_js__WEBPACK_IMPORTED_MODULE_0__.SQLITE_OPEN_WAL
41497
- ].reduce((mask, element) => mask | element);
41498
-
41499
- /***/ }),
41500
-
41501
- /***/ "./node_modules/@journeyapps/wa-sqlite/src/examples/AccessHandlePoolVFS.js":
41502
- /*!*********************************************************************************!*\
41503
- !*** ./node_modules/@journeyapps/wa-sqlite/src/examples/AccessHandlePoolVFS.js ***!
41504
- \*********************************************************************************/
41505
- /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
41506
-
41507
- "use strict";
41508
- __webpack_require__.r(__webpack_exports__);
41509
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
41510
- /* harmony export */ AccessHandlePoolVFS: () => (/* binding */ AccessHandlePoolVFS)
41511
- /* harmony export */ });
41512
- /* harmony import */ var _FacadeVFS_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../FacadeVFS.js */ "./node_modules/@journeyapps/wa-sqlite/src/FacadeVFS.js");
41513
- /* harmony import */ var _VFS_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../VFS.js */ "./node_modules/@journeyapps/wa-sqlite/src/VFS.js");
41514
- // Copyright 2023 Roy T. Hashimoto. All Rights Reserved.
41515
-
41516
-
41517
-
41518
- const SECTOR_SIZE = 4096;
41519
-
41520
- // Each OPFS file begins with a fixed-size header with metadata. The
41521
- // contents of the file follow immediately after the header.
41522
- const HEADER_MAX_PATH_SIZE = 512;
41523
- const HEADER_FLAGS_SIZE = 4;
41524
- const HEADER_DIGEST_SIZE = 8;
41525
- const HEADER_CORPUS_SIZE = HEADER_MAX_PATH_SIZE + HEADER_FLAGS_SIZE;
41526
- const HEADER_OFFSET_FLAGS = HEADER_MAX_PATH_SIZE;
41527
- const HEADER_OFFSET_DIGEST = HEADER_CORPUS_SIZE;
41528
- const HEADER_OFFSET_DATA = SECTOR_SIZE;
41529
-
41530
- // These file types are expected to persist in the file system outside
41531
- // a session. Other files will be removed on VFS start.
41532
- const PERSISTENT_FILE_TYPES =
41533
- _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_OPEN_MAIN_DB |
41534
- _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_OPEN_MAIN_JOURNAL |
41535
- _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_OPEN_SUPER_JOURNAL |
41536
- _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_OPEN_WAL;
41537
-
41538
- const DEFAULT_CAPACITY = 6;
41539
-
41540
- /**
41541
- * This VFS uses the updated Access Handle API with all synchronous methods
41542
- * on FileSystemSyncAccessHandle (instead of just read and write). It will
41543
- * work with the regular SQLite WebAssembly build, i.e. the one without
41544
- * Asyncify.
41545
- */
41546
- class AccessHandlePoolVFS extends _FacadeVFS_js__WEBPACK_IMPORTED_MODULE_0__.FacadeVFS {
41547
- log = null; //function(...args) { console.log(`[${contextName}]`, ...args) };
41548
-
41549
- // All the OPFS files the VFS uses are contained in one flat directory
41550
- // specified in the constructor. No other files should be written here.
41551
- #directoryPath;
41552
- #directoryHandle;
41553
-
41554
- // The OPFS files all have randomly-generated names that do not match
41555
- // the SQLite files whose data they contain. This map links those names
41556
- // with their respective OPFS access handles.
41557
- #mapAccessHandleToName = new Map();
41558
-
41559
- // When a SQLite file is associated with an OPFS file, that association
41560
- // is kept in #mapPathToAccessHandle. Each access handle is in exactly
41561
- // one of #mapPathToAccessHandle or #availableAccessHandles.
41562
- #mapPathToAccessHandle = new Map();
41563
- #availableAccessHandles = new Set();
41564
-
41565
- #mapIdToFile = new Map();
41566
-
41567
- static async create(name, module) {
41568
- const vfs = new AccessHandlePoolVFS(name, module);
41569
- await vfs.isReady();
41570
- return vfs;
41571
- }
41572
-
41573
- constructor(name, module) {
41574
- super(name, module);
41575
- this.#directoryPath = name;
41576
- }
41577
-
41578
- /**
41579
- * @param {string?} zName
41580
- * @param {number} fileId
41581
- * @param {number} flags
41582
- * @param {DataView} pOutFlags
41583
- * @returns {number}
41584
- */
41585
- jOpen(zName, fileId, flags, pOutFlags) {
41586
- try {
41587
- // First try to open a path that already exists in the file system.
41588
- const path = zName ? this.#getPath(zName) : Math.random().toString(36);
41589
- let accessHandle = this.#mapPathToAccessHandle.get(path);
41590
- if (!accessHandle && (flags & _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_OPEN_CREATE)) {
41591
- // File not found so try to create it.
41592
- if (this.getSize() < this.getCapacity()) {
41593
- // Choose an unassociated OPFS file from the pool.
41594
- ([accessHandle] = this.#availableAccessHandles.keys());
41595
- this.#setAssociatedPath(accessHandle, path, flags);
41596
- } else {
41597
- // Out of unassociated files. This can be fixed by calling
41598
- // addCapacity() from the application.
41599
- throw new Error('cannot create file');
41600
- }
41601
- }
41602
- if (!accessHandle) {
41603
- throw new Error('file not found');
41604
- }
41605
- // Subsequent methods are only passed the fileId, so make sure we have
41606
- // a way to get the file resources.
41607
- const file = { path, flags, accessHandle };
41608
- this.#mapIdToFile.set(fileId, file);
41609
-
41610
- pOutFlags.setInt32(0, flags, true);
41611
- return _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_OK;
41612
- } catch (e) {
41613
- console.error(e.message);
41614
- return _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_CANTOPEN;
41615
- }
41616
- }
41617
-
41618
- /**
41619
- * @param {number} fileId
41620
- * @returns {number}
41621
- */
41622
- jClose(fileId) {
41623
- const file = this.#mapIdToFile.get(fileId);
41624
- if (file) {
41625
- file.accessHandle.flush();
41626
- this.#mapIdToFile.delete(fileId);
41627
- if (file.flags & _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_OPEN_DELETEONCLOSE) {
41628
- this.#deletePath(file.path);
41629
- }
41630
- }
41631
- return _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_OK;
41632
- }
41633
-
41634
- /**
41635
- * @param {number} fileId
41636
- * @param {Uint8Array} pData
41637
- * @param {number} iOffset
41638
- * @returns {number}
41639
- */
41640
- jRead(fileId, pData, iOffset) {
41641
- const file = this.#mapIdToFile.get(fileId);
41642
- const nBytes = file.accessHandle.read(
41643
- pData.subarray(),
41644
- { at: HEADER_OFFSET_DATA + iOffset });
41645
- if (nBytes < pData.byteLength) {
41646
- pData.fill(0, nBytes, pData.byteLength);
41647
- return _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_IOERR_SHORT_READ;
41648
- }
41649
- return _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_OK;
41650
- }
41651
-
41652
- /**
41653
- * @param {number} fileId
41654
- * @param {Uint8Array} pData
41655
- * @param {number} iOffset
41656
- * @returns {number}
41657
- */
41658
- jWrite(fileId, pData, iOffset) {
41659
- const file = this.#mapIdToFile.get(fileId);
41660
- const nBytes = file.accessHandle.write(
41661
- pData.subarray(),
41662
- { at: HEADER_OFFSET_DATA + iOffset });
41663
- return nBytes === pData.byteLength ? _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_OK : _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_IOERR;
41664
- }
41665
-
41666
- /**
41667
- * @param {number} fileId
41668
- * @param {number} iSize
41669
- * @returns {number}
41670
- */
41671
- jTruncate(fileId, iSize) {
41672
- const file = this.#mapIdToFile.get(fileId);
41673
- file.accessHandle.truncate(HEADER_OFFSET_DATA + iSize);
41674
- return _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_OK;
41675
- }
41676
-
41677
- /**
41678
- * @param {number} fileId
41679
- * @param {number} flags
41680
- * @returns {number}
41681
- */
41682
- jSync(fileId, flags) {
41683
- const file = this.#mapIdToFile.get(fileId);
41684
- file.accessHandle.flush();
41685
- return _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_OK;
41686
- }
41687
-
41688
- /**
41689
- * @param {number} fileId
41690
- * @param {DataView} pSize64
41691
- * @returns {number}
41692
- */
41693
- jFileSize(fileId, pSize64) {
41694
- const file = this.#mapIdToFile.get(fileId);
41695
- const size = file.accessHandle.getSize() - HEADER_OFFSET_DATA;
41696
- pSize64.setBigInt64(0, BigInt(size), true);
41697
- return _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_OK;
41698
- }
41699
-
41700
- jSectorSize(fileId) {
41701
- return SECTOR_SIZE;
41702
- }
41703
-
41704
- jDeviceCharacteristics(fileId) {
41705
- return _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN;
41706
- }
41707
-
41708
- /**
41709
- * @param {string} zName
41710
- * @param {number} flags
41711
- * @param {DataView} pResOut
41712
- * @returns {number}
41713
- */
41714
- jAccess(zName, flags, pResOut) {
41715
- const path = this.#getPath(zName);
41716
- pResOut.setInt32(0, this.#mapPathToAccessHandle.has(path) ? 1 : 0, true);
41717
- return _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_OK;
41718
- }
41719
-
41720
- /**
41721
- * @param {string} zName
41722
- * @param {number} syncDir
41723
- * @returns {number}
41724
- */
41725
- jDelete(zName, syncDir) {
41726
- const path = this.#getPath(zName);
41727
- this.#deletePath(path);
41728
- return _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_OK;
41729
- }
41730
-
41731
- async close() {
41732
- await this.#releaseAccessHandles();
41733
- }
41734
-
41735
- async isReady() {
41736
- if (!this.#directoryHandle) {
41737
- // All files are stored in a single directory.
41738
- let handle = await navigator.storage.getDirectory();
41739
- for (const d of this.#directoryPath.split('/')) {
41740
- if (d) {
41741
- handle = await handle.getDirectoryHandle(d, { create: true });
41742
- }
41743
- }
41744
- this.#directoryHandle = handle;
41745
-
41746
- await this.#acquireAccessHandles();
41747
- if (this.getCapacity() === 0) {
41748
- await this.addCapacity(DEFAULT_CAPACITY);
41749
- }
41750
- }
41751
- return true;
41752
- }
41753
-
41754
- /**
41755
- * Returns the number of SQLite files in the file system.
41756
- * @returns {number}
41757
- */
41758
- getSize() {
41759
- return this.#mapPathToAccessHandle.size;
41760
- }
41761
-
41762
- /**
41763
- * Returns the maximum number of SQLite files the file system can hold.
41764
- * @returns {number}
41765
- */
41766
- getCapacity() {
41767
- return this.#mapAccessHandleToName.size;
41768
- }
41769
-
41770
- /**
41771
- * Increase the capacity of the file system by n.
41772
- * @param {number} n
41773
- * @returns {Promise<number>}
41774
- */
41775
- async addCapacity(n) {
41776
- for (let i = 0; i < n; ++i) {
41777
- const name = Math.random().toString(36).replace('0.', '');
41778
- const handle = await this.#directoryHandle.getFileHandle(name, { create: true });
41779
- const accessHandle = await handle.createSyncAccessHandle();
41780
- this.#mapAccessHandleToName.set(accessHandle, name);
41781
-
41782
- this.#setAssociatedPath(accessHandle, '', 0);
41783
- }
41784
- return n;
41785
- }
41786
-
41787
- /**
41788
- * Decrease the capacity of the file system by n. The capacity cannot be
41789
- * decreased to fewer than the current number of SQLite files in the
41790
- * file system.
41791
- * @param {number} n
41792
- * @returns {Promise<number>}
41793
- */
41794
- async removeCapacity(n) {
41795
- let nRemoved = 0;
41796
- for (const accessHandle of Array.from(this.#availableAccessHandles)) {
41797
- if (nRemoved == n || this.getSize() === this.getCapacity()) return nRemoved;
41798
-
41799
- const name = this.#mapAccessHandleToName.get(accessHandle);
41800
- await accessHandle.close();
41801
- await this.#directoryHandle.removeEntry(name);
41802
- this.#mapAccessHandleToName.delete(accessHandle);
41803
- this.#availableAccessHandles.delete(accessHandle);
41804
- ++nRemoved;
41805
- }
41806
- return nRemoved;
41807
- }
41808
-
41809
- async #acquireAccessHandles() {
41810
- // Enumerate all the files in the directory.
41811
- const files = [];
41812
- for await (const [name, handle] of this.#directoryHandle) {
41813
- if (handle.kind === 'file') {
41814
- files.push([name, handle]);
41815
- }
41816
- }
41817
-
41818
- // Open access handles in parallel, separating associated and unassociated.
41819
- await Promise.all(files.map(async ([name, handle]) => {
41820
- const accessHandle = await handle.createSyncAccessHandle();
41821
- this.#mapAccessHandleToName.set(accessHandle, name);
41822
- const path = this.#getAssociatedPath(accessHandle);
41823
- if (path) {
41824
- this.#mapPathToAccessHandle.set(path, accessHandle);
41825
- } else {
41826
- this.#availableAccessHandles.add(accessHandle);
41827
- }
41828
- }));
41829
- }
41830
-
41831
- #releaseAccessHandles() {
41832
- for (const accessHandle of this.#mapAccessHandleToName.keys()) {
41833
- accessHandle.close();
41834
- }
41835
- this.#mapAccessHandleToName.clear();
41836
- this.#mapPathToAccessHandle.clear();
41837
- this.#availableAccessHandles.clear();
41838
- }
41839
-
41840
- /**
41841
- * Read and return the associated path from an OPFS file header.
41842
- * Empty string is returned for an unassociated OPFS file.
41843
- * @param accessHandle FileSystemSyncAccessHandle
41844
- * @returns {string} path or empty string
41845
- */
41846
- #getAssociatedPath(accessHandle) {
41847
- // Read the path and digest of the path from the file.
41848
- const corpus = new Uint8Array(HEADER_CORPUS_SIZE);
41849
- accessHandle.read(corpus, { at: 0 })
41850
-
41851
- // Delete files not expected to be present.
41852
- const dataView = new DataView(corpus.buffer, corpus.byteOffset);
41853
- const flags = dataView.getUint32(HEADER_OFFSET_FLAGS);
41854
- if (corpus[0] &&
41855
- ((flags & _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_OPEN_DELETEONCLOSE) ||
41856
- (flags & PERSISTENT_FILE_TYPES) === 0)) {
41857
- console.warn(`Remove file with unexpected flags ${flags.toString(16)}`);
41858
- this.#setAssociatedPath(accessHandle, '', 0);
41859
- return '';
41860
- }
41861
-
41862
- const fileDigest = new Uint32Array(HEADER_DIGEST_SIZE / 4);
41863
- accessHandle.read(fileDigest, { at: HEADER_OFFSET_DIGEST });
41864
-
41865
- // Verify the digest.
41866
- const computedDigest = this.#computeDigest(corpus);
41867
- if (fileDigest.every((value, i) => value === computedDigest[i])) {
41868
- // Good digest. Decode the null-terminated path string.
41869
- const pathBytes = corpus.findIndex(value => value === 0);
41870
- if (pathBytes === 0) {
41871
- // Ensure that unassociated files are empty. Unassociated files are
41872
- // truncated in #setAssociatedPath after the header is written. If
41873
- // an interruption occurs right before the truncation then garbage
41874
- // may remain in the file.
41875
- accessHandle.truncate(HEADER_OFFSET_DATA);
41876
- }
41877
- return new TextDecoder().decode(corpus.subarray(0, pathBytes));
41878
- } else {
41879
- // Bad digest. Repair this header.
41880
- console.warn('Disassociating file with bad digest.');
41881
- this.#setAssociatedPath(accessHandle, '', 0);
41882
- return '';
41883
- }
41884
- }
41885
-
41886
- /**
41887
- * Set the path on an OPFS file header.
41888
- * @param accessHandle FileSystemSyncAccessHandle
41889
- * @param {string} path
41890
- * @param {number} flags
41891
- */
41892
- #setAssociatedPath(accessHandle, path, flags) {
41893
- // Convert the path string to UTF-8.
41894
- const corpus = new Uint8Array(HEADER_CORPUS_SIZE);
41895
- const encodedResult = new TextEncoder().encodeInto(path, corpus);
41896
- if (encodedResult.written >= HEADER_MAX_PATH_SIZE) {
41897
- throw new Error('path too long');
41898
- }
41899
-
41900
- // Add the creation flags.
41901
- const dataView = new DataView(corpus.buffer, corpus.byteOffset);
41902
- dataView.setUint32(HEADER_OFFSET_FLAGS, flags);
41903
-
41904
- // Write the OPFS file header, including the digest.
41905
- const digest = this.#computeDigest(corpus);
41906
- accessHandle.write(corpus, { at: 0 });
41907
- accessHandle.write(digest, { at: HEADER_OFFSET_DIGEST });
41908
- accessHandle.flush();
41909
-
41910
- if (path) {
41911
- this.#mapPathToAccessHandle.set(path, accessHandle);
41912
- this.#availableAccessHandles.delete(accessHandle);
41913
- } else {
41914
- // This OPFS file doesn't represent any SQLite file so it doesn't
41915
- // need to keep any data.
41916
- accessHandle.truncate(HEADER_OFFSET_DATA);
41917
- this.#availableAccessHandles.add(accessHandle);
41918
- }
41919
- }
41920
-
41921
- /**
41922
- * We need a synchronous digest function so can't use WebCrypto.
41923
- * Adapted from https://github.com/bryc/code/blob/master/jshash/experimental/cyrb53.js
41924
- * @param {Uint8Array} corpus
41925
- * @returns {ArrayBuffer} 64-bit digest
41926
- */
41927
- #computeDigest(corpus) {
41928
- if (!corpus[0]) {
41929
- // Optimization for deleted file.
41930
- return new Uint32Array([0xfecc5f80, 0xaccec037]);
41931
- }
41932
-
41933
- let h1 = 0xdeadbeef;
41934
- let h2 = 0x41c6ce57;
41935
-
41936
- for (const value of corpus) {
41937
- h1 = Math.imul(h1 ^ value, 2654435761);
41938
- h2 = Math.imul(h2 ^ value, 1597334677);
41939
- }
41940
-
41941
- h1 = Math.imul(h1 ^ (h1 >>> 16), 2246822507) ^ Math.imul(h2 ^ (h2 >>> 13), 3266489909);
41942
- h2 = Math.imul(h2 ^ (h2 >>> 16), 2246822507) ^ Math.imul(h1 ^ (h1 >>> 13), 3266489909);
41943
-
41944
- return new Uint32Array([h1 >>> 0, h2 >>> 0]);
41945
- };
41946
-
41947
- /**
41948
- * Convert a bare filename, path, or URL to a UNIX-style path.
41949
- * @param {string|URL} nameOrURL
41950
- * @returns {string} path
41951
- */
41952
- #getPath(nameOrURL) {
41953
- const url = typeof nameOrURL === 'string' ?
41954
- new URL(nameOrURL, 'file://localhost/') :
41955
- nameOrURL;
41956
- return url.pathname;
41957
- }
41958
-
41959
- /**
41960
- * Remove the association between a path and an OPFS file.
41961
- * @param {string} path
41962
- */
41963
- #deletePath(path) {
41964
- const accessHandle = this.#mapPathToAccessHandle.get(path);
41965
- if (accessHandle) {
41966
- // Un-associate the SQLite path from the OPFS file.
41967
- this.#mapPathToAccessHandle.delete(path);
41968
- this.#setAssociatedPath(accessHandle, '', 0);
41969
- }
41970
- }
41971
- }
41972
-
41973
- /***/ }),
41974
-
41975
- /***/ "./node_modules/@journeyapps/wa-sqlite/src/examples/OPFSCoopSyncVFS.js":
41976
- /*!*****************************************************************************!*\
41977
- !*** ./node_modules/@journeyapps/wa-sqlite/src/examples/OPFSCoopSyncVFS.js ***!
41978
- \*****************************************************************************/
41979
- /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
41980
-
41981
- "use strict";
41982
- __webpack_require__.r(__webpack_exports__);
41983
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
41984
- /* harmony export */ OPFSCoopSyncVFS: () => (/* binding */ OPFSCoopSyncVFS)
41985
- /* harmony export */ });
41986
- /* harmony import */ var _FacadeVFS_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../FacadeVFS.js */ "./node_modules/@journeyapps/wa-sqlite/src/FacadeVFS.js");
41987
- /* harmony import */ var _VFS_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../VFS.js */ "./node_modules/@journeyapps/wa-sqlite/src/VFS.js");
41988
- // Copyright 2024 Roy T. Hashimoto. All Rights Reserved.
41989
-
41990
-
41991
-
41992
- const DEFAULT_TEMPORARY_FILES = 10;
41993
- const LOCK_NOTIFY_INTERVAL = 1000;
41994
-
41995
- const DB_RELATED_FILE_SUFFIXES = ['', '-journal', '-wal'];
41996
-
41997
- const finalizationRegistry = new FinalizationRegistry(releaser => releaser());
41998
-
41999
- class File {
42000
- /** @type {string} */ path
42001
- /** @type {number} */ flags;
42002
- /** @type {FileSystemSyncAccessHandle} */ accessHandle;
42003
-
42004
- /** @type {PersistentFile?} */ persistentFile;
42005
-
42006
- constructor(path, flags) {
42007
- this.path = path;
42008
- this.flags = flags;
42009
- }
42010
- }
42011
-
42012
- class PersistentFile {
42013
- /** @type {FileSystemFileHandle} */ fileHandle
42014
- /** @type {FileSystemSyncAccessHandle} */ accessHandle = null
42015
-
42016
- // The following properties are for main database files.
42017
-
42018
- /** @type {boolean} */ isLockBusy = false;
42019
- /** @type {boolean} */ isFileLocked = false;
42020
- /** @type {boolean} */ isRequestInProgress = false;
42021
- /** @type {function} */ handleLockReleaser = null;
42022
-
42023
- /** @type {BroadcastChannel} */ handleRequestChannel;
42024
- /** @type {boolean} */ isHandleRequested = false;
42025
-
42026
- constructor(fileHandle) {
42027
- this.fileHandle = fileHandle;
42028
- }
42029
- }
42030
-
42031
- class OPFSCoopSyncVFS extends _FacadeVFS_js__WEBPACK_IMPORTED_MODULE_0__.FacadeVFS {
42032
- /** @type {Map<number, File>} */ mapIdToFile = new Map();
42033
-
42034
- lastError = null;
42035
- log = null; //function(...args) { console.log(`[${contextName}]`, ...args) };
42036
-
42037
- /** @type {Map<string, PersistentFile>} */ persistentFiles = new Map();
42038
- /** @type {Map<string, FileSystemSyncAccessHandle>} */ boundAccessHandles = new Map();
42039
- /** @type {Set<FileSystemSyncAccessHandle>} */ unboundAccessHandles = new Set();
42040
- /** @type {Set<string>} */ accessiblePaths = new Set();
42041
- releaser = null;
42042
-
42043
- static async create(name, module) {
42044
- const vfs = new OPFSCoopSyncVFS(name, module);
42045
- await Promise.all([
42046
- vfs.isReady(),
42047
- vfs.#initialize(DEFAULT_TEMPORARY_FILES),
42048
- ]);
42049
- return vfs;
42050
- }
42051
-
42052
- constructor(name, module) {
42053
- super(name, module);
42054
- }
42055
-
42056
- async #initialize(nTemporaryFiles) {
42057
- // Delete temporary directories no longer in use.
42058
- const root = await navigator.storage.getDirectory();
42059
- // @ts-ignore
42060
- for await (const entry of root.values()) {
42061
- if (entry.kind === 'directory' && entry.name.startsWith('.ahp-')) {
42062
- // A lock with the same name as the directory protects it from
42063
- // being deleted.
42064
- await navigator.locks.request(entry.name, { ifAvailable: true }, async lock => {
42065
- if (lock) {
42066
- this.log?.(`Deleting temporary directory ${entry.name}`);
42067
- await root.removeEntry(entry.name, { recursive: true });
42068
- } else {
42069
- this.log?.(`Temporary directory ${entry.name} is in use`);
42070
- }
42071
- });
42072
- }
42073
- }
42074
-
42075
- // Create our temporary directory.
42076
- const tmpDirName = `.ahp-${Math.random().toString(36).slice(2)}`;
42077
- this.releaser = await new Promise(resolve => {
42078
- navigator.locks.request(tmpDirName, () => {
42079
- return new Promise(release => {
42080
- resolve(release);
42081
- });
42082
- });
42083
- });
42084
- finalizationRegistry.register(this, this.releaser);
42085
- const tmpDir = await root.getDirectoryHandle(tmpDirName, { create: true });
42086
-
42087
- // Populate temporary directory.
42088
- for (let i = 0; i < nTemporaryFiles; i++) {
42089
- const tmpFile = await tmpDir.getFileHandle(`${i}.tmp`, { create: true });
42090
- const tmpAccessHandle = await tmpFile.createSyncAccessHandle();
42091
- this.unboundAccessHandles.add(tmpAccessHandle);
42092
- }
42093
- }
42094
-
42095
- /**
42096
- * @param {string?} zName
42097
- * @param {number} fileId
42098
- * @param {number} flags
42099
- * @param {DataView} pOutFlags
42100
- * @returns {number}
42101
- */
42102
- jOpen(zName, fileId, flags, pOutFlags) {
42103
- try {
42104
- const url = new URL(zName || Math.random().toString(36).slice(2), 'file://');
42105
- const path = url.pathname;
42106
-
42107
- if (flags & _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_OPEN_MAIN_DB) {
42108
- const persistentFile = this.persistentFiles.get(path);
42109
- if (persistentFile?.isRequestInProgress) {
42110
- // Should not reach here unless SQLite itself retries an open.
42111
- // Otherwise, asynchronous operations started on a previous
42112
- // open try should have completed.
42113
- return _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_BUSY;
42114
- } else if (!persistentFile) {
42115
- // This is the usual starting point for opening a database.
42116
- // Register a Promise that resolves when the database and related
42117
- // files are ready to be used.
42118
- this.log?.(`creating persistent file for ${path}`);
42119
- const create = !!(flags & _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_OPEN_CREATE);
42120
- this._module.retryOps.push((async () => {
42121
- try {
42122
- // Get the path directory handle.
42123
- let dirHandle = await navigator.storage.getDirectory();
42124
- const directories = path.split('/').filter(d => d);
42125
- const filename = directories.pop();
42126
- for (const directory of directories) {
42127
- dirHandle = await dirHandle.getDirectoryHandle(directory, { create });
42128
- }
42129
-
42130
- // Get file handles for the database and related files,
42131
- // and create persistent file instances.
42132
- for (const suffix of DB_RELATED_FILE_SUFFIXES) {
42133
- const fileHandle = await dirHandle.getFileHandle(filename + suffix, { create });
42134
- await this.#createPersistentFile(fileHandle);
42135
- }
42136
-
42137
- // Get access handles for the files.
42138
- const file = new File(path, flags);
42139
- file.persistentFile = this.persistentFiles.get(path);
42140
- await this.#requestAccessHandle(file);
42141
- } catch (e) {
42142
- // Use an invalid persistent file to signal this error
42143
- // for the retried open.
42144
- const persistentFile = new PersistentFile(null);
42145
- this.persistentFiles.set(path, persistentFile);
42146
- console.error(e);
42147
- }
42148
- })());
42149
- return _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_BUSY;
42150
- } else if (!persistentFile.fileHandle) {
42151
- // The asynchronous open operation failed.
42152
- this.persistentFiles.delete(path);
42153
- return _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_CANTOPEN;
42154
- } else if (!persistentFile.accessHandle) {
42155
- // This branch is reached if the database was previously opened
42156
- // and closed.
42157
- this._module.retryOps.push((async () => {
42158
- const file = new File(path, flags);
42159
- file.persistentFile = this.persistentFiles.get(path);
42160
- await this.#requestAccessHandle(file);
42161
- })());
42162
- return _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_BUSY;
42163
- }
42164
- }
42165
-
42166
- if (!this.accessiblePaths.has(path) &&
42167
- !(flags & _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_OPEN_CREATE)) {
42168
- throw new Error(`File ${path} not found`);
42169
- }
42170
-
42171
- const file = new File(path, flags);
42172
- this.mapIdToFile.set(fileId, file);
42173
-
42174
- if (this.persistentFiles.has(path)) {
42175
- file.persistentFile = this.persistentFiles.get(path);
42176
- } else if (this.boundAccessHandles.has(path)) {
42177
- // This temporary file was previously created and closed. Reopen
42178
- // the same access handle.
42179
- file.accessHandle = this.boundAccessHandles.get(path);
42180
- } else if (this.unboundAccessHandles.size) {
42181
- // Associate an unbound access handle to this file.
42182
- file.accessHandle = this.unboundAccessHandles.values().next().value;
42183
- file.accessHandle.truncate(0);
42184
- this.unboundAccessHandles.delete(file.accessHandle);
42185
- this.boundAccessHandles.set(path, file.accessHandle);
42186
- }
42187
- this.accessiblePaths.add(path);
42188
-
42189
- pOutFlags.setInt32(0, flags, true);
42190
- return _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_OK;
42191
- } catch (e) {
42192
- this.lastError = e;
42193
- return _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_CANTOPEN;
42194
- }
42195
- }
42196
-
42197
- /**
42198
- * @param {string} zName
42199
- * @param {number} syncDir
42200
- * @returns {number}
42201
- */
42202
- jDelete(zName, syncDir) {
42203
- try {
42204
- const url = new URL(zName, 'file://');
42205
- const path = url.pathname;
42206
- if (this.persistentFiles.has(path)) {
42207
- const persistentFile = this.persistentFiles.get(path);
42208
- persistentFile.accessHandle.truncate(0);
42209
- } else {
42210
- this.boundAccessHandles.get(path)?.truncate(0);
42211
- }
42212
- this.accessiblePaths.delete(path);
42213
- return _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_OK;
42214
- } catch (e) {
42215
- this.lastError = e;
42216
- return _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_IOERR_DELETE;
42217
- }
42218
- }
42219
-
42220
- /**
42221
- * @param {string} zName
42222
- * @param {number} flags
42223
- * @param {DataView} pResOut
42224
- * @returns {number}
42225
- */
42226
- jAccess(zName, flags, pResOut) {
42227
- try {
42228
- const url = new URL(zName, 'file://');
42229
- const path = url.pathname;
42230
- pResOut.setInt32(0, this.accessiblePaths.has(path) ? 1 : 0, true);
42231
- return _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_OK;
42232
- } catch (e) {
42233
- this.lastError = e;
42234
- return _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_IOERR_ACCESS;
42235
- }
42236
- }
42237
-
42238
- /**
42239
- * @param {number} fileId
42240
- * @returns {number}
42241
- */
42242
- jClose(fileId) {
42243
- try {
42244
- const file = this.mapIdToFile.get(fileId);
42245
- this.mapIdToFile.delete(fileId);
42246
-
42247
- if (file?.flags & _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_OPEN_MAIN_DB) {
42248
- if (file.persistentFile?.handleLockReleaser) {
42249
- this.#releaseAccessHandle(file);
42250
- }
42251
- } else if (file?.flags & _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_OPEN_DELETEONCLOSE) {
42252
- file.accessHandle.truncate(0);
42253
- this.accessiblePaths.delete(file.path);
42254
- if (!this.persistentFiles.has(file.path)) {
42255
- this.boundAccessHandles.delete(file.path);
42256
- this.unboundAccessHandles.add(file.accessHandle);
42257
- }
42258
- }
42259
- return _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_OK;
42260
- } catch (e) {
42261
- this.lastError = e;
42262
- return _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_IOERR_CLOSE;
42263
- }
42264
- }
42265
-
42266
- /**
42267
- * @param {number} fileId
42268
- * @param {Uint8Array} pData
42269
- * @param {number} iOffset
42270
- * @returns {number}
42271
- */
42272
- jRead(fileId, pData, iOffset) {
42273
- try {
42274
- const file = this.mapIdToFile.get(fileId);
42275
-
42276
- // On Chrome (at least), passing pData to accessHandle.read() is
42277
- // an error because pData is a Proxy of a Uint8Array. Calling
42278
- // subarray() produces a real Uint8Array and that works.
42279
- const accessHandle = file.accessHandle || file.persistentFile.accessHandle;
42280
- const bytesRead = accessHandle.read(pData.subarray(), { at: iOffset });
42281
-
42282
- // Opening a database file performs one read without a xLock call.
42283
- if ((file.flags & _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_OPEN_MAIN_DB) && !file.persistentFile.isFileLocked) {
42284
- this.#releaseAccessHandle(file);
42285
- }
42286
-
42287
- if (bytesRead < pData.byteLength) {
42288
- pData.fill(0, bytesRead);
42289
- return _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_IOERR_SHORT_READ;
42290
- }
42291
- return _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_OK;
42292
- } catch (e) {
42293
- this.lastError = e;
42294
- return _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_IOERR_READ;
42295
- }
42296
- }
42297
-
42298
- /**
42299
- * @param {number} fileId
42300
- * @param {Uint8Array} pData
42301
- * @param {number} iOffset
42302
- * @returns {number}
42303
- */
42304
- jWrite(fileId, pData, iOffset) {
42305
- try {
42306
- const file = this.mapIdToFile.get(fileId);
42307
-
42308
- // On Chrome (at least), passing pData to accessHandle.write() is
42309
- // an error because pData is a Proxy of a Uint8Array. Calling
42310
- // subarray() produces a real Uint8Array and that works.
42311
- const accessHandle = file.accessHandle || file.persistentFile.accessHandle;
42312
- const nBytes = accessHandle.write(pData.subarray(), { at: iOffset });
42313
- if (nBytes !== pData.byteLength) throw new Error('short write');
42314
- return _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_OK;
42315
- } catch (e) {
42316
- this.lastError = e;
42317
- return _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_IOERR_WRITE;
42318
- }
42319
- }
42320
-
42321
- /**
42322
- * @param {number} fileId
42323
- * @param {number} iSize
42324
- * @returns {number}
42325
- */
42326
- jTruncate(fileId, iSize) {
42327
- try {
42328
- const file = this.mapIdToFile.get(fileId);
42329
- const accessHandle = file.accessHandle || file.persistentFile.accessHandle;
42330
- accessHandle.truncate(iSize);
42331
- return _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_OK;
42332
- } catch (e) {
42333
- this.lastError = e;
42334
- return _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_IOERR_TRUNCATE;
42335
- }
42336
- }
42337
-
42338
- /**
42339
- * @param {number} fileId
42340
- * @param {number} flags
42341
- * @returns {number}
42342
- */
42343
- jSync(fileId, flags) {
42344
- try {
42345
- const file = this.mapIdToFile.get(fileId);
42346
- const accessHandle = file.accessHandle || file.persistentFile.accessHandle;
42347
- accessHandle.flush();
42348
- return _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_OK;
42349
- } catch (e) {
42350
- this.lastError = e;
42351
- return _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_IOERR_FSYNC;
42352
- }
42353
- }
42354
-
42355
- /**
42356
- * @param {number} fileId
42357
- * @param {DataView} pSize64
42358
- * @returns {number}
42359
- */
42360
- jFileSize(fileId, pSize64) {
42361
- try {
42362
- const file = this.mapIdToFile.get(fileId);
42363
- const accessHandle = file.accessHandle || file.persistentFile.accessHandle;
42364
- const size = accessHandle.getSize();
42365
- pSize64.setBigInt64(0, BigInt(size), true);
42366
- return _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_OK;
42367
- } catch (e) {
42368
- this.lastError = e;
42369
- return _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_IOERR_FSTAT;
42370
- }
42371
- }
42372
-
42373
- /**
42374
- * @param {number} fileId
42375
- * @param {number} lockType
42376
- * @returns {number}
42377
- */
42378
- jLock(fileId, lockType) {
42379
- const file = this.mapIdToFile.get(fileId);
42380
- if (file.persistentFile.isRequestInProgress) {
42381
- file.persistentFile.isLockBusy = true;
42382
- return _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_BUSY;
42383
- }
42384
-
42385
- file.persistentFile.isFileLocked = true;
42386
- if (!file.persistentFile.handleLockReleaser) {
42387
- // Start listening for notifications from other connections.
42388
- // This is before we actually get access handles, but waiting to
42389
- // listen until then allows a race condition where notifications
42390
- // are missed.
42391
- file.persistentFile.handleRequestChannel.onmessage = () => {
42392
- this.log?.(`received notification for ${file.path}`);
42393
- if (file.persistentFile.isFileLocked) {
42394
- // We're still using the access handle, so mark it to be
42395
- // released when we're done.
42396
- file.persistentFile.isHandleRequested = true;
42397
- } else {
42398
- // Release the access handles immediately.
42399
- this.#releaseAccessHandle(file);
42400
- }
42401
- file.persistentFile.handleRequestChannel.onmessage = null;
42402
- };
42403
-
42404
- this.#requestAccessHandle(file);
42405
- this.log?.('returning SQLITE_BUSY');
42406
- file.persistentFile.isLockBusy = true;
42407
- return _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_BUSY;
42408
- }
42409
- file.persistentFile.isLockBusy = false;
42410
- return _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_OK;
42411
- }
42412
-
42413
- /**
42414
- * @param {number} fileId
42415
- * @param {number} lockType
42416
- * @returns {number}
42417
- */
42418
- jUnlock(fileId, lockType) {
42419
- const file = this.mapIdToFile.get(fileId);
42420
- if (lockType === _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_LOCK_NONE) {
42421
- // Don't change any state if this unlock is because xLock returned
42422
- // SQLITE_BUSY.
42423
- if (!file.persistentFile.isLockBusy) {
42424
- if (file.persistentFile.isHandleRequested) {
42425
- // Another connection wants the access handle.
42426
- this.#releaseAccessHandle(file);
42427
- this.isHandleRequested = false;
42428
- }
42429
- file.persistentFile.isFileLocked = false;
42430
- }
42431
- }
42432
- return _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_OK;
42433
- }
42434
-
42435
- /**
42436
- * @param {number} fileId
42437
- * @param {number} op
42438
- * @param {DataView} pArg
42439
- * @returns {number|Promise<number>}
42440
- */
42441
- jFileControl(fileId, op, pArg) {
42442
- try {
42443
- const file = this.mapIdToFile.get(fileId);
42444
- switch (op) {
42445
- case _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_FCNTL_PRAGMA:
42446
- const key = extractString(pArg, 4);
42447
- const value = extractString(pArg, 8);
42448
- this.log?.('xFileControl', file.path, 'PRAGMA', key, value);
42449
- switch (key.toLowerCase()) {
42450
- case 'journal_mode':
42451
- if (value &&
42452
- !['off', 'memory', 'delete', 'wal'].includes(value.toLowerCase())) {
42453
- throw new Error('journal_mode must be "off", "memory", "delete", or "wal"');
42454
- }
42455
- break;
42456
- }
42457
- break;
42458
- }
42459
- } catch (e) {
42460
- this.lastError = e;
42461
- return _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_IOERR;
42462
- }
42463
- return _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_NOTFOUND;
42464
- }
42465
-
42466
- /**
42467
- * @param {Uint8Array} zBuf
42468
- * @returns
42469
- */
42470
- jGetLastError(zBuf) {
42471
- if (this.lastError) {
42472
- console.error(this.lastError);
42473
- const outputArray = zBuf.subarray(0, zBuf.byteLength - 1);
42474
- const { written } = new TextEncoder().encodeInto(this.lastError.message, outputArray);
42475
- zBuf[written] = 0;
42476
- }
42477
- return _VFS_js__WEBPACK_IMPORTED_MODULE_1__.SQLITE_OK
42478
- }
42479
-
42480
- /**
42481
- * @param {FileSystemFileHandle} fileHandle
42482
- * @returns {Promise<PersistentFile>}
42483
- */
42484
- async #createPersistentFile(fileHandle) {
42485
- const persistentFile = new PersistentFile(fileHandle);
42486
- const root = await navigator.storage.getDirectory();
42487
- const relativePath = await root.resolve(fileHandle);
42488
- const path = `/${relativePath.join('/')}`;
42489
- persistentFile.handleRequestChannel = new BroadcastChannel(`ahp:${path}`);
42490
- this.persistentFiles.set(path, persistentFile);
42491
-
42492
- const f = await fileHandle.getFile();
42493
- if (f.size) {
42494
- this.accessiblePaths.add(path);
42495
- }
42496
- return persistentFile;
42497
- }
42498
-
42499
- /**
42500
- * @param {File} file
42501
- */
42502
- #requestAccessHandle(file) {
42503
- console.assert(!file.persistentFile.handleLockReleaser);
42504
- if (!file.persistentFile.isRequestInProgress) {
42505
- file.persistentFile.isRequestInProgress = true;
42506
- this._module.retryOps.push((async () => {
42507
- // Acquire the Web Lock.
42508
- file.persistentFile.handleLockReleaser = await this.#acquireLock(file.persistentFile);
42509
-
42510
- // Get access handles for the database and releated files in parallel.
42511
- this.log?.(`creating access handles for ${file.path}`)
42512
- await Promise.all(DB_RELATED_FILE_SUFFIXES.map(async suffix => {
42513
- const persistentFile = this.persistentFiles.get(file.path + suffix);
42514
- if (persistentFile) {
42515
- persistentFile.accessHandle =
42516
- await persistentFile.fileHandle.createSyncAccessHandle();
42517
- }
42518
- }));
42519
- file.persistentFile.isRequestInProgress = false;
42520
- })());
42521
- return this._module.retryOps.at(-1);
42522
- }
42523
- return Promise.resolve();
42524
- }
42525
-
42526
- /**
42527
- * @param {File} file
42528
- */
42529
- async #releaseAccessHandle(file) {
42530
- DB_RELATED_FILE_SUFFIXES.forEach(async suffix => {
42531
- const persistentFile = this.persistentFiles.get(file.path + suffix);
42532
- if (persistentFile) {
42533
- persistentFile.accessHandle?.close();
42534
- persistentFile.accessHandle = null;
42535
- }
42536
- });
42537
- this.log?.(`access handles closed for ${file.path}`)
42538
-
42539
- file.persistentFile.handleLockReleaser?.();
42540
- file.persistentFile.handleLockReleaser = null;
42541
- this.log?.(`lock released for ${file.path}`)
42542
- }
42543
-
42544
- /**
42545
- * @param {PersistentFile} persistentFile
42546
- * @returns {Promise<function>} lock releaser
42547
- */
42548
- #acquireLock(persistentFile) {
42549
- return new Promise(resolve => {
42550
- // Tell other connections we want the access handle.
42551
- const lockName = persistentFile.handleRequestChannel.name;
42552
- const notify = () => {
42553
- this.log?.(`notifying for ${lockName}`);
42554
- persistentFile.handleRequestChannel.postMessage(null);
42555
- }
42556
- const notifyId = setInterval(notify, LOCK_NOTIFY_INTERVAL);
42557
- setTimeout(notify);
42558
-
42559
- this.log?.(`lock requested: ${lockName}`)
42560
- navigator.locks.request(lockName, lock => {
42561
- // We have the lock. Stop asking other connections for it.
42562
- this.log?.(`lock acquired: ${lockName}`, lock);
42563
- clearInterval(notifyId);
42564
- return new Promise(resolve);
42565
- });
42566
- });
42567
- }
42568
- }
42569
-
42570
- function extractString(dataView, offset) {
42571
- const p = dataView.getUint32(offset, true);
42572
- if (p) {
42573
- const chars = new Uint8Array(dataView.buffer, p);
42574
- return new TextDecoder().decode(chars.subarray(0, chars.indexOf(0)));
42575
- }
42576
- return null;
42577
- }
42578
-
42579
- /***/ }),
42580
-
42581
- /***/ "./node_modules/@journeyapps/wa-sqlite/src/sqlite-constants.js":
42582
- /*!*********************************************************************!*\
42583
- !*** ./node_modules/@journeyapps/wa-sqlite/src/sqlite-constants.js ***!
42584
- \*********************************************************************/
42585
- /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
42586
-
42587
- "use strict";
42588
- __webpack_require__.r(__webpack_exports__);
42589
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
42590
- /* harmony export */ SQLITE_ABORT: () => (/* binding */ SQLITE_ABORT),
42591
- /* harmony export */ SQLITE_ACCESS_EXISTS: () => (/* binding */ SQLITE_ACCESS_EXISTS),
42592
- /* harmony export */ SQLITE_ACCESS_READ: () => (/* binding */ SQLITE_ACCESS_READ),
42593
- /* harmony export */ SQLITE_ACCESS_READWRITE: () => (/* binding */ SQLITE_ACCESS_READWRITE),
42594
- /* harmony export */ SQLITE_ALTER_TABLE: () => (/* binding */ SQLITE_ALTER_TABLE),
42595
- /* harmony export */ SQLITE_ANALYZE: () => (/* binding */ SQLITE_ANALYZE),
42596
- /* harmony export */ SQLITE_ATTACH: () => (/* binding */ SQLITE_ATTACH),
42597
- /* harmony export */ SQLITE_AUTH: () => (/* binding */ SQLITE_AUTH),
42598
- /* harmony export */ SQLITE_BLOB: () => (/* binding */ SQLITE_BLOB),
42599
- /* harmony export */ SQLITE_BUSY: () => (/* binding */ SQLITE_BUSY),
42600
- /* harmony export */ SQLITE_CANTOPEN: () => (/* binding */ SQLITE_CANTOPEN),
42601
- /* harmony export */ SQLITE_CONSTRAINT: () => (/* binding */ SQLITE_CONSTRAINT),
42602
- /* harmony export */ SQLITE_CONSTRAINT_CHECK: () => (/* binding */ SQLITE_CONSTRAINT_CHECK),
42603
- /* harmony export */ SQLITE_CONSTRAINT_COMMITHOOK: () => (/* binding */ SQLITE_CONSTRAINT_COMMITHOOK),
42604
- /* harmony export */ SQLITE_CONSTRAINT_FOREIGNKEY: () => (/* binding */ SQLITE_CONSTRAINT_FOREIGNKEY),
42605
- /* harmony export */ SQLITE_CONSTRAINT_FUNCTION: () => (/* binding */ SQLITE_CONSTRAINT_FUNCTION),
42606
- /* harmony export */ SQLITE_CONSTRAINT_NOTNULL: () => (/* binding */ SQLITE_CONSTRAINT_NOTNULL),
42607
- /* harmony export */ SQLITE_CONSTRAINT_PINNED: () => (/* binding */ SQLITE_CONSTRAINT_PINNED),
42608
- /* harmony export */ SQLITE_CONSTRAINT_PRIMARYKEY: () => (/* binding */ SQLITE_CONSTRAINT_PRIMARYKEY),
42609
- /* harmony export */ SQLITE_CONSTRAINT_ROWID: () => (/* binding */ SQLITE_CONSTRAINT_ROWID),
42610
- /* harmony export */ SQLITE_CONSTRAINT_TRIGGER: () => (/* binding */ SQLITE_CONSTRAINT_TRIGGER),
42611
- /* harmony export */ SQLITE_CONSTRAINT_UNIQUE: () => (/* binding */ SQLITE_CONSTRAINT_UNIQUE),
42612
- /* harmony export */ SQLITE_CONSTRAINT_VTAB: () => (/* binding */ SQLITE_CONSTRAINT_VTAB),
42613
- /* harmony export */ SQLITE_COPY: () => (/* binding */ SQLITE_COPY),
42614
- /* harmony export */ SQLITE_CORRUPT: () => (/* binding */ SQLITE_CORRUPT),
42615
- /* harmony export */ SQLITE_CREATE_INDEX: () => (/* binding */ SQLITE_CREATE_INDEX),
42616
- /* harmony export */ SQLITE_CREATE_TABLE: () => (/* binding */ SQLITE_CREATE_TABLE),
42617
- /* harmony export */ SQLITE_CREATE_TEMP_INDEX: () => (/* binding */ SQLITE_CREATE_TEMP_INDEX),
42618
- /* harmony export */ SQLITE_CREATE_TEMP_TABLE: () => (/* binding */ SQLITE_CREATE_TEMP_TABLE),
42619
- /* harmony export */ SQLITE_CREATE_TEMP_TRIGGER: () => (/* binding */ SQLITE_CREATE_TEMP_TRIGGER),
42620
- /* harmony export */ SQLITE_CREATE_TEMP_VIEW: () => (/* binding */ SQLITE_CREATE_TEMP_VIEW),
42621
- /* harmony export */ SQLITE_CREATE_TRIGGER: () => (/* binding */ SQLITE_CREATE_TRIGGER),
42622
- /* harmony export */ SQLITE_CREATE_VIEW: () => (/* binding */ SQLITE_CREATE_VIEW),
42623
- /* harmony export */ SQLITE_CREATE_VTABLE: () => (/* binding */ SQLITE_CREATE_VTABLE),
42624
- /* harmony export */ SQLITE_DELETE: () => (/* binding */ SQLITE_DELETE),
42625
- /* harmony export */ SQLITE_DENY: () => (/* binding */ SQLITE_DENY),
42626
- /* harmony export */ SQLITE_DETACH: () => (/* binding */ SQLITE_DETACH),
42627
- /* harmony export */ SQLITE_DETERMINISTIC: () => (/* binding */ SQLITE_DETERMINISTIC),
42628
- /* harmony export */ SQLITE_DIRECTONLY: () => (/* binding */ SQLITE_DIRECTONLY),
42629
- /* harmony export */ SQLITE_DONE: () => (/* binding */ SQLITE_DONE),
42630
- /* harmony export */ SQLITE_DROP_INDEX: () => (/* binding */ SQLITE_DROP_INDEX),
42631
- /* harmony export */ SQLITE_DROP_TABLE: () => (/* binding */ SQLITE_DROP_TABLE),
42632
- /* harmony export */ SQLITE_DROP_TEMP_INDEX: () => (/* binding */ SQLITE_DROP_TEMP_INDEX),
42633
- /* harmony export */ SQLITE_DROP_TEMP_TABLE: () => (/* binding */ SQLITE_DROP_TEMP_TABLE),
42634
- /* harmony export */ SQLITE_DROP_TEMP_TRIGGER: () => (/* binding */ SQLITE_DROP_TEMP_TRIGGER),
42635
- /* harmony export */ SQLITE_DROP_TEMP_VIEW: () => (/* binding */ SQLITE_DROP_TEMP_VIEW),
42636
- /* harmony export */ SQLITE_DROP_TRIGGER: () => (/* binding */ SQLITE_DROP_TRIGGER),
42637
- /* harmony export */ SQLITE_DROP_VIEW: () => (/* binding */ SQLITE_DROP_VIEW),
42638
- /* harmony export */ SQLITE_DROP_VTABLE: () => (/* binding */ SQLITE_DROP_VTABLE),
42639
- /* harmony export */ SQLITE_EMPTY: () => (/* binding */ SQLITE_EMPTY),
42640
- /* harmony export */ SQLITE_ERROR: () => (/* binding */ SQLITE_ERROR),
42641
- /* harmony export */ SQLITE_FCNTL_BEGIN_ATOMIC_WRITE: () => (/* binding */ SQLITE_FCNTL_BEGIN_ATOMIC_WRITE),
42642
- /* harmony export */ SQLITE_FCNTL_BUSYHANDLER: () => (/* binding */ SQLITE_FCNTL_BUSYHANDLER),
42643
- /* harmony export */ SQLITE_FCNTL_CHUNK_SIZE: () => (/* binding */ SQLITE_FCNTL_CHUNK_SIZE),
42644
- /* harmony export */ SQLITE_FCNTL_CKPT_DONE: () => (/* binding */ SQLITE_FCNTL_CKPT_DONE),
42645
- /* harmony export */ SQLITE_FCNTL_CKPT_START: () => (/* binding */ SQLITE_FCNTL_CKPT_START),
42646
- /* harmony export */ SQLITE_FCNTL_COMMIT_ATOMIC_WRITE: () => (/* binding */ SQLITE_FCNTL_COMMIT_ATOMIC_WRITE),
42647
- /* harmony export */ SQLITE_FCNTL_COMMIT_PHASETWO: () => (/* binding */ SQLITE_FCNTL_COMMIT_PHASETWO),
42648
- /* harmony export */ SQLITE_FCNTL_DATA_VERSION: () => (/* binding */ SQLITE_FCNTL_DATA_VERSION),
42649
- /* harmony export */ SQLITE_FCNTL_FILE_POINTER: () => (/* binding */ SQLITE_FCNTL_FILE_POINTER),
42650
- /* harmony export */ SQLITE_FCNTL_GET_LOCKPROXYFILE: () => (/* binding */ SQLITE_FCNTL_GET_LOCKPROXYFILE),
42651
- /* harmony export */ SQLITE_FCNTL_HAS_MOVED: () => (/* binding */ SQLITE_FCNTL_HAS_MOVED),
42652
- /* harmony export */ SQLITE_FCNTL_JOURNAL_POINTER: () => (/* binding */ SQLITE_FCNTL_JOURNAL_POINTER),
42653
- /* harmony export */ SQLITE_FCNTL_LAST_ERRNO: () => (/* binding */ SQLITE_FCNTL_LAST_ERRNO),
42654
- /* harmony export */ SQLITE_FCNTL_LOCKSTATE: () => (/* binding */ SQLITE_FCNTL_LOCKSTATE),
42655
- /* harmony export */ SQLITE_FCNTL_LOCK_TIMEOUT: () => (/* binding */ SQLITE_FCNTL_LOCK_TIMEOUT),
42656
- /* harmony export */ SQLITE_FCNTL_MMAP_SIZE: () => (/* binding */ SQLITE_FCNTL_MMAP_SIZE),
42657
- /* harmony export */ SQLITE_FCNTL_OVERWRITE: () => (/* binding */ SQLITE_FCNTL_OVERWRITE),
42658
- /* harmony export */ SQLITE_FCNTL_PDB: () => (/* binding */ SQLITE_FCNTL_PDB),
42659
- /* harmony export */ SQLITE_FCNTL_PERSIST_WAL: () => (/* binding */ SQLITE_FCNTL_PERSIST_WAL),
42660
- /* harmony export */ SQLITE_FCNTL_POWERSAFE_OVERWRITE: () => (/* binding */ SQLITE_FCNTL_POWERSAFE_OVERWRITE),
42661
- /* harmony export */ SQLITE_FCNTL_PRAGMA: () => (/* binding */ SQLITE_FCNTL_PRAGMA),
42662
- /* harmony export */ SQLITE_FCNTL_RBU: () => (/* binding */ SQLITE_FCNTL_RBU),
42663
- /* harmony export */ SQLITE_FCNTL_RESERVE_BYTES: () => (/* binding */ SQLITE_FCNTL_RESERVE_BYTES),
42664
- /* harmony export */ SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE: () => (/* binding */ SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE),
42665
- /* harmony export */ SQLITE_FCNTL_SET_LOCKPROXYFILE: () => (/* binding */ SQLITE_FCNTL_SET_LOCKPROXYFILE),
42666
- /* harmony export */ SQLITE_FCNTL_SIZE_HINT: () => (/* binding */ SQLITE_FCNTL_SIZE_HINT),
42667
- /* harmony export */ SQLITE_FCNTL_SIZE_LIMIT: () => (/* binding */ SQLITE_FCNTL_SIZE_LIMIT),
42668
- /* harmony export */ SQLITE_FCNTL_SYNC: () => (/* binding */ SQLITE_FCNTL_SYNC),
42669
- /* harmony export */ SQLITE_FCNTL_SYNC_OMITTED: () => (/* binding */ SQLITE_FCNTL_SYNC_OMITTED),
42670
- /* harmony export */ SQLITE_FCNTL_TEMPFILENAME: () => (/* binding */ SQLITE_FCNTL_TEMPFILENAME),
42671
- /* harmony export */ SQLITE_FCNTL_TRACE: () => (/* binding */ SQLITE_FCNTL_TRACE),
42672
- /* harmony export */ SQLITE_FCNTL_VFSNAME: () => (/* binding */ SQLITE_FCNTL_VFSNAME),
42673
- /* harmony export */ SQLITE_FCNTL_VFS_POINTER: () => (/* binding */ SQLITE_FCNTL_VFS_POINTER),
42674
- /* harmony export */ SQLITE_FCNTL_WAL_BLOCK: () => (/* binding */ SQLITE_FCNTL_WAL_BLOCK),
42675
- /* harmony export */ SQLITE_FCNTL_WIN32_AV_RETRY: () => (/* binding */ SQLITE_FCNTL_WIN32_AV_RETRY),
42676
- /* harmony export */ SQLITE_FCNTL_WIN32_GET_HANDLE: () => (/* binding */ SQLITE_FCNTL_WIN32_GET_HANDLE),
42677
- /* harmony export */ SQLITE_FCNTL_WIN32_SET_HANDLE: () => (/* binding */ SQLITE_FCNTL_WIN32_SET_HANDLE),
42678
- /* harmony export */ SQLITE_FCNTL_ZIPVFS: () => (/* binding */ SQLITE_FCNTL_ZIPVFS),
42679
- /* harmony export */ SQLITE_FLOAT: () => (/* binding */ SQLITE_FLOAT),
42680
- /* harmony export */ SQLITE_FORMAT: () => (/* binding */ SQLITE_FORMAT),
42681
- /* harmony export */ SQLITE_FULL: () => (/* binding */ SQLITE_FULL),
42682
- /* harmony export */ SQLITE_FUNCTION: () => (/* binding */ SQLITE_FUNCTION),
42683
- /* harmony export */ SQLITE_IGNORE: () => (/* binding */ SQLITE_IGNORE),
42684
- /* harmony export */ SQLITE_INDEX_CONSTRAINT_EQ: () => (/* binding */ SQLITE_INDEX_CONSTRAINT_EQ),
42685
- /* harmony export */ SQLITE_INDEX_CONSTRAINT_FUNCTION: () => (/* binding */ SQLITE_INDEX_CONSTRAINT_FUNCTION),
42686
- /* harmony export */ SQLITE_INDEX_CONSTRAINT_GE: () => (/* binding */ SQLITE_INDEX_CONSTRAINT_GE),
42687
- /* harmony export */ SQLITE_INDEX_CONSTRAINT_GLOB: () => (/* binding */ SQLITE_INDEX_CONSTRAINT_GLOB),
42688
- /* harmony export */ SQLITE_INDEX_CONSTRAINT_GT: () => (/* binding */ SQLITE_INDEX_CONSTRAINT_GT),
42689
- /* harmony export */ SQLITE_INDEX_CONSTRAINT_IS: () => (/* binding */ SQLITE_INDEX_CONSTRAINT_IS),
42690
- /* harmony export */ SQLITE_INDEX_CONSTRAINT_ISNOT: () => (/* binding */ SQLITE_INDEX_CONSTRAINT_ISNOT),
42691
- /* harmony export */ SQLITE_INDEX_CONSTRAINT_ISNOTNULL: () => (/* binding */ SQLITE_INDEX_CONSTRAINT_ISNOTNULL),
42692
- /* harmony export */ SQLITE_INDEX_CONSTRAINT_ISNULL: () => (/* binding */ SQLITE_INDEX_CONSTRAINT_ISNULL),
42693
- /* harmony export */ SQLITE_INDEX_CONSTRAINT_LE: () => (/* binding */ SQLITE_INDEX_CONSTRAINT_LE),
42694
- /* harmony export */ SQLITE_INDEX_CONSTRAINT_LIKE: () => (/* binding */ SQLITE_INDEX_CONSTRAINT_LIKE),
42695
- /* harmony export */ SQLITE_INDEX_CONSTRAINT_LT: () => (/* binding */ SQLITE_INDEX_CONSTRAINT_LT),
42696
- /* harmony export */ SQLITE_INDEX_CONSTRAINT_MATCH: () => (/* binding */ SQLITE_INDEX_CONSTRAINT_MATCH),
42697
- /* harmony export */ SQLITE_INDEX_CONSTRAINT_NE: () => (/* binding */ SQLITE_INDEX_CONSTRAINT_NE),
42698
- /* harmony export */ SQLITE_INDEX_CONSTRAINT_REGEXP: () => (/* binding */ SQLITE_INDEX_CONSTRAINT_REGEXP),
42699
- /* harmony export */ SQLITE_INDEX_SCAN_UNIQUE: () => (/* binding */ SQLITE_INDEX_SCAN_UNIQUE),
42700
- /* harmony export */ SQLITE_INNOCUOUS: () => (/* binding */ SQLITE_INNOCUOUS),
42701
- /* harmony export */ SQLITE_INSERT: () => (/* binding */ SQLITE_INSERT),
42702
- /* harmony export */ SQLITE_INTEGER: () => (/* binding */ SQLITE_INTEGER),
42703
- /* harmony export */ SQLITE_INTERNAL: () => (/* binding */ SQLITE_INTERNAL),
42704
- /* harmony export */ SQLITE_INTERRUPT: () => (/* binding */ SQLITE_INTERRUPT),
42705
- /* harmony export */ SQLITE_IOCAP_ATOMIC: () => (/* binding */ SQLITE_IOCAP_ATOMIC),
42706
- /* harmony export */ SQLITE_IOCAP_ATOMIC16K: () => (/* binding */ SQLITE_IOCAP_ATOMIC16K),
42707
- /* harmony export */ SQLITE_IOCAP_ATOMIC1K: () => (/* binding */ SQLITE_IOCAP_ATOMIC1K),
42708
- /* harmony export */ SQLITE_IOCAP_ATOMIC2K: () => (/* binding */ SQLITE_IOCAP_ATOMIC2K),
42709
- /* harmony export */ SQLITE_IOCAP_ATOMIC32K: () => (/* binding */ SQLITE_IOCAP_ATOMIC32K),
42710
- /* harmony export */ SQLITE_IOCAP_ATOMIC4K: () => (/* binding */ SQLITE_IOCAP_ATOMIC4K),
42711
- /* harmony export */ SQLITE_IOCAP_ATOMIC512: () => (/* binding */ SQLITE_IOCAP_ATOMIC512),
42712
- /* harmony export */ SQLITE_IOCAP_ATOMIC64K: () => (/* binding */ SQLITE_IOCAP_ATOMIC64K),
42713
- /* harmony export */ SQLITE_IOCAP_ATOMIC8K: () => (/* binding */ SQLITE_IOCAP_ATOMIC8K),
42714
- /* harmony export */ SQLITE_IOCAP_BATCH_ATOMIC: () => (/* binding */ SQLITE_IOCAP_BATCH_ATOMIC),
42715
- /* harmony export */ SQLITE_IOCAP_IMMUTABLE: () => (/* binding */ SQLITE_IOCAP_IMMUTABLE),
42716
- /* harmony export */ SQLITE_IOCAP_POWERSAFE_OVERWRITE: () => (/* binding */ SQLITE_IOCAP_POWERSAFE_OVERWRITE),
42717
- /* harmony export */ SQLITE_IOCAP_SAFE_APPEND: () => (/* binding */ SQLITE_IOCAP_SAFE_APPEND),
42718
- /* harmony export */ SQLITE_IOCAP_SEQUENTIAL: () => (/* binding */ SQLITE_IOCAP_SEQUENTIAL),
42719
- /* harmony export */ SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN: () => (/* binding */ SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN),
42720
- /* harmony export */ SQLITE_IOERR: () => (/* binding */ SQLITE_IOERR),
42721
- /* harmony export */ SQLITE_IOERR_ACCESS: () => (/* binding */ SQLITE_IOERR_ACCESS),
42722
- /* harmony export */ SQLITE_IOERR_BEGIN_ATOMIC: () => (/* binding */ SQLITE_IOERR_BEGIN_ATOMIC),
42723
- /* harmony export */ SQLITE_IOERR_CHECKRESERVEDLOCK: () => (/* binding */ SQLITE_IOERR_CHECKRESERVEDLOCK),
42724
- /* harmony export */ SQLITE_IOERR_CLOSE: () => (/* binding */ SQLITE_IOERR_CLOSE),
42725
- /* harmony export */ SQLITE_IOERR_COMMIT_ATOMIC: () => (/* binding */ SQLITE_IOERR_COMMIT_ATOMIC),
42726
- /* harmony export */ SQLITE_IOERR_DATA: () => (/* binding */ SQLITE_IOERR_DATA),
42727
- /* harmony export */ SQLITE_IOERR_DELETE: () => (/* binding */ SQLITE_IOERR_DELETE),
42728
- /* harmony export */ SQLITE_IOERR_DELETE_NOENT: () => (/* binding */ SQLITE_IOERR_DELETE_NOENT),
42729
- /* harmony export */ SQLITE_IOERR_DIR_FSYNC: () => (/* binding */ SQLITE_IOERR_DIR_FSYNC),
42730
- /* harmony export */ SQLITE_IOERR_FSTAT: () => (/* binding */ SQLITE_IOERR_FSTAT),
42731
- /* harmony export */ SQLITE_IOERR_FSYNC: () => (/* binding */ SQLITE_IOERR_FSYNC),
42732
- /* harmony export */ SQLITE_IOERR_GETTEMPPATH: () => (/* binding */ SQLITE_IOERR_GETTEMPPATH),
42733
- /* harmony export */ SQLITE_IOERR_LOCK: () => (/* binding */ SQLITE_IOERR_LOCK),
42734
- /* harmony export */ SQLITE_IOERR_NOMEM: () => (/* binding */ SQLITE_IOERR_NOMEM),
42735
- /* harmony export */ SQLITE_IOERR_RDLOCK: () => (/* binding */ SQLITE_IOERR_RDLOCK),
42736
- /* harmony export */ SQLITE_IOERR_READ: () => (/* binding */ SQLITE_IOERR_READ),
42737
- /* harmony export */ SQLITE_IOERR_ROLLBACK_ATOMIC: () => (/* binding */ SQLITE_IOERR_ROLLBACK_ATOMIC),
42738
- /* harmony export */ SQLITE_IOERR_SEEK: () => (/* binding */ SQLITE_IOERR_SEEK),
42739
- /* harmony export */ SQLITE_IOERR_SHORT_READ: () => (/* binding */ SQLITE_IOERR_SHORT_READ),
42740
- /* harmony export */ SQLITE_IOERR_TRUNCATE: () => (/* binding */ SQLITE_IOERR_TRUNCATE),
42741
- /* harmony export */ SQLITE_IOERR_UNLOCK: () => (/* binding */ SQLITE_IOERR_UNLOCK),
42742
- /* harmony export */ SQLITE_IOERR_VNODE: () => (/* binding */ SQLITE_IOERR_VNODE),
42743
- /* harmony export */ SQLITE_IOERR_WRITE: () => (/* binding */ SQLITE_IOERR_WRITE),
42744
- /* harmony export */ SQLITE_LIMIT_ATTACHED: () => (/* binding */ SQLITE_LIMIT_ATTACHED),
42745
- /* harmony export */ SQLITE_LIMIT_COLUMN: () => (/* binding */ SQLITE_LIMIT_COLUMN),
42746
- /* harmony export */ SQLITE_LIMIT_COMPOUND_SELECT: () => (/* binding */ SQLITE_LIMIT_COMPOUND_SELECT),
42747
- /* harmony export */ SQLITE_LIMIT_EXPR_DEPTH: () => (/* binding */ SQLITE_LIMIT_EXPR_DEPTH),
42748
- /* harmony export */ SQLITE_LIMIT_FUNCTION_ARG: () => (/* binding */ SQLITE_LIMIT_FUNCTION_ARG),
42749
- /* harmony export */ SQLITE_LIMIT_LENGTH: () => (/* binding */ SQLITE_LIMIT_LENGTH),
42750
- /* harmony export */ SQLITE_LIMIT_LIKE_PATTERN_LENGTH: () => (/* binding */ SQLITE_LIMIT_LIKE_PATTERN_LENGTH),
42751
- /* harmony export */ SQLITE_LIMIT_SQL_LENGTH: () => (/* binding */ SQLITE_LIMIT_SQL_LENGTH),
42752
- /* harmony export */ SQLITE_LIMIT_TRIGGER_DEPTH: () => (/* binding */ SQLITE_LIMIT_TRIGGER_DEPTH),
42753
- /* harmony export */ SQLITE_LIMIT_VARIABLE_NUMBER: () => (/* binding */ SQLITE_LIMIT_VARIABLE_NUMBER),
42754
- /* harmony export */ SQLITE_LIMIT_VDBE_OP: () => (/* binding */ SQLITE_LIMIT_VDBE_OP),
42755
- /* harmony export */ SQLITE_LIMIT_WORKER_THREADS: () => (/* binding */ SQLITE_LIMIT_WORKER_THREADS),
42756
- /* harmony export */ SQLITE_LOCKED: () => (/* binding */ SQLITE_LOCKED),
42757
- /* harmony export */ SQLITE_LOCK_EXCLUSIVE: () => (/* binding */ SQLITE_LOCK_EXCLUSIVE),
42758
- /* harmony export */ SQLITE_LOCK_NONE: () => (/* binding */ SQLITE_LOCK_NONE),
42759
- /* harmony export */ SQLITE_LOCK_PENDING: () => (/* binding */ SQLITE_LOCK_PENDING),
42760
- /* harmony export */ SQLITE_LOCK_RESERVED: () => (/* binding */ SQLITE_LOCK_RESERVED),
42761
- /* harmony export */ SQLITE_LOCK_SHARED: () => (/* binding */ SQLITE_LOCK_SHARED),
42762
- /* harmony export */ SQLITE_MISMATCH: () => (/* binding */ SQLITE_MISMATCH),
42763
- /* harmony export */ SQLITE_MISUSE: () => (/* binding */ SQLITE_MISUSE),
42764
- /* harmony export */ SQLITE_NOLFS: () => (/* binding */ SQLITE_NOLFS),
42765
- /* harmony export */ SQLITE_NOMEM: () => (/* binding */ SQLITE_NOMEM),
42766
- /* harmony export */ SQLITE_NOTADB: () => (/* binding */ SQLITE_NOTADB),
42767
- /* harmony export */ SQLITE_NOTFOUND: () => (/* binding */ SQLITE_NOTFOUND),
42768
- /* harmony export */ SQLITE_NOTICE: () => (/* binding */ SQLITE_NOTICE),
42769
- /* harmony export */ SQLITE_NULL: () => (/* binding */ SQLITE_NULL),
42770
- /* harmony export */ SQLITE_OK: () => (/* binding */ SQLITE_OK),
42771
- /* harmony export */ SQLITE_OPEN_AUTOPROXY: () => (/* binding */ SQLITE_OPEN_AUTOPROXY),
42772
- /* harmony export */ SQLITE_OPEN_CREATE: () => (/* binding */ SQLITE_OPEN_CREATE),
42773
- /* harmony export */ SQLITE_OPEN_DELETEONCLOSE: () => (/* binding */ SQLITE_OPEN_DELETEONCLOSE),
42774
- /* harmony export */ SQLITE_OPEN_EXCLUSIVE: () => (/* binding */ SQLITE_OPEN_EXCLUSIVE),
42775
- /* harmony export */ SQLITE_OPEN_FULLMUTEX: () => (/* binding */ SQLITE_OPEN_FULLMUTEX),
42776
- /* harmony export */ SQLITE_OPEN_MAIN_DB: () => (/* binding */ SQLITE_OPEN_MAIN_DB),
42777
- /* harmony export */ SQLITE_OPEN_MAIN_JOURNAL: () => (/* binding */ SQLITE_OPEN_MAIN_JOURNAL),
42778
- /* harmony export */ SQLITE_OPEN_MEMORY: () => (/* binding */ SQLITE_OPEN_MEMORY),
42779
- /* harmony export */ SQLITE_OPEN_NOFOLLOW: () => (/* binding */ SQLITE_OPEN_NOFOLLOW),
42780
- /* harmony export */ SQLITE_OPEN_NOMUTEX: () => (/* binding */ SQLITE_OPEN_NOMUTEX),
42781
- /* harmony export */ SQLITE_OPEN_PRIVATECACHE: () => (/* binding */ SQLITE_OPEN_PRIVATECACHE),
42782
- /* harmony export */ SQLITE_OPEN_READONLY: () => (/* binding */ SQLITE_OPEN_READONLY),
42783
- /* harmony export */ SQLITE_OPEN_READWRITE: () => (/* binding */ SQLITE_OPEN_READWRITE),
42784
- /* harmony export */ SQLITE_OPEN_SHAREDCACHE: () => (/* binding */ SQLITE_OPEN_SHAREDCACHE),
42785
- /* harmony export */ SQLITE_OPEN_SUBJOURNAL: () => (/* binding */ SQLITE_OPEN_SUBJOURNAL),
42786
- /* harmony export */ SQLITE_OPEN_SUPER_JOURNAL: () => (/* binding */ SQLITE_OPEN_SUPER_JOURNAL),
42787
- /* harmony export */ SQLITE_OPEN_TEMP_DB: () => (/* binding */ SQLITE_OPEN_TEMP_DB),
42788
- /* harmony export */ SQLITE_OPEN_TEMP_JOURNAL: () => (/* binding */ SQLITE_OPEN_TEMP_JOURNAL),
42789
- /* harmony export */ SQLITE_OPEN_TRANSIENT_DB: () => (/* binding */ SQLITE_OPEN_TRANSIENT_DB),
42790
- /* harmony export */ SQLITE_OPEN_URI: () => (/* binding */ SQLITE_OPEN_URI),
42791
- /* harmony export */ SQLITE_OPEN_WAL: () => (/* binding */ SQLITE_OPEN_WAL),
42792
- /* harmony export */ SQLITE_PERM: () => (/* binding */ SQLITE_PERM),
42793
- /* harmony export */ SQLITE_PRAGMA: () => (/* binding */ SQLITE_PRAGMA),
42794
- /* harmony export */ SQLITE_PREPARE_NORMALIZED: () => (/* binding */ SQLITE_PREPARE_NORMALIZED),
42795
- /* harmony export */ SQLITE_PREPARE_NO_VTAB: () => (/* binding */ SQLITE_PREPARE_NO_VTAB),
42796
- /* harmony export */ SQLITE_PREPARE_PERSISTENT: () => (/* binding */ SQLITE_PREPARE_PERSISTENT),
42797
- /* harmony export */ SQLITE_PROTOCOL: () => (/* binding */ SQLITE_PROTOCOL),
42798
- /* harmony export */ SQLITE_RANGE: () => (/* binding */ SQLITE_RANGE),
42799
- /* harmony export */ SQLITE_READ: () => (/* binding */ SQLITE_READ),
42800
- /* harmony export */ SQLITE_READONLY: () => (/* binding */ SQLITE_READONLY),
42801
- /* harmony export */ SQLITE_RECURSIVE: () => (/* binding */ SQLITE_RECURSIVE),
42802
- /* harmony export */ SQLITE_REINDEX: () => (/* binding */ SQLITE_REINDEX),
42803
- /* harmony export */ SQLITE_ROW: () => (/* binding */ SQLITE_ROW),
42804
- /* harmony export */ SQLITE_SAVEPOINT: () => (/* binding */ SQLITE_SAVEPOINT),
42805
- /* harmony export */ SQLITE_SCHEMA: () => (/* binding */ SQLITE_SCHEMA),
42806
- /* harmony export */ SQLITE_SELECT: () => (/* binding */ SQLITE_SELECT),
42807
- /* harmony export */ SQLITE_STATIC: () => (/* binding */ SQLITE_STATIC),
42808
- /* harmony export */ SQLITE_SUBTYPE: () => (/* binding */ SQLITE_SUBTYPE),
42809
- /* harmony export */ SQLITE_SYNC_DATAONLY: () => (/* binding */ SQLITE_SYNC_DATAONLY),
42810
- /* harmony export */ SQLITE_SYNC_FULL: () => (/* binding */ SQLITE_SYNC_FULL),
42811
- /* harmony export */ SQLITE_SYNC_NORMAL: () => (/* binding */ SQLITE_SYNC_NORMAL),
42812
- /* harmony export */ SQLITE_TEXT: () => (/* binding */ SQLITE_TEXT),
42813
- /* harmony export */ SQLITE_TOOBIG: () => (/* binding */ SQLITE_TOOBIG),
42814
- /* harmony export */ SQLITE_TRANSACTION: () => (/* binding */ SQLITE_TRANSACTION),
42815
- /* harmony export */ SQLITE_TRANSIENT: () => (/* binding */ SQLITE_TRANSIENT),
42816
- /* harmony export */ SQLITE_UPDATE: () => (/* binding */ SQLITE_UPDATE),
42817
- /* harmony export */ SQLITE_UTF16: () => (/* binding */ SQLITE_UTF16),
42818
- /* harmony export */ SQLITE_UTF16BE: () => (/* binding */ SQLITE_UTF16BE),
42819
- /* harmony export */ SQLITE_UTF16LE: () => (/* binding */ SQLITE_UTF16LE),
42820
- /* harmony export */ SQLITE_UTF8: () => (/* binding */ SQLITE_UTF8),
42821
- /* harmony export */ SQLITE_WARNING: () => (/* binding */ SQLITE_WARNING)
42822
- /* harmony export */ });
42823
- // Primary result codes.
42824
- // https://www.sqlite.org/rescode.html
42825
- const SQLITE_OK = 0;
42826
- const SQLITE_ERROR = 1;
42827
- const SQLITE_INTERNAL = 2;
42828
- const SQLITE_PERM = 3;
42829
- const SQLITE_ABORT = 4;
42830
- const SQLITE_BUSY = 5;
42831
- const SQLITE_LOCKED = 6;
42832
- const SQLITE_NOMEM = 7;
42833
- const SQLITE_READONLY = 8;
42834
- const SQLITE_INTERRUPT = 9;
42835
- const SQLITE_IOERR = 10;
42836
- const SQLITE_CORRUPT = 11;
42837
- const SQLITE_NOTFOUND = 12;
42838
- const SQLITE_FULL = 13;
42839
- const SQLITE_CANTOPEN = 14;
42840
- const SQLITE_PROTOCOL = 15;
42841
- const SQLITE_EMPTY = 16;
42842
- const SQLITE_SCHEMA = 17;
42843
- const SQLITE_TOOBIG = 18;
42844
- const SQLITE_CONSTRAINT = 19;
42845
- const SQLITE_MISMATCH = 20;
42846
- const SQLITE_MISUSE = 21;
42847
- const SQLITE_NOLFS = 22;
42848
- const SQLITE_AUTH = 23;
42849
- const SQLITE_FORMAT = 24;
42850
- const SQLITE_RANGE = 25;
42851
- const SQLITE_NOTADB = 26;
42852
- const SQLITE_NOTICE = 27;
42853
- const SQLITE_WARNING = 28;
42854
- const SQLITE_ROW = 100;
42855
- const SQLITE_DONE = 101;
42856
-
42857
- // Extended error codes.
42858
- const SQLITE_IOERR_ACCESS = 3338;
42859
- const SQLITE_IOERR_CHECKRESERVEDLOCK = 3594;
42860
- const SQLITE_IOERR_CLOSE = 4106;
42861
- const SQLITE_IOERR_DATA = 8202;
42862
- const SQLITE_IOERR_DELETE = 2570;
42863
- const SQLITE_IOERR_DELETE_NOENT = 5898;
42864
- const SQLITE_IOERR_DIR_FSYNC = 1290;
42865
- const SQLITE_IOERR_FSTAT = 1802;
42866
- const SQLITE_IOERR_FSYNC = 1034;
42867
- const SQLITE_IOERR_GETTEMPPATH = 6410;
42868
- const SQLITE_IOERR_LOCK = 3850;
42869
- const SQLITE_IOERR_NOMEM = 3082;
42870
- const SQLITE_IOERR_READ = 266;
42871
- const SQLITE_IOERR_RDLOCK = 2314;
42872
- const SQLITE_IOERR_SEEK = 5642;
42873
- const SQLITE_IOERR_SHORT_READ = 522;
42874
- const SQLITE_IOERR_TRUNCATE = 1546;
42875
- const SQLITE_IOERR_UNLOCK = 2058;
42876
- const SQLITE_IOERR_VNODE = 6922;
42877
- const SQLITE_IOERR_WRITE = 778;
42878
- const SQLITE_IOERR_BEGIN_ATOMIC = 7434;
42879
- const SQLITE_IOERR_COMMIT_ATOMIC = 7690;
42880
- const SQLITE_IOERR_ROLLBACK_ATOMIC = 7946;
42881
-
42882
- // Other extended result codes.
42883
- const SQLITE_CONSTRAINT_CHECK = 275;
42884
- const SQLITE_CONSTRAINT_COMMITHOOK = 531;
42885
- const SQLITE_CONSTRAINT_FOREIGNKEY = 787;
42886
- const SQLITE_CONSTRAINT_FUNCTION = 1043;
42887
- const SQLITE_CONSTRAINT_NOTNULL = 1299;
42888
- const SQLITE_CONSTRAINT_PINNED = 2835;
42889
- const SQLITE_CONSTRAINT_PRIMARYKEY = 1555;
42890
- const SQLITE_CONSTRAINT_ROWID = 2579;
42891
- const SQLITE_CONSTRAINT_TRIGGER = 1811;
42892
- const SQLITE_CONSTRAINT_UNIQUE = 2067;
42893
- const SQLITE_CONSTRAINT_VTAB = 2323;
42894
-
42895
- // Open flags.
42896
- // https://www.sqlite.org/c3ref/c_open_autoproxy.html
42897
- const SQLITE_OPEN_READONLY = 0x00000001;
42898
- const SQLITE_OPEN_READWRITE = 0x00000002;
42899
- const SQLITE_OPEN_CREATE = 0x00000004;
42900
- const SQLITE_OPEN_DELETEONCLOSE = 0x00000008;
42901
- const SQLITE_OPEN_EXCLUSIVE = 0x00000010;
42902
- const SQLITE_OPEN_AUTOPROXY = 0x00000020;
42903
- const SQLITE_OPEN_URI = 0x00000040;
42904
- const SQLITE_OPEN_MEMORY = 0x00000080;
42905
- const SQLITE_OPEN_MAIN_DB = 0x00000100;
42906
- const SQLITE_OPEN_TEMP_DB = 0x00000200;
42907
- const SQLITE_OPEN_TRANSIENT_DB = 0x00000400;
42908
- const SQLITE_OPEN_MAIN_JOURNAL = 0x00000800;
42909
- const SQLITE_OPEN_TEMP_JOURNAL = 0x00001000;
42910
- const SQLITE_OPEN_SUBJOURNAL = 0x00002000;
42911
- const SQLITE_OPEN_SUPER_JOURNAL = 0x00004000;
42912
- const SQLITE_OPEN_NOMUTEX = 0x00008000;
42913
- const SQLITE_OPEN_FULLMUTEX = 0x00010000;
42914
- const SQLITE_OPEN_SHAREDCACHE = 0x00020000;
42915
- const SQLITE_OPEN_PRIVATECACHE = 0x00040000;
42916
- const SQLITE_OPEN_WAL = 0x00080000;
42917
- const SQLITE_OPEN_NOFOLLOW = 0x01000000;
42918
-
42919
- // Locking levels.
42920
- // https://www.sqlite.org/c3ref/c_lock_exclusive.html
42921
- const SQLITE_LOCK_NONE = 0;
42922
- const SQLITE_LOCK_SHARED = 1;
42923
- const SQLITE_LOCK_RESERVED = 2;
42924
- const SQLITE_LOCK_PENDING = 3;
42925
- const SQLITE_LOCK_EXCLUSIVE = 4;
42926
-
42927
- // Device characteristics.
42928
- // https://www.sqlite.org/c3ref/c_iocap_atomic.html
42929
- const SQLITE_IOCAP_ATOMIC = 0x00000001;
42930
- const SQLITE_IOCAP_ATOMIC512 = 0x00000002;
42931
- const SQLITE_IOCAP_ATOMIC1K = 0x00000004;
42932
- const SQLITE_IOCAP_ATOMIC2K = 0x00000008;
42933
- const SQLITE_IOCAP_ATOMIC4K = 0x00000010;
42934
- const SQLITE_IOCAP_ATOMIC8K = 0x00000020;
42935
- const SQLITE_IOCAP_ATOMIC16K = 0x00000040;
42936
- const SQLITE_IOCAP_ATOMIC32K = 0x00000080;
42937
- const SQLITE_IOCAP_ATOMIC64K = 0x00000100;
42938
- const SQLITE_IOCAP_SAFE_APPEND = 0x00000200;
42939
- const SQLITE_IOCAP_SEQUENTIAL = 0x00000400;
42940
- const SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN = 0x00000800;
42941
- const SQLITE_IOCAP_POWERSAFE_OVERWRITE = 0x00001000;
42942
- const SQLITE_IOCAP_IMMUTABLE = 0x00002000;
42943
- const SQLITE_IOCAP_BATCH_ATOMIC = 0x00004000;
42944
-
42945
- // xAccess flags.
42946
- // https://www.sqlite.org/c3ref/c_access_exists.html
42947
- const SQLITE_ACCESS_EXISTS = 0;
42948
- const SQLITE_ACCESS_READWRITE = 1;
42949
- const SQLITE_ACCESS_READ = 2;
42950
-
42951
- // File control opcodes
42952
- // https://www.sqlite.org/c3ref/c_fcntl_begin_atomic_write.html#sqlitefcntlbeginatomicwrite
42953
- const SQLITE_FCNTL_LOCKSTATE = 1;
42954
- const SQLITE_FCNTL_GET_LOCKPROXYFILE = 2;
42955
- const SQLITE_FCNTL_SET_LOCKPROXYFILE = 3;
42956
- const SQLITE_FCNTL_LAST_ERRNO = 4;
42957
- const SQLITE_FCNTL_SIZE_HINT = 5;
42958
- const SQLITE_FCNTL_CHUNK_SIZE = 6;
42959
- const SQLITE_FCNTL_FILE_POINTER = 7;
42960
- const SQLITE_FCNTL_SYNC_OMITTED = 8;
42961
- const SQLITE_FCNTL_WIN32_AV_RETRY = 9;
42962
- const SQLITE_FCNTL_PERSIST_WAL = 10;
42963
- const SQLITE_FCNTL_OVERWRITE = 11;
42964
- const SQLITE_FCNTL_VFSNAME = 12;
42965
- const SQLITE_FCNTL_POWERSAFE_OVERWRITE = 13;
42966
- const SQLITE_FCNTL_PRAGMA = 14;
42967
- const SQLITE_FCNTL_BUSYHANDLER = 15;
42968
- const SQLITE_FCNTL_TEMPFILENAME = 16;
42969
- const SQLITE_FCNTL_MMAP_SIZE = 18;
42970
- const SQLITE_FCNTL_TRACE = 19;
42971
- const SQLITE_FCNTL_HAS_MOVED = 20;
42972
- const SQLITE_FCNTL_SYNC = 21;
42973
- const SQLITE_FCNTL_COMMIT_PHASETWO = 22;
42974
- const SQLITE_FCNTL_WIN32_SET_HANDLE = 23;
42975
- const SQLITE_FCNTL_WAL_BLOCK = 24;
42976
- const SQLITE_FCNTL_ZIPVFS = 25;
42977
- const SQLITE_FCNTL_RBU = 26;
42978
- const SQLITE_FCNTL_VFS_POINTER = 27;
42979
- const SQLITE_FCNTL_JOURNAL_POINTER = 28;
42980
- const SQLITE_FCNTL_WIN32_GET_HANDLE = 29;
42981
- const SQLITE_FCNTL_PDB = 30;
42982
- const SQLITE_FCNTL_BEGIN_ATOMIC_WRITE = 31;
42983
- const SQLITE_FCNTL_COMMIT_ATOMIC_WRITE = 32;
42984
- const SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE = 33;
42985
- const SQLITE_FCNTL_LOCK_TIMEOUT = 34;
42986
- const SQLITE_FCNTL_DATA_VERSION = 35;
42987
- const SQLITE_FCNTL_SIZE_LIMIT = 36;
42988
- const SQLITE_FCNTL_CKPT_DONE = 37;
42989
- const SQLITE_FCNTL_RESERVE_BYTES = 38;
42990
- const SQLITE_FCNTL_CKPT_START = 39;
42991
-
42992
- // Fundamental datatypes.
42993
- // https://www.sqlite.org/c3ref/c_blob.html
42994
- const SQLITE_INTEGER = 1;
42995
- const SQLITE_FLOAT = 2;
42996
- const SQLITE_TEXT = 3;
42997
- const SQLITE_BLOB = 4;
42998
- const SQLITE_NULL = 5;
42999
-
43000
- // Special destructor behavior.
43001
- // https://www.sqlite.org/c3ref/c_static.html
43002
- const SQLITE_STATIC = 0;
43003
- const SQLITE_TRANSIENT = -1;
43004
-
43005
- // Text encodings.
43006
- // https://sqlite.org/c3ref/c_any.html
43007
- const SQLITE_UTF8 = 1; /* IMP: R-37514-35566 */
43008
- const SQLITE_UTF16LE = 2; /* IMP: R-03371-37637 */
43009
- const SQLITE_UTF16BE = 3; /* IMP: R-51971-34154 */
43010
- const SQLITE_UTF16 = 4; /* Use native byte order */
43011
-
43012
- // Module constraint ops.
43013
- const SQLITE_INDEX_CONSTRAINT_EQ = 2;
43014
- const SQLITE_INDEX_CONSTRAINT_GT = 4;
43015
- const SQLITE_INDEX_CONSTRAINT_LE = 8;
43016
- const SQLITE_INDEX_CONSTRAINT_LT = 16;
43017
- const SQLITE_INDEX_CONSTRAINT_GE = 32;
43018
- const SQLITE_INDEX_CONSTRAINT_MATCH = 64;
43019
- const SQLITE_INDEX_CONSTRAINT_LIKE = 65;
43020
- const SQLITE_INDEX_CONSTRAINT_GLOB = 66;
43021
- const SQLITE_INDEX_CONSTRAINT_REGEXP = 67;
43022
- const SQLITE_INDEX_CONSTRAINT_NE = 68;
43023
- const SQLITE_INDEX_CONSTRAINT_ISNOT = 69;
43024
- const SQLITE_INDEX_CONSTRAINT_ISNOTNULL = 70;
43025
- const SQLITE_INDEX_CONSTRAINT_ISNULL = 71;
43026
- const SQLITE_INDEX_CONSTRAINT_IS = 72;
43027
- const SQLITE_INDEX_CONSTRAINT_FUNCTION = 150;
43028
- const SQLITE_INDEX_SCAN_UNIQUE = 1; /* Scan visits at most = 1 row */
43029
-
43030
- // Function flags
43031
- const SQLITE_DETERMINISTIC = 0x000000800;
43032
- const SQLITE_DIRECTONLY = 0x000080000;
43033
- const SQLITE_SUBTYPE = 0x000100000;
43034
- const SQLITE_INNOCUOUS = 0x000200000;
43035
-
43036
- // Sync flags
43037
- const SQLITE_SYNC_NORMAL = 0x00002;
43038
- const SQLITE_SYNC_FULL = 0x00003;
43039
- const SQLITE_SYNC_DATAONLY = 0x00010;
43040
-
43041
- // Authorizer action codes
43042
- const SQLITE_CREATE_INDEX = 1;
43043
- const SQLITE_CREATE_TABLE = 2;
43044
- const SQLITE_CREATE_TEMP_INDEX = 3;
43045
- const SQLITE_CREATE_TEMP_TABLE = 4;
43046
- const SQLITE_CREATE_TEMP_TRIGGER = 5;
43047
- const SQLITE_CREATE_TEMP_VIEW = 6;
43048
- const SQLITE_CREATE_TRIGGER = 7;
43049
- const SQLITE_CREATE_VIEW = 8;
43050
- const SQLITE_DELETE = 9;
43051
- const SQLITE_DROP_INDEX = 10;
43052
- const SQLITE_DROP_TABLE = 11;
43053
- const SQLITE_DROP_TEMP_INDEX = 12;
43054
- const SQLITE_DROP_TEMP_TABLE = 13;
43055
- const SQLITE_DROP_TEMP_TRIGGER = 14;
43056
- const SQLITE_DROP_TEMP_VIEW = 15;
43057
- const SQLITE_DROP_TRIGGER = 16;
43058
- const SQLITE_DROP_VIEW = 17;
43059
- const SQLITE_INSERT = 18;
43060
- const SQLITE_PRAGMA = 19;
43061
- const SQLITE_READ = 20;
43062
- const SQLITE_SELECT = 21;
43063
- const SQLITE_TRANSACTION = 22;
43064
- const SQLITE_UPDATE = 23;
43065
- const SQLITE_ATTACH = 24;
43066
- const SQLITE_DETACH = 25;
43067
- const SQLITE_ALTER_TABLE = 26;
43068
- const SQLITE_REINDEX = 27;
43069
- const SQLITE_ANALYZE = 28;
43070
- const SQLITE_CREATE_VTABLE = 29;
43071
- const SQLITE_DROP_VTABLE = 30;
43072
- const SQLITE_FUNCTION = 31;
43073
- const SQLITE_SAVEPOINT = 32;
43074
- const SQLITE_COPY = 0;
43075
- const SQLITE_RECURSIVE = 33;
43076
-
43077
- // Authorizer return codes
43078
- const SQLITE_DENY = 1;
43079
- const SQLITE_IGNORE = 2;
43080
-
43081
- // Limit categories
43082
- const SQLITE_LIMIT_LENGTH = 0;
43083
- const SQLITE_LIMIT_SQL_LENGTH = 1;
43084
- const SQLITE_LIMIT_COLUMN = 2;
43085
- const SQLITE_LIMIT_EXPR_DEPTH = 3;
43086
- const SQLITE_LIMIT_COMPOUND_SELECT = 4;
43087
- const SQLITE_LIMIT_VDBE_OP = 5;
43088
- const SQLITE_LIMIT_FUNCTION_ARG = 6;
43089
- const SQLITE_LIMIT_ATTACHED = 7;
43090
- const SQLITE_LIMIT_LIKE_PATTERN_LENGTH = 8;
43091
- const SQLITE_LIMIT_VARIABLE_NUMBER = 9;
43092
- const SQLITE_LIMIT_TRIGGER_DEPTH = 10;
43093
- const SQLITE_LIMIT_WORKER_THREADS = 11;
43094
-
43095
- const SQLITE_PREPARE_PERSISTENT = 0x01;
43096
- const SQLITE_PREPARE_NORMALIZED = 0x02;
43097
- const SQLITE_PREPARE_NO_VTAB = 0x04;
43098
-
43099
40521
  /***/ }),
43100
40522
 
43101
40523
  /***/ "./node_modules/@journeyapps/wa-sqlite/dist/mc-wa-sqlite-async.mjs":