indexeddbshim 17.5.0 → 17.6.0

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.
@@ -1,4 +1,4 @@
1
- /*! indexeddbshim - v17.5.0 - 8/30/2026 */
1
+ /*! indexeddbshim - v17.6.0 - 9/1/2026 */
2
2
 
3
3
  'use strict';
4
4
 
@@ -4947,7 +4947,7 @@ const readonlyProperties$4 = ['objectStoreNames', 'mode', 'durability', 'db', 'e
4947
4947
  * __requestsFinished: boolean,
4948
4948
  * __transFinishedCb: (err: boolean, cb: ((bool?: boolean) => void)) => void,
4949
4949
  * __callTransFinishedCb: (err: boolean, cb: ((bool?: boolean) => void)) => void,
4950
- * __transactionEndCallback: () => void,
4950
+ * __transactionEndCallback: (() => void)|undefined,
4951
4951
  * __transactionFinished: boolean,
4952
4952
  * __completed: boolean,
4953
4953
  * __transFinishedCbFired: boolean,
@@ -4982,6 +4982,19 @@ const readonlyProperties$4 = ['objectStoreNames', 'mode', 'durability', 'db', 'e
4982
4982
  * }} IDBTransactionFull
4983
4983
  */
4984
4984
 
4985
+ /**
4986
+ * @param {IDBTransactionFull} tx
4987
+ * @returns {void}
4988
+ */
4989
+ function releaseFinishedTransaction(tx) {
4990
+ const pos = tx.db.__transactions.indexOf(tx);
4991
+ if (pos !== -1) {
4992
+ tx.db.__transactions.splice(pos, 1);
4993
+ }
4994
+ tx.__transactionEndCallback = undefined;
4995
+ tx.__requests = [];
4996
+ }
4997
+
4985
4998
  /**
4986
4999
  * The IndexedDB Transaction.
4987
5000
  * @see https://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#idl-def-IDBTransaction
@@ -5539,6 +5552,7 @@ IDBTransaction.prototype.__executeRequests = function () {
5539
5552
  } finally {
5540
5553
  activeTransactions.delete(me);
5541
5554
  me.__storeHandles = {};
5555
+ releaseFinishedTransaction(me);
5542
5556
  }
5543
5557
  }
5544
5558
  if (me.mode === 'readwrite' || me.mode === 'readonly') {
@@ -5823,6 +5837,7 @@ IDBTransaction.prototype.__abortTransaction = function (err) {
5823
5837
  me.dispatchEvent(evt);
5824
5838
  me.__storeHandles = {};
5825
5839
  me.dispatchEvent(createEvent('__abort'));
5840
+ releaseFinishedTransaction(me);
5826
5841
  }, 0);
5827
5842
  return undefined;
5828
5843
  }).catch(err => {