@powersync/web 1.9.2 → 1.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.umd.js CHANGED
@@ -33481,6 +33481,8 @@ __webpack_require__.r(__webpack_exports__);
33481
33481
  /* harmony import */ var _sync_SSRWebStreamingSyncImplementation__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./sync/SSRWebStreamingSyncImplementation */ "./lib/src/db/sync/SSRWebStreamingSyncImplementation.js");
33482
33482
  /* harmony import */ var _sync_WebRemote__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./sync/WebRemote */ "./lib/src/db/sync/WebRemote.js");
33483
33483
  /* harmony import */ var _sync_WebStreamingSyncImplementation__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./sync/WebStreamingSyncImplementation */ "./lib/src/db/sync/WebStreamingSyncImplementation.js");
33484
+ /* harmony import */ var _shared_navigator__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../shared/navigator */ "./lib/src/shared/navigator.js");
33485
+
33484
33486
 
33485
33487
 
33486
33488
 
@@ -33568,7 +33570,7 @@ class PowerSyncDatabase extends _powersync_common__WEBPACK_IMPORTED_MODULE_0__.A
33568
33570
  if (this.resolvedFlags.ssrMode) {
33569
33571
  return PowerSyncDatabase.SHARED_MUTEX.runExclusive(cb);
33570
33572
  }
33571
- return navigator.locks.request(`lock-${this.database.name}`, cb);
33573
+ return (0,_shared_navigator__WEBPACK_IMPORTED_MODULE_8__.getNavigatorLocks)().request(`lock-${this.database.name}`, cb);
33572
33574
  }
33573
33575
  generateSyncStreamImplementation(connector) {
33574
33576
  const remote = new _sync_WebRemote__WEBPACK_IMPORTED_MODULE_6__.WebRemote(connector);
@@ -33775,6 +33777,7 @@ class SSRDBAdapter extends _powersync_common__WEBPACK_IMPORTED_MODULE_0__.BaseOb
33775
33777
  }
33776
33778
  };
33777
33779
  }
33780
+ async refreshSchema() { }
33778
33781
  }
33779
33782
 
33780
33783
 
@@ -33800,6 +33803,8 @@ __webpack_require__.r(__webpack_exports__);
33800
33803
  /* harmony import */ var _shared_open_db__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../shared/open-db */ "./lib/src/shared/open-db.js");
33801
33804
  /* harmony import */ var _worker_db_open_worker_database__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../worker/db/open-worker-database */ "./lib/src/worker/db/open-worker-database.js");
33802
33805
  /* harmony import */ var _web_sql_flags__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../web-sql-flags */ "./lib/src/db/adapters/web-sql-flags.js");
33806
+ /* harmony import */ var _shared_navigator__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../shared/navigator */ "./lib/src/shared/navigator.js");
33807
+
33803
33808
 
33804
33809
 
33805
33810
 
@@ -33936,7 +33941,7 @@ class WASQLiteDBAdapter extends _powersync_common__WEBPACK_IMPORTED_MODULE_0__.B
33936
33941
  return this.acquireLock(async () => fn(this.generateDBHelpers({ execute: this._execute })));
33937
33942
  }
33938
33943
  acquireLock(callback) {
33939
- return navigator.locks.request(`db-lock-${this.options.dbFilename}`, callback);
33944
+ return (0,_shared_navigator__WEBPACK_IMPORTED_MODULE_6__.getNavigatorLocks)().request(`db-lock-${this.options.dbFilename}`, callback);
33940
33945
  }
33941
33946
  async readTransaction(fn, options) {
33942
33947
  return this.readLock(this.wrapTransaction(fn));
@@ -34016,6 +34021,7 @@ class WASQLiteDBAdapter extends _powersync_common__WEBPACK_IMPORTED_MODULE_0__.B
34016
34021
  }
34017
34022
  };
34018
34023
  }
34024
+ async refreshSchema() { }
34019
34025
  }
34020
34026
 
34021
34027
 
@@ -34493,6 +34499,8 @@ __webpack_require__.r(__webpack_exports__);
34493
34499
  /* harmony export */ });
34494
34500
  /* harmony import */ var _powersync_common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @powersync/common */ "@powersync/common");
34495
34501
  /* harmony import */ var _powersync_common__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_powersync_common__WEBPACK_IMPORTED_MODULE_0__);
34502
+ /* harmony import */ var _shared_navigator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/navigator */ "./lib/src/shared/navigator.js");
34503
+
34496
34504
 
34497
34505
  class WebStreamingSyncImplementation extends _powersync_common__WEBPACK_IMPORTED_MODULE_0__.AbstractStreamingSyncImplementation {
34498
34506
  constructor(options) {
@@ -34505,7 +34513,7 @@ class WebStreamingSyncImplementation extends _powersync_common__WEBPACK_IMPORTED
34505
34513
  obtainLock(lockOptions) {
34506
34514
  const identifier = `streaming-sync-${lockOptions.type}-${this.webOptions.identifier}`;
34507
34515
  lockOptions.type == _powersync_common__WEBPACK_IMPORTED_MODULE_0__.LockType.SYNC && console.debug('requesting lock for ', identifier);
34508
- return navigator.locks.request(identifier, { signal: lockOptions.signal }, lockOptions.callback);
34516
+ return (0,_shared_navigator__WEBPACK_IMPORTED_MODULE_1__.getNavigatorLocks)().request(identifier, { signal: lockOptions.signal }, lockOptions.callback);
34509
34517
  }
34510
34518
  }
34511
34519
 
@@ -34589,6 +34597,27 @@ function getOsInfo(nav) {
34589
34597
  }
34590
34598
 
34591
34599
 
34600
+ /***/ }),
34601
+
34602
+ /***/ "./lib/src/shared/navigator.js":
34603
+ /*!*************************************!*\
34604
+ !*** ./lib/src/shared/navigator.js ***!
34605
+ \*************************************/
34606
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
34607
+
34608
+ "use strict";
34609
+ __webpack_require__.r(__webpack_exports__);
34610
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
34611
+ /* harmony export */ getNavigatorLocks: () => (/* binding */ getNavigatorLocks)
34612
+ /* harmony export */ });
34613
+ const getNavigatorLocks = () => {
34614
+ if ('locks' in navigator && navigator.locks) {
34615
+ return navigator.locks;
34616
+ }
34617
+ throw new Error('Navigator locks are not available in an insecure context. Use a secure context such as HTTPS or http://localhost.');
34618
+ };
34619
+
34620
+
34592
34621
  /***/ }),
34593
34622
 
34594
34623
  /***/ "./lib/src/shared/open-db.js":
@@ -35039,6 +35068,8 @@ __webpack_require__.r(__webpack_exports__);
35039
35068
  /* harmony import */ var _db_sync_WebStreamingSyncImplementation__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../db/sync/WebStreamingSyncImplementation */ "./lib/src/db/sync/WebStreamingSyncImplementation.js");
35040
35069
  /* harmony import */ var _db_adapters_wa_sqlite_WASQLiteDBAdapter__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../db/adapters/wa-sqlite/WASQLiteDBAdapter */ "./lib/src/db/adapters/wa-sqlite/WASQLiteDBAdapter.js");
35041
35070
  /* harmony import */ var _BroadcastLogger__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./BroadcastLogger */ "./lib/src/worker/sync/BroadcastLogger.js");
35071
+ /* harmony import */ var _shared_navigator__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../shared/navigator */ "./lib/src/shared/navigator.js");
35072
+
35042
35073
 
35043
35074
 
35044
35075
 
@@ -35142,7 +35173,7 @@ class SharedSyncImplementation extends _powersync_common__WEBPACK_IMPORTED_MODUL
35142
35173
  async connect(options) {
35143
35174
  await this.waitForReady();
35144
35175
  // This effectively queues connect and disconnect calls. Ensuring multiple tabs' requests are synchronized
35145
- return navigator.locks.request('shared-sync-connect', async () => {
35176
+ return (0,_shared_navigator__WEBPACK_IMPORTED_MODULE_8__.getNavigatorLocks)().request('shared-sync-connect', async () => {
35146
35177
  this.syncStreamClient = this.generateStreamingImplementation();
35147
35178
  this.syncStreamClient.registerListener({
35148
35179
  statusChanged: (status) => {
@@ -35155,7 +35186,7 @@ class SharedSyncImplementation extends _powersync_common__WEBPACK_IMPORTED_MODUL
35155
35186
  async disconnect() {
35156
35187
  await this.waitForReady();
35157
35188
  // This effectively queues connect and disconnect calls. Ensuring multiple tabs' requests are synchronized
35158
- return navigator.locks.request('shared-sync-connect', async () => {
35189
+ return (0,_shared_navigator__WEBPACK_IMPORTED_MODULE_8__.getNavigatorLocks)().request('shared-sync-connect', async () => {
35159
35190
  await this.syncStreamClient?.disconnect();
35160
35191
  await this.syncStreamClient?.dispose();
35161
35192
  this.syncStreamClient = null;