indexeddbshim 19.0.4 → 19.0.5
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/IDBTransaction.d.ts.map +1 -1
- package/dist/indexeddbshim-Key.js +1 -1
- package/dist/indexeddbshim-Key.min.js +1 -1
- package/dist/indexeddbshim-UnicodeIdentifiers-node.cjs +15 -9
- package/dist/indexeddbshim-UnicodeIdentifiers-node.cjs.map +1 -1
- package/dist/indexeddbshim-UnicodeIdentifiers.js +15 -9
- package/dist/indexeddbshim-UnicodeIdentifiers.js.map +1 -1
- package/dist/indexeddbshim-UnicodeIdentifiers.min.js +2 -2
- package/dist/indexeddbshim-UnicodeIdentifiers.min.js.map +1 -1
- package/dist/indexeddbshim-node.cjs +15 -9
- package/dist/indexeddbshim-node.cjs.map +1 -1
- package/dist/indexeddbshim-noninvasive.js +15 -9
- package/dist/indexeddbshim-noninvasive.js.map +1 -1
- package/dist/indexeddbshim-noninvasive.min.js +2 -2
- package/dist/indexeddbshim-noninvasive.min.js.map +1 -1
- package/dist/indexeddbshim.js +15 -9
- package/dist/indexeddbshim.js.map +1 -1
- package/dist/indexeddbshim.min.js +2 -2
- package/dist/indexeddbshim.min.js.map +1 -1
- package/package.json +1 -1
- package/src/IDBTransaction.js +14 -8
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! indexeddbshim - v19.0.
|
|
1
|
+
/*! indexeddbshim - v19.0.5 - 9/17/2026 */
|
|
2
2
|
|
|
3
3
|
'use strict';
|
|
4
4
|
|
|
@@ -5182,6 +5182,10 @@ IDBTransaction.prototype.__executeRequests = function () {
|
|
|
5182
5182
|
let q,
|
|
5183
5183
|
i = -1;
|
|
5184
5184
|
|
|
5185
|
+
// On a standard driver, `keepAliveAndWait` issues a SQL query, which
|
|
5186
|
+
// is a macrotask. Otherwise it issues ten microtasks.
|
|
5187
|
+
const keepAliveAttempts = isStandardDriver ? 1 : 10;
|
|
5188
|
+
|
|
5185
5189
|
/**
|
|
5186
5190
|
* A continuation that must still be able to observe the
|
|
5187
5191
|
* transaction as safe to extend (e.g., re-checking whether an
|
|
@@ -5217,9 +5221,9 @@ IDBTransaction.prototype.__executeRequests = function () {
|
|
|
5217
5221
|
});
|
|
5218
5222
|
} catch (err) {
|
|
5219
5223
|
// The driver has already finalized the transaction (or otherwise
|
|
5220
|
-
// rejected the call) -- nothing left to hold open
|
|
5221
|
-
//
|
|
5222
|
-
|
|
5224
|
+
// rejected the call) -- nothing left to hold open. We explicitly
|
|
5225
|
+
// abort the transaction here.
|
|
5226
|
+
me.__abortTransaction(/** @type {Error|DOMException} */err);
|
|
5223
5227
|
}
|
|
5224
5228
|
}
|
|
5225
5229
|
|
|
@@ -5421,9 +5425,11 @@ IDBTransaction.prototype.__executeRequests = function () {
|
|
|
5421
5425
|
* consumer of that same handler (e.g. one that resolves a
|
|
5422
5426
|
* promise from within `onsuccess` and only attaches `oncomplete`
|
|
5423
5427
|
* afterward) ever gets a turn to run, so it can miss `complete`
|
|
5424
|
-
*
|
|
5425
|
-
*
|
|
5426
|
-
*
|
|
5428
|
+
* afterward) ever gets a turn to run, so it can miss `complete`
|
|
5429
|
+
* entirely. On a non-standard driver, `readonly` requests don't hold
|
|
5430
|
+
* a real SQL transaction open, so there's no file-lock/connection
|
|
5431
|
+
* collision risk. On a standard driver, the wait now issues real SQL
|
|
5432
|
+
* inside the read transaction, so this does carry a slight risk.
|
|
5427
5433
|
* @param {number} attemptsLeft
|
|
5428
5434
|
* @returns {void}
|
|
5429
5435
|
*/
|
|
@@ -5458,7 +5464,7 @@ IDBTransaction.prototype.__executeRequests = function () {
|
|
|
5458
5464
|
}
|
|
5459
5465
|
i++;
|
|
5460
5466
|
if (i >= me.__requests.length) {
|
|
5461
|
-
checkQueueEntry(
|
|
5467
|
+
checkQueueEntry(keepAliveAttempts);
|
|
5462
5468
|
return;
|
|
5463
5469
|
}
|
|
5464
5470
|
runQueuedRequest();
|
|
@@ -5495,7 +5501,7 @@ IDBTransaction.prototype.__executeRequests = function () {
|
|
|
5495
5501
|
}
|
|
5496
5502
|
i++;
|
|
5497
5503
|
if (i >= me.__requests.length) {
|
|
5498
|
-
checkQueueEntry(
|
|
5504
|
+
checkQueueEntry(keepAliveAttempts);
|
|
5499
5505
|
return;
|
|
5500
5506
|
}
|
|
5501
5507
|
keepAliveAndWait(() => {
|