@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 +36 -5
- package/dist/index.umd.js.map +1 -1
- package/dist/worker/SharedSyncImplementation.umd.js +76 -47
- package/dist/worker/SharedSyncImplementation.umd.js.map +1 -1
- package/dist/worker/WASQLiteDB.umd.js +29 -7
- package/dist/worker/WASQLiteDB.umd.js.map +1 -1
- package/lib/package.json +6 -6
- package/lib/src/db/PowerSyncDatabase.js +2 -1
- package/lib/src/db/adapters/SSRDBAdapter.d.ts +1 -0
- package/lib/src/db/adapters/SSRDBAdapter.js +1 -0
- package/lib/src/db/adapters/wa-sqlite/WASQLiteDBAdapter.d.ts +1 -0
- package/lib/src/db/adapters/wa-sqlite/WASQLiteDBAdapter.js +3 -1
- package/lib/src/db/sync/WebStreamingSyncImplementation.js +2 -1
- package/lib/src/shared/navigator.d.ts +1 -0
- package/lib/src/shared/navigator.js +6 -0
- package/lib/src/worker/db/WASQLiteDB.worker.js +2 -1
- package/lib/src/worker/sync/SharedSyncImplementation.js +3 -2
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -7
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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;
|