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 (factory) {
4
4
  typeof define === 'function' && define.amd ? define(factory) :
@@ -1831,12 +1831,13 @@
1831
1831
  }
1832
1832
 
1833
1833
  /**
1834
+ * @todo Didn't need to escape `%`. Do we still need this escape?
1834
1835
  * @param {string} str
1835
1836
  * @returns {string}
1836
1837
  */
1837
1838
  function sqlLIKEEscape(str) {
1838
1839
  // https://www.sqlite.org/lang_expr.html#like
1839
- return sqlEscape(str).replaceAll('^', '^^');
1840
+ return str.replaceAll('^', '^^');
1840
1841
  }
1841
1842
 
1842
1843
  /**
@@ -4029,6 +4030,7 @@
4029
4030
  continue;
4030
4031
  }
4031
4032
  if (key.length === 1) {
4033
+ // eslint-disable-next-line sonarjs/updated-loop-counter -- Convenient
4032
4034
  key = key[0];
4033
4035
  } else {
4034
4036
  var nested = findMultiEntryMatches(key, range);
@@ -4255,7 +4257,7 @@
4255
4257
  *
4256
4258
  * @param {SQLTransaction} tx
4257
4259
  * @param {import('./IDBObjectStore.js').IDBObjectStoreFull} store
4258
- * @param {import('./Key.js').Key} key
4260
+ * @param {Key} key
4259
4261
  * @param {(num?: Integer) => void} successCb
4260
4262
  * @param {SQLFailureCallback} sqlFailCb
4261
4263
  * @returns {void}
@@ -5877,8 +5879,8 @@
5877
5879
  p = [],
5878
5880
  d = [],
5879
5881
  v = !("cyclic" in u) || u.cyclic,
5880
- b = u.encapsulateObserver,
5881
- h = function finish(e) {
5882
+ m = u.encapsulateObserver,
5883
+ b = function finish(e) {
5882
5884
  var t = Object.values(f);
5883
5885
  if (u.iterateNone) return t.length ? t[0] : getJSONType(e);
5884
5886
  if (t.length) {
@@ -5903,7 +5905,7 @@
5903
5905
  });
5904
5906
  return !u.returnTypeNames && e;
5905
5907
  },
5906
- m = _async(function (t, r) {
5908
+ h = _async(function (t, r) {
5907
5909
  return _await(Promise.all(r.map(function (e) {
5908
5910
  return e[1].p;
5909
5911
  })), function (n) {
@@ -5926,11 +5928,11 @@
5926
5928
  }(function () {
5927
5929
  if (s && v) return _await(d.p, function (e) {
5928
5930
  f[y] = e;
5929
- var r = m(t, o);
5931
+ var r = h(t, o);
5930
5932
  return a = !0, r;
5931
5933
  });
5932
5934
  }, function (e) {
5933
- return a ? e : (s ? f[y] = d : t = v ? d.p : d, m(t, o));
5935
+ return a ? e : (s ? f[y] = d : t = v ? d.p : d, h(t, o));
5934
5936
  });
5935
5937
  }))), function () {
5936
5938
  return t;
@@ -5948,13 +5950,13 @@
5948
5950
  });
5949
5951
  },
5950
5952
  O = function _encapsulate(t, r, i, c, l, d, v) {
5951
- var h,
5952
- m = {},
5953
+ var b,
5954
+ h = {},
5953
5955
  O = _typeof(r),
5954
- _ = b ? function (n) {
5956
+ _ = m ? function (n) {
5955
5957
  var a,
5956
5958
  o = null !== (a = null != v ? v : c.type) && void 0 !== a ? a : getJSONType(r);
5957
- b(Object.assign(null != n ? n : m, {
5959
+ m(Object.assign(null != n ? n : h, {
5958
5960
  keypath: t,
5959
5961
  value: r,
5960
5962
  cyclic: i,
@@ -5966,9 +5968,9 @@
5966
5968
  type: o
5967
5969
  }));
5968
5970
  } : null;
5969
- 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 = {
5970
- replaced: h
5971
- }) : h = r, _ && _(), h;
5971
+ 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 = {
5972
+ replaced: b
5973
+ }) : b = r, _ && _(), b;
5972
5974
  if (null === r) return _ && _(), r;
5973
5975
  if (i && !c.iterateIn && !c.iterateUnsetNumeric && r && "object" === _typeof(r)) {
5974
5976
  var A = y.indexOf(r);
@@ -5982,14 +5984,14 @@
5982
5984
  T = isPlainObject(r),
5983
5985
  I = o(r),
5984
5986
  N = (T || I) && (!s.plainObjectReplacers.length || c.replaced) || c.iterateIn ? r : w(t, r, c, l, T || I, null, _);
5985
- if (N !== r ? (h = N, m = {
5987
+ if (N !== r ? (b = N, h = {
5986
5988
  replaced: N
5987
- }) : "" === 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 = {
5989
+ }) : "" === 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 = {
5988
5990
  clone: S
5989
- }) : (["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 = {
5991
+ }) : (["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 = {
5990
5992
  clone: S
5991
- }), _ && _(), u.iterateNone) return null !== (j = S) && void 0 !== j ? j : h;
5992
- if (!S) return h;
5993
+ }), _ && _(), u.iterateNone) return null !== (j = S) && void 0 !== j ? j : b;
5994
+ if (!S) return b;
5993
5995
  if (c.iterateIn) {
5994
5996
  var P = function _loop(n) {
5995
5997
  var o = {
@@ -6055,12 +6057,12 @@
6055
6057
  i && i({
6056
6058
  replacing: !0
6057
6059
  });
6058
- var b = void 0;
6060
+ var m = void 0;
6059
6061
  if (l || !y.replaceAsync) {
6060
6062
  if (void 0 === y.replace) throw new TypeError("Missing replacer");
6061
- b = y.replace(t, r);
6062
- } else b = y.replaceAsync(t, r);
6063
- return O(e, b, v && "readonly", r, n, o, p);
6063
+ m = y.replace(t, r);
6064
+ } else m = y.replaceAsync(t, r);
6065
+ return O(e, m, v && "readonly", r, n, o, p);
6064
6066
  }
6065
6067
  }
6066
6068
  return t;
@@ -6068,9 +6070,9 @@
6068
6070
  _ = O("", t, v, null != r ? r : {}, d);
6069
6071
  if (d.length) return l && u.throwOnBadSyncType ? function () {
6070
6072
  throw new TypeError("Sync method requested but async result obtained");
6071
- }() : Promise.resolve(m(_, d)).then(h);
6073
+ }() : Promise.resolve(h(_, d)).then(b);
6072
6074
  if (!l && u.throwOnBadSyncType) throw new TypeError("Async method requested but sync result obtained");
6073
- return u.stringification && l ? [h(_)] : l ? h(_) : Promise.resolve(h(_));
6075
+ return u.stringification && l ? [b(_)] : l ? b(_) : Promise.resolve(b(_));
6074
6076
  }
6075
6077
  }, {
6076
6078
  key: "encapsulateSync",
@@ -6125,7 +6127,7 @@
6125
6127
  return hasConstructorOf(e, s) ? void 0 : e;
6126
6128
  }
6127
6129
  var v,
6128
- b = function revivePlainObjects() {
6130
+ m = function revivePlainObjects() {
6129
6131
  var r = [];
6130
6132
  if (!u) throw new Error("Found bad `types`");
6131
6133
  if (Object.entries(u).forEach(function (e) {
@@ -6157,29 +6159,29 @@
6157
6159
  c === i && (t = c);
6158
6160
  }, void 0);
6159
6161
  }();
6160
- return hasConstructorOf(b, e) ? v = b.then(function () {
6162
+ return hasConstructorOf(m, e) ? v = m.then(function () {
6161
6163
  return t;
6162
6164
  }) : (v = function _revive(t, r, a, i, c) {
6163
6165
  if (!y || "$types" !== t) {
6164
6166
  var f = u[t],
6165
6167
  v = o(r);
6166
6168
  if (v || isPlainObject(r)) {
6167
- var b = v ? new Array(r.length) : {};
6169
+ var m = v ? new Array(r.length) : {};
6168
6170
  for (n(r).forEach(function (n) {
6169
- var o = _revive(t + (t ? "." : "") + escapeKeyPathComponent(n), r[n], null != a ? a : b, b, n),
6171
+ var o = _revive(t + (t ? "." : "") + escapeKeyPathComponent(n), r[n], null != a ? a : m, m, n),
6170
6172
  i = function set(e) {
6171
- return hasConstructorOf(e, s) ? b[n] = void 0 : void 0 !== e && (b[n] = e), e;
6173
+ return hasConstructorOf(e, s) ? m[n] = void 0 : void 0 !== e && (m[n] = e), e;
6172
6174
  };
6173
6175
  hasConstructorOf(o, e) ? d.push(o.then(function (e) {
6174
6176
  return i(e);
6175
6177
  })) : i(o);
6176
- }), r = b; l.length;) {
6177
- var h = _slicedToArray(l[0], 4),
6178
- m = h[0],
6179
- g = h[1],
6180
- O = h[2],
6181
- w = h[3],
6182
- _ = getByKeyPath(m, g);
6178
+ }), r = m; l.length;) {
6179
+ var b = _slicedToArray(l[0], 4),
6180
+ h = b[0],
6181
+ g = b[1],
6182
+ O = b[2],
6183
+ w = b[3],
6184
+ _ = getByKeyPath(h, g);
6183
6185
  if (void 0 === _) break;
6184
6186
  O[w] = _, l.splice(0, 1);
6185
6187
  }
@@ -6333,7 +6335,7 @@
6333
6335
  }
6334
6336
  }
6335
6337
  },
6336
- b = {
6338
+ m = {
6337
6339
  bigintObject: {
6338
6340
  test: function test(e) {
6339
6341
  return "object" == _typeof$2(e) && hasConstructorOf(e, BigInt);
@@ -6344,7 +6346,7 @@
6344
6346
  }
6345
6347
  }
6346
6348
  },
6347
- h = {
6349
+ b = {
6348
6350
  bigint: {
6349
6351
  test: function test(e) {
6350
6352
  return "bigint" == typeof e;
@@ -6365,7 +6367,7 @@
6365
6367
  for (var _r = 0; _r < e.length; _r++) t[_r] = e.charCodeAt(_r);
6366
6368
  return t.buffer;
6367
6369
  }
6368
- var m = {
6370
+ var h = {
6369
6371
  blob: {
6370
6372
  test: function test(e) {
6371
6373
  return "Blob" === toStringTag(e);
@@ -6935,7 +6937,7 @@
6935
6937
  }
6936
6938
  }
6937
6939
  },
6938
- q = {
6940
+ Y = {
6939
6941
  regexp: {
6940
6942
  test: function test(e) {
6941
6943
  return "RegExp" === toStringTag(e);
@@ -6946,14 +6948,14 @@
6946
6948
  flags: (e.global ? "g" : "") + (e.ignoreCase ? "i" : "") + (e.multiline ? "m" : "") + (e.sticky ? "y" : "") + (e.unicode ? "u" : "")
6947
6949
  };
6948
6950
  },
6949
- revive: function revive(_ref11) {
6950
- var e = _ref11.source,
6951
- t = _ref11.flags;
6951
+ revive: function revive(_ref12) {
6952
+ var e = _ref12.source,
6953
+ t = _ref12.flags;
6952
6954
  return new RegExp(e, t);
6953
6955
  }
6954
6956
  }
6955
6957
  },
6956
- G = {
6958
+ H = {
6957
6959
  set: {
6958
6960
  test: function test(e) {
6959
6961
  return "Set" === toStringTag(e);
@@ -6966,11 +6968,11 @@
6966
6968
  }
6967
6969
  }
6968
6970
  },
6969
- H = {};
6971
+ Q = {};
6970
6972
  "function" == typeof Int8Array && [Int8Array, Uint8Array, Uint8ClampedArray, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array].concat(_toConsumableArray("function" == typeof BigInt64Array ? [BigInt64Array, BigUint64Array] : [])).forEach(function (e) {
6971
6973
  return function create$1(e) {
6972
6974
  var t = e.name;
6973
- H[t.toLowerCase()] = {
6975
+ Q[t.toLowerCase()] = {
6974
6976
  test: function test(e) {
6975
6977
  return toStringTag(e) === t;
6976
6978
  },
@@ -6983,18 +6985,18 @@
6983
6985
  };
6984
6986
  }(e);
6985
6987
  });
6986
- var z = {};
6988
+ var X = {};
6987
6989
  "function" == typeof Int8Array && [Int8Array, Uint8Array, Uint8ClampedArray, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array].concat(_toConsumableArray("function" == typeof BigInt64Array ? [BigInt64Array, BigUint64Array] : [])).forEach(function (e) {
6988
6990
  return function create(e) {
6989
6991
  var t = e.name;
6990
- z[t.toLowerCase()] = {
6992
+ X[t.toLowerCase()] = {
6991
6993
  test: function test(e) {
6992
6994
  return toStringTag(e) === t;
6993
6995
  },
6994
- replace: function replace(_ref12, n) {
6995
- var e = _ref12.buffer,
6996
- t = _ref12.byteOffset,
6997
- r = _ref12.length;
6996
+ replace: function replace(_ref13, n) {
6997
+ var e = _ref13.buffer,
6998
+ t = _ref13.byteOffset,
6999
+ r = _ref13.length;
6998
7000
  n.buffers || (n.buffers = []);
6999
7001
  var a = n.buffers.indexOf(e);
7000
7002
  return a > -1 ? {
@@ -7023,7 +7025,7 @@
7023
7025
  };
7024
7026
  }(e);
7025
7027
  });
7026
- var Q = {
7028
+ var Z = {
7027
7029
  undef: {
7028
7030
  test: function test(e, t) {
7029
7031
  return void 0 === e && (t.ownKeys || !("ownKeys" in t));
@@ -7036,7 +7038,7 @@
7036
7038
  }
7037
7039
  }
7038
7040
  },
7039
- X = {
7041
+ ee = {
7040
7042
  userObject: {
7041
7043
  test: function test(e) {
7042
7044
  return isUserObject(e);
@@ -7049,7 +7051,7 @@
7049
7051
  }
7050
7052
  }
7051
7053
  },
7052
- Z = [{
7054
+ te = [{
7053
7055
  arrayNonindexKeys: {
7054
7056
  testPlainObjects: !0,
7055
7057
  test: function test(e, t) {
@@ -7063,10 +7065,10 @@
7063
7065
  revive: function revive(e) {
7064
7066
  if (Array.isArray(e)) return e;
7065
7067
  var t = [];
7066
- return Object.entries(e).forEach(function (_ref13) {
7067
- var _ref14 = _slicedToArray$1(_ref13, 2),
7068
- e = _ref14[0],
7069
- r = _ref14[1];
7068
+ return Object.entries(e).forEach(function (_ref14) {
7069
+ var _ref15 = _slicedToArray$1(_ref14, 2),
7070
+ e = _ref15[0],
7071
+ r = _ref15[1];
7070
7072
  t[e] = r;
7071
7073
  }), t;
7072
7074
  }
@@ -7082,9 +7084,9 @@
7082
7084
  revive: function revive() {}
7083
7085
  }
7084
7086
  }],
7085
- ee = [K, U, F, $],
7086
- 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 : []),
7087
- ie = oe.concat({
7087
+ re = [K, U, F, $],
7088
+ 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 : []),
7089
+ se = ce.concat({
7088
7090
  checkDataCloneException: {
7089
7091
  test: function test(e) {
7090
7092
  var t = {}.toString.call(e).slice(8, -1);
@@ -7096,7 +7098,7 @@
7096
7098
 
7097
7099
  // See: http://stackoverflow.com/questions/42170826/categories-for-rejection-by-the-structured-cloning-algorithm
7098
7100
 
7099
- var typeson = new c().register(ie);
7101
+ var typeson = new c().register(se);
7100
7102
 
7101
7103
  /**
7102
7104
  * @param {(preset: import('typeson-registry').Preset) =>
@@ -7104,7 +7106,7 @@
7104
7106
  * @returns {void}
7105
7107
  */
7106
7108
  function register(func) {
7107
- typeson = new c().register(func(ie));
7109
+ typeson = new c().register(func(se));
7108
7110
  }
7109
7111
 
7110
7112
  /**
@@ -7556,6 +7558,7 @@
7556
7558
  IDBIndex.__updateIndexList = function (store, tx, success, failure) {
7557
7559
  /** @type {IndexList} **/
7558
7560
  var indexList = {};
7561
+ // eslint-disable-next-line sonarjs/prefer-for-of -- Implement iterability?
7559
7562
  for (var i = 0; i < store.indexNames.length; i++) {
7560
7563
  var idx = store.__indexes[store.indexNames[i]];
7561
7564
  indexList[idx.name] = {
@@ -7948,8 +7951,11 @@
7948
7951
  return rowKey.includes(check);
7949
7952
  }) ||
7950
7953
  // More precise than our SQL
7951
- isMultiEntryMatch(/** @type {string} */
7952
- encodedKey, row[escapedIndexNameForKeyCol]))) {
7954
+ isMultiEntryMatch(
7955
+ // Added `JSON.stringify` as was having problems with
7956
+ // `JSON.stringify` encoding added to nested
7957
+ // array keys
7958
+ JSON.stringify(encodedKey).slice(1, -1), row[escapedIndexNameForKeyCol]))) {
7953
7959
  recordCount++;
7954
7960
  record = row;
7955
7961
  } else if (!hasKey && !multiChecks) {
@@ -8025,7 +8031,13 @@
8025
8031
  sql.push(')');
8026
8032
  } else if (index.multiEntry) {
8027
8033
  sql.push('AND', escapeIndexNameForSQL(index.name), "LIKE ? ESCAPE '^'");
8028
- sqlValues.push('%' + sqlLIKEEscape(/** @type {string} */_encode(range, index.multiEntry)) + '%');
8034
+ if (Array.isArray(range)) {
8035
+ // Todo: For nesting deeper than one level, we probably need to
8036
+ // run `JSON.stringify` again
8037
+ sqlValues.push('%' + sqlLIKEEscape(JSON.stringify(/** @type {string} */_encode(range, index.multiEntry)).slice(1, -1)) + '%');
8038
+ } else {
8039
+ sqlValues.push('%' + sqlLIKEEscape(/** @type {string} */_encode(range, index.multiEntry)) + '%');
8040
+ }
8029
8041
  } else {
8030
8042
  var convertedRange = convertValueToKeyRange(range, nullDisallowed);
8031
8043
  setSQLForKeyRange(convertedRange, escapeIndexNameForSQL(index.name), sql, sqlValues, true, false);
@@ -8449,7 +8461,6 @@
8449
8461
  if (me.autoIncrement) {
8450
8462
  // If auto-increment and no valid primaryKey found on the keyPath, get and set the new value, and use
8451
8463
  if (key === undefined) {
8452
- // @ts-expect-error Due to re-exporting `Key.d.ts` file (needed for `node_modules` imports)
8453
8464
  generateKeyForStore(tx, me, function (failure, key, oldCn) {
8454
8465
  if (failure) {
8455
8466
  failCb(createDOMException('ConstraintError', 'The key generator\'s current number has reached the maximum safe integer limit'));
@@ -8463,7 +8474,6 @@
8463
8474
  success(key, oldCn);
8464
8475
  }, failCb);
8465
8476
  } else {
8466
- // @ts-expect-error Due to re-exporting `Key.d.ts` file (needed for `node_modules` imports)
8467
8477
  possiblyUpdateKeyGenerator(tx, me, key, keyCloneThenSuccess, failCb);
8468
8478
  }
8469
8479
  // Not auto-increment
@@ -8598,6 +8608,7 @@
8598
8608
  return false;
8599
8609
  });
8600
8610
  return undefined;
8611
+ // eslint-disable-next-line sonarjs/no-invariant-returns -- Convenient
8601
8612
  })["catch"](function (err) {
8602
8613
  /**
8603
8614
  * @returns {void}
@@ -8608,7 +8619,6 @@
8608
8619
  error(err);
8609
8620
  }
8610
8621
  if (typeof oldCn === 'number') {
8611
- // @ts-expect-error Due to re-exporting `Key.d.ts` file (needed for `node_modules` imports)
8612
8622
  assignCurrentNumber(tx, me, oldCn, fail, fail);
8613
8623
  return null;
8614
8624
  }
@@ -9728,6 +9738,7 @@
9728
9738
  }
9729
9739
  req.addEventListener('success', removeFromQueue);
9730
9740
  req.addEventListener('error', removeFromQueue);
9741
+ req.addEventListener('blocked', removeFromQueue);
9731
9742
  cb(req);
9732
9743
  }
9733
9744
 
@@ -10544,7 +10555,7 @@
10544
10555
  * @param {import('./Key.js').Key} key1
10545
10556
  * @param {import('./Key.js').Key} key2
10546
10557
  * @throws {TypeError}
10547
- * @returns {0|1|-1}
10558
+ * @returns {number}
10548
10559
  */
10549
10560
  IDBFactory.prototype.cmp = function (key1, key2) {
10550
10561
  if (!(this instanceof IDBFactory)) {
@@ -11591,7 +11602,7 @@
11591
11602
  /**
11592
11603
  * @typedef {(
11593
11604
  * prop: import('./CFG.js').KeyofConfigValues
11594
- * ) => import('../src/CFG.js').ConfigValue} GetConfig
11605
+ * ) => import('./CFG.js').ConfigValue} GetConfig
11595
11606
  */
11596
11607
 
11597
11608
  /**