indexeddbshim 15.0.4 → 15.2.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.
Files changed (65) hide show
  1. package/dist/CFG.d.ts +3 -36
  2. package/dist/CFG.d.ts.map +1 -1
  3. package/dist/DOMException.d.ts +1 -1
  4. package/dist/DOMException.d.ts.map +1 -1
  5. package/dist/DOMStringList.d.ts +1 -1
  6. package/dist/DOMStringList.d.ts.map +1 -1
  7. package/dist/Event.d.ts.map +1 -1
  8. package/dist/IDBCursor.d.ts +21 -21
  9. package/dist/IDBCursor.d.ts.map +1 -1
  10. package/dist/IDBDatabase.d.ts +13 -11
  11. package/dist/IDBDatabase.d.ts.map +1 -1
  12. package/dist/IDBFactory.d.ts +4 -4
  13. package/dist/IDBFactory.d.ts.map +1 -1
  14. package/dist/IDBIndex.d.ts +17 -17
  15. package/dist/IDBIndex.d.ts.map +1 -1
  16. package/dist/IDBKeyRange.d.ts +7 -7
  17. package/dist/IDBKeyRange.d.ts.map +1 -1
  18. package/dist/IDBObjectStore.d.ts +33 -33
  19. package/dist/IDBObjectStore.d.ts.map +1 -1
  20. package/dist/IDBRequest.d.ts +6 -19
  21. package/dist/IDBRequest.d.ts.map +1 -1
  22. package/dist/IDBTransaction.d.ts +13 -13
  23. package/dist/IDBTransaction.d.ts.map +1 -1
  24. package/dist/Key.d.ts +10 -10
  25. package/dist/Key.d.ts.map +1 -1
  26. package/dist/Sca.d.ts +1 -1
  27. package/dist/Sca.d.ts.map +1 -1
  28. package/dist/UnicodeIdentifiers.d.ts +2 -2
  29. package/dist/UnicodeIdentifiers.d.ts.map +1 -1
  30. package/dist/cmp.d.ts +1 -1
  31. package/dist/indexeddbshim-Key.js +3 -2
  32. package/dist/indexeddbshim-Key.js.map +1 -1
  33. package/dist/indexeddbshim-Key.min.js +1 -1
  34. package/dist/indexeddbshim-Key.min.js.map +1 -1
  35. package/dist/indexeddbshim-UnicodeIdentifiers-node.cjs +75 -63
  36. package/dist/indexeddbshim-UnicodeIdentifiers-node.cjs.map +1 -1
  37. package/dist/indexeddbshim-UnicodeIdentifiers.js +85 -74
  38. package/dist/indexeddbshim-UnicodeIdentifiers.js.map +1 -1
  39. package/dist/indexeddbshim-UnicodeIdentifiers.min.js +2 -2
  40. package/dist/indexeddbshim-UnicodeIdentifiers.min.js.map +1 -1
  41. package/dist/indexeddbshim-node.cjs +75 -63
  42. package/dist/indexeddbshim-node.cjs.map +1 -1
  43. package/dist/indexeddbshim-noninvasive.js +85 -74
  44. package/dist/indexeddbshim-noninvasive.js.map +1 -1
  45. package/dist/indexeddbshim-noninvasive.min.js +2 -2
  46. package/dist/indexeddbshim-noninvasive.min.js.map +1 -1
  47. package/dist/indexeddbshim.js +85 -74
  48. package/dist/indexeddbshim.js.map +1 -1
  49. package/dist/indexeddbshim.min.js +2 -2
  50. package/dist/indexeddbshim.min.js.map +1 -1
  51. package/dist/node-UnicodeIdentifiers.d.ts +1 -1
  52. package/dist/node-UnicodeIdentifiers.d.ts.map +1 -1
  53. package/dist/node.d.ts +1 -1
  54. package/dist/node.d.ts.map +1 -1
  55. package/dist/setGlobalVars.d.ts +4 -5
  56. package/dist/setGlobalVars.d.ts.map +1 -1
  57. package/dist/util.d.ts +3 -2
  58. package/dist/util.d.ts.map +1 -1
  59. package/package.json +7 -7
  60. package/src/IDBFactory.js +1 -0
  61. package/src/IDBIndex.js +18 -4
  62. package/src/IDBObjectStore.js +1 -3
  63. package/src/Key.js +2 -1
  64. package/src/util.js +2 -1
  65. package/src/Key.d.ts +0 -1
@@ -1,4 +1,4 @@
1
- /*! indexeddbshim - v15.0.1 - 9/5/2024 */
1
+ /*! indexeddbshim - v15.2.0 - 9/11/2024 */
2
2
 
3
3
  (function (global, factory) {
4
4
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
@@ -1846,12 +1846,13 @@
1846
1846
  }
1847
1847
 
1848
1848
  /**
1849
+ * @todo Didn't need to escape `%`. Do we still need this escape?
1849
1850
  * @param {string} str
1850
1851
  * @returns {string}
1851
1852
  */
1852
1853
  function sqlLIKEEscape(str) {
1853
1854
  // https://www.sqlite.org/lang_expr.html#like
1854
- return sqlEscape(str).replaceAll('^', '^^');
1855
+ return str.replaceAll('^', '^^');
1855
1856
  }
1856
1857
 
1857
1858
  /**
@@ -4044,6 +4045,7 @@
4044
4045
  continue;
4045
4046
  }
4046
4047
  if (key.length === 1) {
4048
+ // eslint-disable-next-line sonarjs/updated-loop-counter -- Convenient
4047
4049
  key = key[0];
4048
4050
  } else {
4049
4051
  var nested = findMultiEntryMatches(key, range);
@@ -4270,7 +4272,7 @@
4270
4272
  *
4271
4273
  * @param {SQLTransaction} tx
4272
4274
  * @param {import('./IDBObjectStore.js').IDBObjectStoreFull} store
4273
- * @param {import('./Key.js').Key} key
4275
+ * @param {Key} key
4274
4276
  * @param {(num?: Integer) => void} successCb
4275
4277
  * @param {SQLFailureCallback} sqlFailCb
4276
4278
  * @returns {void}
@@ -5892,8 +5894,8 @@
5892
5894
  p = [],
5893
5895
  d = [],
5894
5896
  v = !("cyclic" in u) || u.cyclic,
5895
- b = u.encapsulateObserver,
5896
- h = function finish(e) {
5897
+ m = u.encapsulateObserver,
5898
+ b = function finish(e) {
5897
5899
  var t = Object.values(f);
5898
5900
  if (u.iterateNone) return t.length ? t[0] : getJSONType(e);
5899
5901
  if (t.length) {
@@ -5918,7 +5920,7 @@
5918
5920
  });
5919
5921
  return !u.returnTypeNames && e;
5920
5922
  },
5921
- m = _async(function (t, r) {
5923
+ h = _async(function (t, r) {
5922
5924
  return _await(Promise.all(r.map(function (e) {
5923
5925
  return e[1].p;
5924
5926
  })), function (n) {
@@ -5941,11 +5943,11 @@
5941
5943
  }(function () {
5942
5944
  if (s && v) return _await(d.p, function (e) {
5943
5945
  f[y] = e;
5944
- var r = m(t, o);
5946
+ var r = h(t, o);
5945
5947
  return a = !0, r;
5946
5948
  });
5947
5949
  }, function (e) {
5948
- return a ? e : (s ? f[y] = d : t = v ? d.p : d, m(t, o));
5950
+ return a ? e : (s ? f[y] = d : t = v ? d.p : d, h(t, o));
5949
5951
  });
5950
5952
  }))), function () {
5951
5953
  return t;
@@ -5963,13 +5965,13 @@
5963
5965
  });
5964
5966
  },
5965
5967
  O = function _encapsulate(t, r, i, c, l, d, v) {
5966
- var h,
5967
- m = {},
5968
+ var b,
5969
+ h = {},
5968
5970
  O = _typeof(r),
5969
- _ = b ? function (n) {
5971
+ _ = m ? function (n) {
5970
5972
  var a,
5971
5973
  o = null !== (a = null != v ? v : c.type) && void 0 !== a ? a : getJSONType(r);
5972
- b(Object.assign(null != n ? n : m, {
5974
+ m(Object.assign(null != n ? n : h, {
5973
5975
  keypath: t,
5974
5976
  value: r,
5975
5977
  cyclic: i,
@@ -5981,9 +5983,9 @@
5981
5983
  type: o
5982
5984
  }));
5983
5985
  } : null;
5984
- if (["string", "boolean", "number", "undefined"].includes(O)) return void 0 === r || Number.isNaN(r) || r === Number.NEGATIVE_INFINITY || r === Number.POSITIVE_INFINITY || 0 === r ? (h = c.replaced ? r : w(t, r, c, l, !1, d, _)) !== r && (m = {
5985
- replaced: h
5986
- }) : h = r, _ && _(), h;
5986
+ if (["string", "boolean", "number", "undefined"].includes(O)) return void 0 === r || Number.isNaN(r) || r === Number.NEGATIVE_INFINITY || r === Number.POSITIVE_INFINITY || 0 === r ? (b = c.replaced ? r : w(t, r, c, l, !1, d, _)) !== r && (h = {
5987
+ replaced: b
5988
+ }) : b = r, _ && _(), b;
5987
5989
  if (null === r) return _ && _(), r;
5988
5990
  if (i && !c.iterateIn && !c.iterateUnsetNumeric && r && "object" === _typeof(r)) {
5989
5991
  var A = y.indexOf(r);
@@ -5997,14 +5999,14 @@
5997
5999
  T = isPlainObject(r),
5998
6000
  I = o(r),
5999
6001
  N = (T || I) && (!s.plainObjectReplacers.length || c.replaced) || c.iterateIn ? r : w(t, r, c, l, T || I, null, _);
6000
- if (N !== r ? (h = N, m = {
6002
+ if (N !== r ? (b = N, h = {
6001
6003
  replaced: N
6002
- }) : "" === t && hasConstructorOf(r, e) ? (l.push([t, r, i, c, void 0, void 0, c.type]), h = r) : I && "object" !== c.iterateIn || "array" === c.iterateIn ? (S = new Array(r.length), m = {
6004
+ }) : "" === t && hasConstructorOf(r, e) ? (l.push([t, r, i, c, void 0, void 0, c.type]), b = r) : I && "object" !== c.iterateIn || "array" === c.iterateIn ? (S = new Array(r.length), h = {
6003
6005
  clone: S
6004
- }) : (["function", "symbol"].includes(_typeof(r)) || "toJSON" in r || hasConstructorOf(r, e) || hasConstructorOf(r, Promise) || hasConstructorOf(r, ArrayBuffer)) && !T && "object" !== c.iterateIn ? h = r : (S = {}, c.addLength && (S.length = r.length), m = {
6006
+ }) : (["function", "symbol"].includes(_typeof(r)) || "toJSON" in r || hasConstructorOf(r, e) || hasConstructorOf(r, Promise) || hasConstructorOf(r, ArrayBuffer)) && !T && "object" !== c.iterateIn ? b = r : (S = {}, c.addLength && (S.length = r.length), h = {
6005
6007
  clone: S
6006
- }), _ && _(), u.iterateNone) return null !== (j = S) && void 0 !== j ? j : h;
6007
- if (!S) return h;
6008
+ }), _ && _(), u.iterateNone) return null !== (j = S) && void 0 !== j ? j : b;
6009
+ if (!S) return b;
6008
6010
  if (c.iterateIn) {
6009
6011
  var P = function _loop(n) {
6010
6012
  var o = {
@@ -6070,12 +6072,12 @@
6070
6072
  i && i({
6071
6073
  replacing: !0
6072
6074
  });
6073
- var b = void 0;
6075
+ var m = void 0;
6074
6076
  if (l || !y.replaceAsync) {
6075
6077
  if (void 0 === y.replace) throw new TypeError("Missing replacer");
6076
- b = y.replace(t, r);
6077
- } else b = y.replaceAsync(t, r);
6078
- return O(e, b, v && "readonly", r, n, o, p);
6078
+ m = y.replace(t, r);
6079
+ } else m = y.replaceAsync(t, r);
6080
+ return O(e, m, v && "readonly", r, n, o, p);
6079
6081
  }
6080
6082
  }
6081
6083
  return t;
@@ -6083,9 +6085,9 @@
6083
6085
  _ = O("", t, v, null != r ? r : {}, d);
6084
6086
  if (d.length) return l && u.throwOnBadSyncType ? function () {
6085
6087
  throw new TypeError("Sync method requested but async result obtained");
6086
- }() : Promise.resolve(m(_, d)).then(h);
6088
+ }() : Promise.resolve(h(_, d)).then(b);
6087
6089
  if (!l && u.throwOnBadSyncType) throw new TypeError("Async method requested but sync result obtained");
6088
- return u.stringification && l ? [h(_)] : l ? h(_) : Promise.resolve(h(_));
6090
+ return u.stringification && l ? [b(_)] : l ? b(_) : Promise.resolve(b(_));
6089
6091
  }
6090
6092
  }, {
6091
6093
  key: "encapsulateSync",
@@ -6140,7 +6142,7 @@
6140
6142
  return hasConstructorOf(e, s) ? void 0 : e;
6141
6143
  }
6142
6144
  var v,
6143
- b = function revivePlainObjects() {
6145
+ m = function revivePlainObjects() {
6144
6146
  var r = [];
6145
6147
  if (!u) throw new Error("Found bad `types`");
6146
6148
  if (Object.entries(u).forEach(function (e) {
@@ -6172,29 +6174,29 @@
6172
6174
  c === i && (t = c);
6173
6175
  }, void 0);
6174
6176
  }();
6175
- return hasConstructorOf(b, e) ? v = b.then(function () {
6177
+ return hasConstructorOf(m, e) ? v = m.then(function () {
6176
6178
  return t;
6177
6179
  }) : (v = function _revive(t, r, a, i, c) {
6178
6180
  if (!y || "$types" !== t) {
6179
6181
  var f = u[t],
6180
6182
  v = o(r);
6181
6183
  if (v || isPlainObject(r)) {
6182
- var b = v ? new Array(r.length) : {};
6184
+ var m = v ? new Array(r.length) : {};
6183
6185
  for (n(r).forEach(function (n) {
6184
- var o = _revive(t + (t ? "." : "") + escapeKeyPathComponent(n), r[n], null != a ? a : b, b, n),
6186
+ var o = _revive(t + (t ? "." : "") + escapeKeyPathComponent(n), r[n], null != a ? a : m, m, n),
6185
6187
  i = function set(e) {
6186
- return hasConstructorOf(e, s) ? b[n] = void 0 : void 0 !== e && (b[n] = e), e;
6188
+ return hasConstructorOf(e, s) ? m[n] = void 0 : void 0 !== e && (m[n] = e), e;
6187
6189
  };
6188
6190
  hasConstructorOf(o, e) ? d.push(o.then(function (e) {
6189
6191
  return i(e);
6190
6192
  })) : i(o);
6191
- }), r = b; l.length;) {
6192
- var h = _slicedToArray(l[0], 4),
6193
- m = h[0],
6194
- g = h[1],
6195
- O = h[2],
6196
- w = h[3],
6197
- _ = getByKeyPath(m, g);
6193
+ }), r = m; l.length;) {
6194
+ var b = _slicedToArray(l[0], 4),
6195
+ h = b[0],
6196
+ g = b[1],
6197
+ O = b[2],
6198
+ w = b[3],
6199
+ _ = getByKeyPath(h, g);
6198
6200
  if (void 0 === _) break;
6199
6201
  O[w] = _, l.splice(0, 1);
6200
6202
  }
@@ -6348,7 +6350,7 @@
6348
6350
  }
6349
6351
  }
6350
6352
  },
6351
- b = {
6353
+ m = {
6352
6354
  bigintObject: {
6353
6355
  test: function test(e) {
6354
6356
  return "object" == _typeof$2(e) && hasConstructorOf(e, BigInt);
@@ -6359,7 +6361,7 @@
6359
6361
  }
6360
6362
  }
6361
6363
  },
6362
- h = {
6364
+ b = {
6363
6365
  bigint: {
6364
6366
  test: function test(e) {
6365
6367
  return "bigint" == typeof e;
@@ -6380,7 +6382,7 @@
6380
6382
  for (var _r = 0; _r < e.length; _r++) t[_r] = e.charCodeAt(_r);
6381
6383
  return t.buffer;
6382
6384
  }
6383
- var m = {
6385
+ var h = {
6384
6386
  blob: {
6385
6387
  test: function test(e) {
6386
6388
  return "Blob" === toStringTag(e);
@@ -6950,7 +6952,7 @@
6950
6952
  }
6951
6953
  }
6952
6954
  },
6953
- q = {
6955
+ Y = {
6954
6956
  regexp: {
6955
6957
  test: function test(e) {
6956
6958
  return "RegExp" === toStringTag(e);
@@ -6961,14 +6963,14 @@
6961
6963
  flags: (e.global ? "g" : "") + (e.ignoreCase ? "i" : "") + (e.multiline ? "m" : "") + (e.sticky ? "y" : "") + (e.unicode ? "u" : "")
6962
6964
  };
6963
6965
  },
6964
- revive: function revive(_ref11) {
6965
- var e = _ref11.source,
6966
- t = _ref11.flags;
6966
+ revive: function revive(_ref12) {
6967
+ var e = _ref12.source,
6968
+ t = _ref12.flags;
6967
6969
  return new RegExp(e, t);
6968
6970
  }
6969
6971
  }
6970
6972
  },
6971
- G = {
6973
+ H = {
6972
6974
  set: {
6973
6975
  test: function test(e) {
6974
6976
  return "Set" === toStringTag(e);
@@ -6981,11 +6983,11 @@
6981
6983
  }
6982
6984
  }
6983
6985
  },
6984
- H = {};
6986
+ Q = {};
6985
6987
  "function" == typeof Int8Array && [Int8Array, Uint8Array, Uint8ClampedArray, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array].concat(_toConsumableArray("function" == typeof BigInt64Array ? [BigInt64Array, BigUint64Array] : [])).forEach(function (e) {
6986
6988
  return function create$1(e) {
6987
6989
  var t = e.name;
6988
- H[t.toLowerCase()] = {
6990
+ Q[t.toLowerCase()] = {
6989
6991
  test: function test(e) {
6990
6992
  return toStringTag(e) === t;
6991
6993
  },
@@ -6998,18 +7000,18 @@
6998
7000
  };
6999
7001
  }(e);
7000
7002
  });
7001
- var z = {};
7003
+ var X = {};
7002
7004
  "function" == typeof Int8Array && [Int8Array, Uint8Array, Uint8ClampedArray, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array].concat(_toConsumableArray("function" == typeof BigInt64Array ? [BigInt64Array, BigUint64Array] : [])).forEach(function (e) {
7003
7005
  return function create(e) {
7004
7006
  var t = e.name;
7005
- z[t.toLowerCase()] = {
7007
+ X[t.toLowerCase()] = {
7006
7008
  test: function test(e) {
7007
7009
  return toStringTag(e) === t;
7008
7010
  },
7009
- replace: function replace(_ref12, n) {
7010
- var e = _ref12.buffer,
7011
- t = _ref12.byteOffset,
7012
- r = _ref12.length;
7011
+ replace: function replace(_ref13, n) {
7012
+ var e = _ref13.buffer,
7013
+ t = _ref13.byteOffset,
7014
+ r = _ref13.length;
7013
7015
  n.buffers || (n.buffers = []);
7014
7016
  var a = n.buffers.indexOf(e);
7015
7017
  return a > -1 ? {
@@ -7038,7 +7040,7 @@
7038
7040
  };
7039
7041
  }(e);
7040
7042
  });
7041
- var Q = {
7043
+ var Z = {
7042
7044
  undef: {
7043
7045
  test: function test(e, t) {
7044
7046
  return void 0 === e && (t.ownKeys || !("ownKeys" in t));
@@ -7051,7 +7053,7 @@
7051
7053
  }
7052
7054
  }
7053
7055
  },
7054
- X = {
7056
+ ee = {
7055
7057
  userObject: {
7056
7058
  test: function test(e) {
7057
7059
  return isUserObject(e);
@@ -7064,7 +7066,7 @@
7064
7066
  }
7065
7067
  }
7066
7068
  },
7067
- Z = [{
7069
+ te = [{
7068
7070
  arrayNonindexKeys: {
7069
7071
  testPlainObjects: !0,
7070
7072
  test: function test(e, t) {
@@ -7078,10 +7080,10 @@
7078
7080
  revive: function revive(e) {
7079
7081
  if (Array.isArray(e)) return e;
7080
7082
  var t = [];
7081
- return Object.entries(e).forEach(function (_ref13) {
7082
- var _ref14 = _slicedToArray$1(_ref13, 2),
7083
- e = _ref14[0],
7084
- r = _ref14[1];
7083
+ return Object.entries(e).forEach(function (_ref14) {
7084
+ var _ref15 = _slicedToArray$1(_ref14, 2),
7085
+ e = _ref15[0],
7086
+ r = _ref15[1];
7085
7087
  t[e] = r;
7086
7088
  }), t;
7087
7089
  }
@@ -7097,9 +7099,9 @@
7097
7099
  revive: function revive() {}
7098
7100
  }
7099
7101
  }],
7100
- ee = [K, U, F, $],
7101
- oe = [X, Q, Z, V, ee, A, q, k, B, E, C, m, P, x].concat("function" == typeof Map ? D : [], "function" == typeof Set ? G : [], "function" == typeof ArrayBuffer ? v : [], "function" == typeof Uint8Array ? z : [], "function" == typeof DataView ? _ : [], "undefined" != typeof crypto ? w : [], "undefined" != typeof BigInt ? [h, b] : [], "undefined" != typeof DOMException ? S : [], "undefined" != typeof DOMRect ? N : [], "undefined" != typeof DOMPoint ? T : [], "undefined" != typeof DOMQuad ? I : [], "undefined" != typeof DOMMatrix ? j : []),
7102
- ie = oe.concat({
7102
+ re = [K, U, F, $],
7103
+ ce = [ee, Z, te, V, re, A, Y, k, B, E, C, h, P, x].concat("function" == typeof Map ? D : [], "function" == typeof Set ? H : [], "function" == typeof ArrayBuffer ? v : [], "function" == typeof Uint8Array ? X : [], "function" == typeof DataView ? _ : [], "undefined" != typeof crypto ? w : [], "undefined" != typeof BigInt ? [b, m] : [], "undefined" != typeof DOMException ? S : [], "undefined" != typeof DOMRect ? N : [], "undefined" != typeof DOMPoint ? T : [], "undefined" != typeof DOMQuad ? I : [], "undefined" != typeof DOMMatrix ? j : []),
7104
+ se = ce.concat({
7103
7105
  checkDataCloneException: {
7104
7106
  test: function test(e) {
7105
7107
  var t = {}.toString.call(e).slice(8, -1);
@@ -7111,7 +7113,7 @@
7111
7113
 
7112
7114
  // See: http://stackoverflow.com/questions/42170826/categories-for-rejection-by-the-structured-cloning-algorithm
7113
7115
 
7114
- var typeson = new c().register(ie);
7116
+ var typeson = new c().register(se);
7115
7117
 
7116
7118
  /**
7117
7119
  * @param {(preset: import('typeson-registry').Preset) =>
@@ -7119,7 +7121,7 @@
7119
7121
  * @returns {void}
7120
7122
  */
7121
7123
  function register(func) {
7122
- typeson = new c().register(func(ie));
7124
+ typeson = new c().register(func(se));
7123
7125
  }
7124
7126
 
7125
7127
  /**
@@ -7571,6 +7573,7 @@
7571
7573
  IDBIndex.__updateIndexList = function (store, tx, success, failure) {
7572
7574
  /** @type {IndexList} **/
7573
7575
  var indexList = {};
7576
+ // eslint-disable-next-line sonarjs/prefer-for-of -- Implement iterability?
7574
7577
  for (var i = 0; i < store.indexNames.length; i++) {
7575
7578
  var idx = store.__indexes[store.indexNames[i]];
7576
7579
  indexList[idx.name] = {
@@ -7963,8 +7966,11 @@
7963
7966
  return rowKey.includes(check);
7964
7967
  }) ||
7965
7968
  // More precise than our SQL
7966
- isMultiEntryMatch(/** @type {string} */
7967
- encodedKey, row[escapedIndexNameForKeyCol]))) {
7969
+ isMultiEntryMatch(
7970
+ // Added `JSON.stringify` as was having problems with
7971
+ // `JSON.stringify` encoding added to nested
7972
+ // array keys
7973
+ JSON.stringify(encodedKey).slice(1, -1), row[escapedIndexNameForKeyCol]))) {
7968
7974
  recordCount++;
7969
7975
  record = row;
7970
7976
  } else if (!hasKey && !multiChecks) {
@@ -8040,7 +8046,13 @@
8040
8046
  sql.push(')');
8041
8047
  } else if (index.multiEntry) {
8042
8048
  sql.push('AND', escapeIndexNameForSQL(index.name), "LIKE ? ESCAPE '^'");
8043
- sqlValues.push('%' + sqlLIKEEscape(/** @type {string} */_encode(range, index.multiEntry)) + '%');
8049
+ if (Array.isArray(range)) {
8050
+ // Todo: For nesting deeper than one level, we probably need to
8051
+ // run `JSON.stringify` again
8052
+ sqlValues.push('%' + sqlLIKEEscape(JSON.stringify(/** @type {string} */_encode(range, index.multiEntry)).slice(1, -1)) + '%');
8053
+ } else {
8054
+ sqlValues.push('%' + sqlLIKEEscape(/** @type {string} */_encode(range, index.multiEntry)) + '%');
8055
+ }
8044
8056
  } else {
8045
8057
  var convertedRange = convertValueToKeyRange(range, nullDisallowed);
8046
8058
  setSQLForKeyRange(convertedRange, escapeIndexNameForSQL(index.name), sql, sqlValues, true, false);
@@ -8464,7 +8476,6 @@
8464
8476
  if (me.autoIncrement) {
8465
8477
  // If auto-increment and no valid primaryKey found on the keyPath, get and set the new value, and use
8466
8478
  if (key === undefined) {
8467
- // @ts-expect-error Due to re-exporting `Key.d.ts` file (needed for `node_modules` imports)
8468
8479
  generateKeyForStore(tx, me, function (failure, key, oldCn) {
8469
8480
  if (failure) {
8470
8481
  failCb(createDOMException('ConstraintError', 'The key generator\'s current number has reached the maximum safe integer limit'));
@@ -8478,7 +8489,6 @@
8478
8489
  success(key, oldCn);
8479
8490
  }, failCb);
8480
8491
  } else {
8481
- // @ts-expect-error Due to re-exporting `Key.d.ts` file (needed for `node_modules` imports)
8482
8492
  possiblyUpdateKeyGenerator(tx, me, key, keyCloneThenSuccess, failCb);
8483
8493
  }
8484
8494
  // Not auto-increment
@@ -8613,6 +8623,7 @@
8613
8623
  return false;
8614
8624
  });
8615
8625
  return undefined;
8626
+ // eslint-disable-next-line sonarjs/no-invariant-returns -- Convenient
8616
8627
  })["catch"](function (err) {
8617
8628
  /**
8618
8629
  * @returns {void}
@@ -8623,7 +8634,6 @@
8623
8634
  error(err);
8624
8635
  }
8625
8636
  if (typeof oldCn === 'number') {
8626
- // @ts-expect-error Due to re-exporting `Key.d.ts` file (needed for `node_modules` imports)
8627
8637
  assignCurrentNumber(tx, me, oldCn, fail, fail);
8628
8638
  return null;
8629
8639
  }
@@ -9743,6 +9753,7 @@
9743
9753
  }
9744
9754
  req.addEventListener('success', removeFromQueue);
9745
9755
  req.addEventListener('error', removeFromQueue);
9756
+ req.addEventListener('blocked', removeFromQueue);
9746
9757
  cb(req);
9747
9758
  }
9748
9759
 
@@ -10559,7 +10570,7 @@
10559
10570
  * @param {import('./Key.js').Key} key1
10560
10571
  * @param {import('./Key.js').Key} key2
10561
10572
  * @throws {TypeError}
10562
- * @returns {0|1|-1}
10573
+ * @returns {number}
10563
10574
  */
10564
10575
  IDBFactory.prototype.cmp = function (key1, key2) {
10565
10576
  if (!(this instanceof IDBFactory)) {
@@ -11606,7 +11617,7 @@
11606
11617
  /**
11607
11618
  * @typedef {(
11608
11619
  * prop: import('./CFG.js').KeyofConfigValues
11609
- * ) => import('../src/CFG.js').ConfigValue} GetConfig
11620
+ * ) => import('./CFG.js').ConfigValue} GetConfig
11610
11621
  */
11611
11622
 
11612
11623
  /**