indexeddbshim 16.0.0 → 17.0.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 (77) hide show
  1. package/README.md +4 -4
  2. package/badges/licenses-badge-dev.svg +1 -1
  3. package/badges/licenses-badge.svg +1 -1
  4. package/dist/CFG.d.ts.map +1 -1
  5. package/dist/DOMException.d.ts.map +1 -1
  6. package/dist/DOMStringList.d.ts.map +1 -1
  7. package/dist/IDBCursor.d.ts +5 -2
  8. package/dist/IDBCursor.d.ts.map +1 -1
  9. package/dist/IDBDatabase.d.ts +2 -1
  10. package/dist/IDBDatabase.d.ts.map +1 -1
  11. package/dist/IDBFactory.d.ts +2 -1
  12. package/dist/IDBFactory.d.ts.map +1 -1
  13. package/dist/IDBIndex.d.ts +2 -1
  14. package/dist/IDBIndex.d.ts.map +1 -1
  15. package/dist/IDBKeyRange.d.ts +1 -1
  16. package/dist/IDBKeyRange.d.ts.map +1 -1
  17. package/dist/IDBObjectStore.d.ts +2 -1
  18. package/dist/IDBObjectStore.d.ts.map +1 -1
  19. package/dist/IDBRequest.d.ts +5 -3
  20. package/dist/IDBRequest.d.ts.map +1 -1
  21. package/dist/IDBTransaction.d.ts +2 -1
  22. package/dist/IDBTransaction.d.ts.map +1 -1
  23. package/dist/Key.d.ts.map +1 -1
  24. package/dist/Sca.d.ts.map +1 -1
  25. package/dist/UnicodeIdentifiers.d.ts.map +1 -1
  26. package/dist/browser-noninvasive.d.ts.map +1 -1
  27. package/dist/indexeddbshim-Key.js +32 -27
  28. package/dist/indexeddbshim-Key.js.map +1 -1
  29. package/dist/indexeddbshim-Key.min.js +2 -2
  30. package/dist/indexeddbshim-Key.min.js.map +1 -1
  31. package/dist/indexeddbshim-UnicodeIdentifiers-node.cjs +984 -1092
  32. package/dist/indexeddbshim-UnicodeIdentifiers-node.cjs.map +1 -1
  33. package/dist/indexeddbshim-UnicodeIdentifiers.js +1220 -1233
  34. package/dist/indexeddbshim-UnicodeIdentifiers.js.map +1 -1
  35. package/dist/indexeddbshim-UnicodeIdentifiers.min.js +8 -3
  36. package/dist/indexeddbshim-UnicodeIdentifiers.min.js.map +1 -1
  37. package/dist/indexeddbshim-node.cjs +984 -1092
  38. package/dist/indexeddbshim-node.cjs.map +1 -1
  39. package/dist/indexeddbshim-noninvasive.js +1219 -1232
  40. package/dist/indexeddbshim-noninvasive.js.map +1 -1
  41. package/dist/indexeddbshim-noninvasive.min.js +8 -3
  42. package/dist/indexeddbshim-noninvasive.min.js.map +1 -1
  43. package/dist/indexeddbshim.js +1219 -1232
  44. package/dist/indexeddbshim.js.map +1 -1
  45. package/dist/indexeddbshim.min.js +8 -3
  46. package/dist/indexeddbshim.min.js.map +1 -1
  47. package/dist/node-UnicodeIdentifiers.d.ts +2 -2
  48. package/dist/node-UnicodeIdentifiers.d.ts.map +1 -1
  49. package/dist/node.d.ts +2 -2
  50. package/dist/node.d.ts.map +1 -1
  51. package/dist/setGlobalVars.d.ts.map +1 -1
  52. package/dist/util.d.ts.map +1 -1
  53. package/package.json +112 -105
  54. package/src/CFG.js +2 -3
  55. package/src/DOMException.js +11 -9
  56. package/src/DOMStringList.js +8 -3
  57. package/src/Event.js +2 -0
  58. package/src/IDBCursor.js +22 -11
  59. package/src/IDBDatabase.js +9 -6
  60. package/src/IDBFactory.js +21 -15
  61. package/src/IDBIndex.js +82 -77
  62. package/src/IDBKeyRange.js +42 -35
  63. package/src/IDBObjectStore.js +83 -77
  64. package/src/IDBRequest.js +28 -15
  65. package/src/IDBTransaction.js +8 -4
  66. package/src/IDBVersionChangeEvent.js +2 -0
  67. package/src/Key.js +22 -12
  68. package/src/Sca.js +2 -1
  69. package/src/UnicodeIdentifiers.js +2 -2
  70. package/src/browser-UnicodeIdentifiers.js +1 -2
  71. package/src/browser-noninvasive.js +0 -1
  72. package/src/browser.js +0 -1
  73. package/src/node-UnicodeIdentifiers.js +1 -1
  74. package/src/node.js +1 -1
  75. package/src/setGlobalVars.js +13 -15
  76. package/src/unicode-regex.js +1 -1
  77. package/src/util.js +13 -12
@@ -1,11 +1,11 @@
1
- /*! indexeddbshim - v16.0.0 - 6/14/2025 */
1
+ /*! indexeddbshim - v17.0.0 - 7/28/2026 */
2
2
 
3
3
  (function (factory) {
4
4
  typeof define === 'function' && define.amd ? define(factory) :
5
5
  factory();
6
6
  })((function () { 'use strict';
7
7
 
8
- function _arrayLikeToArray$1(r, a) {
8
+ function _arrayLikeToArray(r, a) {
9
9
  (null == a || a > r.length) && (a = r.length);
10
10
  for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
11
11
  return n;
@@ -14,7 +14,7 @@
14
14
  if (Array.isArray(r)) return r;
15
15
  }
16
16
  function _arrayWithoutHoles(r) {
17
- if (Array.isArray(r)) return _arrayLikeToArray$1(r);
17
+ if (Array.isArray(r)) return _arrayLikeToArray(r);
18
18
  }
19
19
  function asyncGeneratorStep(n, t, e, r, o, a, c) {
20
20
  try {
@@ -41,7 +41,7 @@
41
41
  });
42
42
  };
43
43
  }
44
- function _classCallCheck$1(a, n) {
44
+ function _classCallCheck(a, n) {
45
45
  if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function");
46
46
  }
47
47
  function _construct(t, e, r) {
@@ -54,10 +54,10 @@
54
54
  function _defineProperties(e, r) {
55
55
  for (var t = 0; t < r.length; t++) {
56
56
  var o = r[t];
57
- o.enumerable = o.enumerable || false, o.configurable = true, "value" in o && (o.writable = true), Object.defineProperty(e, _toPropertyKey$1(o.key), o);
57
+ o.enumerable = o.enumerable || false, o.configurable = true, "value" in o && (o.writable = true), Object.defineProperty(e, _toPropertyKey(o.key), o);
58
58
  }
59
59
  }
60
- function _createClass$1(e, r, t) {
60
+ function _createClass(e, r, t) {
61
61
  return r && _defineProperties(e.prototype, r), Object.defineProperty(e, "prototype", {
62
62
  writable: false
63
63
  }), e;
@@ -65,7 +65,7 @@
65
65
  function _createForOfIteratorHelper(r, e) {
66
66
  var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
67
67
  if (!t) {
68
- if (Array.isArray(r) || (t = _unsupportedIterableToArray$1(r)) || e) {
68
+ if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e) {
69
69
  t && (r = t);
70
70
  var n = 0,
71
71
  F = function () {};
@@ -117,8 +117,8 @@
117
117
  };
118
118
  return c[e] = t, Object.defineProperty(r, n, c);
119
119
  }
120
- function _defineProperty$1(e, r, t) {
121
- return (r = _toPropertyKey$1(r)) in e ? Object.defineProperty(e, r, {
120
+ function _defineProperty(e, r, t) {
121
+ return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
122
122
  value: t,
123
123
  enumerable: true,
124
124
  configurable: true,
@@ -147,7 +147,10 @@
147
147
  f = true,
148
148
  o = false;
149
149
  try {
150
- if (i = (t = t.call(r)).next, 0 === l) ; else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
150
+ if (i = (t = t.call(r)).next, 0 === l) {
151
+ if (Object(t) !== t) return;
152
+ f = !1;
153
+ } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
151
154
  } catch (r) {
152
155
  o = true, n = r;
153
156
  } finally {
@@ -166,7 +169,7 @@
166
169
  function _nonIterableSpread() {
167
170
  throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
168
171
  }
169
- function ownKeys$1(e, r) {
172
+ function ownKeys(e, r) {
170
173
  var t = Object.keys(e);
171
174
  if (Object.getOwnPropertySymbols) {
172
175
  var o = Object.getOwnPropertySymbols(e);
@@ -176,12 +179,12 @@
176
179
  }
177
180
  return t;
178
181
  }
179
- function _objectSpread2$1(e) {
182
+ function _objectSpread2(e) {
180
183
  for (var r = 1; r < arguments.length; r++) {
181
184
  var t = null != arguments[r] ? arguments[r] : {};
182
- r % 2 ? ownKeys$1(Object(t), true).forEach(function (r) {
183
- _defineProperty$1(e, r, t[r]);
184
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) {
185
+ r % 2 ? ownKeys(Object(t), true).forEach(function (r) {
186
+ _defineProperty(e, r, t[r]);
187
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {
185
188
  Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
186
189
  });
187
190
  }
@@ -282,26 +285,24 @@
282
285
  i = 0;
283
286
  }
284
287
  _regeneratorDefine = function (e, r, n, t) {
285
- if (r) i ? i(e, r, {
288
+ function o(r, n) {
289
+ _regeneratorDefine(e, r, function (e) {
290
+ return this._invoke(r, n, e);
291
+ });
292
+ }
293
+ r ? i ? i(e, r, {
286
294
  value: n,
287
295
  enumerable: !t,
288
296
  configurable: !t,
289
297
  writable: !t
290
- }) : e[r] = n;else {
291
- function o(r, n) {
292
- _regeneratorDefine(e, r, function (e) {
293
- return this._invoke(r, n, e);
294
- });
295
- }
296
- o("next", 0), o("throw", 1), o("return", 2);
297
- }
298
+ }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2));
298
299
  }, _regeneratorDefine(e, r, n, t);
299
300
  }
300
- function _slicedToArray$1(r, e) {
301
- return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray$1(r, e) || _nonIterableRest();
301
+ function _slicedToArray(r, e) {
302
+ return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();
302
303
  }
303
304
  function _toConsumableArray(r) {
304
- return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray$1(r) || _nonIterableSpread();
305
+ return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread();
305
306
  }
306
307
  function _toPrimitive(t, r) {
307
308
  if ("object" != typeof t || !t) return t;
@@ -313,35 +314,35 @@
313
314
  }
314
315
  return ("string" === r ? String : Number)(t);
315
316
  }
316
- function _toPropertyKey$1(t) {
317
+ function _toPropertyKey(t) {
317
318
  var i = _toPrimitive(t, "string");
318
319
  return "symbol" == typeof i ? i : i + "";
319
320
  }
320
- function _typeof$2(o) {
321
+ function _typeof$1(o) {
321
322
  "@babel/helpers - typeof";
322
323
 
323
- return _typeof$2 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
324
+ return _typeof$1 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
324
325
  return typeof o;
325
326
  } : function (o) {
326
327
  return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
327
- }, _typeof$2(o);
328
+ }, _typeof$1(o);
328
329
  }
329
- function _unsupportedIterableToArray$1(r, a) {
330
+ function _unsupportedIterableToArray(r, a) {
330
331
  if (r) {
331
- if ("string" == typeof r) return _arrayLikeToArray$1(r, a);
332
+ if ("string" == typeof r) return _arrayLikeToArray(r, a);
332
333
  var t = {}.toString.call(r).slice(8, -1);
333
- return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$1(r, a) : void 0;
334
+ return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;
334
335
  }
335
336
  }
336
337
 
337
- function _typeof$1(obj) {
338
+ function _typeof(obj) {
338
339
  "@babel/helpers - typeof";
339
340
 
340
- return _typeof$1 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
341
+ return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
341
342
  return typeof obj;
342
343
  } : function (obj) {
343
344
  return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
344
- }, _typeof$1(obj);
345
+ }, _typeof(obj);
345
346
  }
346
347
 
347
348
  /* eslint-disable n/no-sync -- Want sync naming */
@@ -1169,7 +1170,7 @@
1169
1170
  }
1170
1171
  var triggerGlobalErrorEvent;
1171
1172
  var useNodeImpl = false;
1172
- if (typeof window === 'undefined' || typeof ErrorEvent === 'undefined' || window && (typeof window === "undefined" ? "undefined" : _typeof$1(window)) === 'object' && !window.dispatchEvent) {
1173
+ if (typeof window === 'undefined' || typeof ErrorEvent === 'undefined' || window && (typeof window === "undefined" ? "undefined" : _typeof(window)) === 'object' && !window.dispatchEvent) {
1173
1174
  useNodeImpl = true;
1174
1175
  triggerGlobalErrorEvent = function triggerGlobalErrorEvent() {
1175
1176
  setTimeout(function () {
@@ -1262,12 +1263,10 @@
1262
1263
  Object.setPrototypeOf(ShimCustomEvent.prototype, ShimEvent.prototype);
1263
1264
  }
1264
1265
 
1265
- /* eslint-disable jsdoc/valid-types -- https://github.com/jsdoc-type-pratt-parser/jsdoc-type-pratt-parser/issues/147 */
1266
1266
  /**
1267
1267
  * @typedef {T[keyof T]} ValueOf<T>
1268
1268
  * @template T
1269
1269
  */
1270
- /* eslint-enable jsdoc/valid-types -- https://github.com/jsdoc-type-pratt-parser/jsdoc-type-pratt-parser/issues/147 */
1271
1270
 
1272
1271
  /**
1273
1272
  * @typedef {{unlink: (path: string, cb: import('fs').NoParamCallback) => void}} FSApi
@@ -1329,6 +1328,7 @@
1329
1328
  */
1330
1329
 
1331
1330
  /** @type {Config} */
1331
+ // eslint-disable-next-line unicorn/no-top-level-side-effects -- Would be good
1332
1332
  [
1333
1333
  // Boolean for verbose reporting
1334
1334
  'DEBUG',
@@ -1346,7 +1346,7 @@
1346
1346
  // calls required for full WebIDL compliance will be used. Probably
1347
1347
  // only needed for testing or environments where full introspection
1348
1348
  // on class relationships is required; see
1349
- // http://stackoverflow.com/questions/41927589/rationales-consequences-of-webidl-class-inheritance-requirements
1349
+ // https://stackoverflow.com/questions/41927589/rationales-consequences-of-webidl-class-inheritance-requirements
1350
1350
  'fullIDLSupport',
1351
1351
  // Effectively defaults to false (ignored unless `true`)
1352
1352
 
@@ -1467,7 +1467,7 @@
1467
1467
  var validator;
1468
1468
  if (Array.isArray(prop)) {
1469
1469
  var _prop = prop;
1470
- var _prop2 = _slicedToArray$1(_prop, 2);
1470
+ var _prop2 = _slicedToArray(_prop, 2);
1471
1471
  prop = _prop2[0];
1472
1472
  validator = _prop2[1];
1473
1473
  }
@@ -1494,7 +1494,7 @@
1494
1494
  function requireRegex() {
1495
1495
  if (hasRequiredRegex) return regex$1;
1496
1496
  hasRequiredRegex = 1;
1497
- regex$1 = /[\xC0-\xC5\xC7-\xCF\xD1-\xD6\xD9-\xDD\xE0-\xE5\xE7-\xEF\xF1-\xF6\xF9-\xFD\xFF-\u010F\u0112-\u0125\u0128-\u0130\u0134-\u0137\u0139-\u013E\u0143-\u0148\u014C-\u0151\u0154-\u0165\u0168-\u017E\u01A0\u01A1\u01AF\u01B0\u01CD-\u01DC\u01DE-\u01E3\u01E6-\u01F0\u01F4\u01F5\u01F8-\u021B\u021E\u021F\u0226-\u0233\u0344\u0385\u0386\u0388-\u038A\u038C\u038E-\u0390\u03AA-\u03B0\u03CA-\u03CE\u03D3\u03D4\u0400\u0401\u0403\u0407\u040C-\u040E\u0419\u0439\u0450\u0451\u0453\u0457\u045C-\u045E\u0476\u0477\u04C1\u04C2\u04D0-\u04D3\u04D6\u04D7\u04DA-\u04DF\u04E2-\u04E7\u04EA-\u04F5\u04F8\u04F9\u0622-\u0626\u06C0\u06C2\u06D3\u0929\u0931\u0934\u0958-\u095F\u09CB\u09CC\u09DC\u09DD\u09DF\u0A33\u0A36\u0A59-\u0A5B\u0A5E\u0B48\u0B4B\u0B4C\u0B5C\u0B5D\u0B94\u0BCA-\u0BCC\u0C48\u0CC0\u0CC7\u0CC8\u0CCA\u0CCB\u0D4A-\u0D4C\u0DDA\u0DDC-\u0DDE\u0F43\u0F4D\u0F52\u0F57\u0F5C\u0F69\u0F73\u0F75\u0F76\u0F78\u0F81\u0F93\u0F9D\u0FA2\u0FA7\u0FAC\u0FB9\u1026\u1B06\u1B08\u1B0A\u1B0C\u1B0E\u1B12\u1B3B\u1B3D\u1B40\u1B41\u1B43\u1E00-\u1E99\u1E9B\u1EA0-\u1EF9\u1F00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FC1-\u1FC4\u1FC6-\u1FD3\u1FD6-\u1FDB\u1FDD-\u1FEE\u1FF2-\u1FF4\u1FF6-\u1FFC\u212B\u219A\u219B\u21AE\u21CD-\u21CF\u2204\u2209\u220C\u2224\u2226\u2241\u2244\u2247\u2249\u2260\u2262\u226D-\u2271\u2274\u2275\u2278\u2279\u2280\u2281\u2284\u2285\u2288\u2289\u22AC-\u22AF\u22E0-\u22E3\u22EA-\u22ED\u2ADC\u304C\u304E\u3050\u3052\u3054\u3056\u3058\u305A\u305C\u305E\u3060\u3062\u3065\u3067\u3069\u3070\u3071\u3073\u3074\u3076\u3077\u3079\u307A\u307C\u307D\u3094\u309E\u30AC\u30AE\u30B0\u30B2\u30B4\u30B6\u30B8\u30BA\u30BC\u30BE\u30C0\u30C2\u30C5\u30C7\u30C9\u30D0\u30D1\u30D3\u30D4\u30D6\u30D7\u30D9\u30DA\u30DC\u30DD\u30F4\u30F7-\u30FA\u30FE\uAC00-\uD7A3\uFB1D\uFB1F\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFB4E]|\uD804[\uDC9A\uDC9C\uDCAB\uDD2E\uDD2F\uDF4B\uDF4C]|\uD805[\uDCBB\uDCBC\uDCBE\uDDBA\uDDBB]|\uD806\uDD38|\uD834[\uDD5E-\uDD64\uDDBB-\uDDC0]/;
1497
+ regex$1 = /[\xC0-\xC5\xC7-\xCF\xD1-\xD6\xD9-\xDD\xE0-\xE5\xE7-\xEF\xF1-\xF6\xF9-\xFD\xFF-\u010F\u0112-\u0125\u0128-\u0130\u0134-\u0137\u0139-\u013E\u0143-\u0148\u014C-\u0151\u0154-\u0165\u0168-\u017E\u01A0\u01A1\u01AF\u01B0\u01CD-\u01DC\u01DE-\u01E3\u01E6-\u01F0\u01F4\u01F5\u01F8-\u021B\u021E\u021F\u0226-\u0233\u0344\u0385\u0386\u0388-\u038A\u038C\u038E-\u0390\u03AA-\u03B0\u03CA-\u03CE\u03D3\u03D4\u0400\u0401\u0403\u0407\u040C-\u040E\u0419\u0439\u0450\u0451\u0453\u0457\u045C-\u045E\u0476\u0477\u04C1\u04C2\u04D0-\u04D3\u04D6\u04D7\u04DA-\u04DF\u04E2-\u04E7\u04EA-\u04F5\u04F8\u04F9\u0622-\u0626\u06C0\u06C2\u06D3\u0929\u0931\u0934\u0958-\u095F\u09CB\u09CC\u09DC\u09DD\u09DF\u0A33\u0A36\u0A59-\u0A5B\u0A5E\u0B48\u0B4B\u0B4C\u0B5C\u0B5D\u0B94\u0BCA-\u0BCC\u0C48\u0CC0\u0CC7\u0CC8\u0CCA\u0CCB\u0D4A-\u0D4C\u0DDA\u0DDC-\u0DDE\u0F43\u0F4D\u0F52\u0F57\u0F5C\u0F69\u0F73\u0F75\u0F76\u0F78\u0F81\u0F93\u0F9D\u0FA2\u0FA7\u0FAC\u0FB9\u1026\u1B06\u1B08\u1B0A\u1B0C\u1B0E\u1B12\u1B3B\u1B3D\u1B40\u1B41\u1B43\u1E00-\u1E99\u1E9B\u1EA0-\u1EF9\u1F00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FC1-\u1FC4\u1FC6-\u1FD3\u1FD6-\u1FDB\u1FDD-\u1FEE\u1FF2-\u1FF4\u1FF6-\u1FFC\u212B\u219A\u219B\u21AE\u21CD-\u21CF\u2204\u2209\u220C\u2224\u2226\u2241\u2244\u2247\u2249\u2260\u2262\u226D-\u2271\u2274\u2275\u2278\u2279\u2280\u2281\u2284\u2285\u2288\u2289\u22AC-\u22AF\u22E0-\u22E3\u22EA-\u22ED\u2ADC\u304C\u304E\u3050\u3052\u3054\u3056\u3058\u305A\u305C\u305E\u3060\u3062\u3065\u3067\u3069\u3070\u3071\u3073\u3074\u3076\u3077\u3079\u307A\u307C\u307D\u3094\u309E\u30AC\u30AE\u30B0\u30B2\u30B4\u30B6\u30B8\u30BA\u30BC\u30BE\u30C0\u30C2\u30C5\u30C7\u30C9\u30D0\u30D1\u30D3\u30D4\u30D6\u30D7\u30D9\u30DA\u30DC\u30DD\u30F4\u30F7-\u30FA\u30FE\uAC00-\uD7A3\uFB1D\uFB1F\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFB4E]|\uD801[\uDDC9\uDDE4]|\uD804[\uDC9A\uDC9C\uDCAB\uDD2E\uDD2F\uDF4B\uDF4C\uDF83\uDF85\uDF8E\uDF91\uDFC5\uDFC7\uDFC8]|\uD805[\uDCBB\uDCBC\uDCBE\uDDBA\uDDBB]|\uD806\uDD38|\uD818[\uDD21-\uDD28]|\uD81B[\uDD68-\uDD6A]|\uD834[\uDD5E-\uDD64\uDDBB-\uDDC0]/;
1498
1498
  return regex$1;
1499
1499
  }
1500
1500
  var regexExports = requireRegex();
@@ -1509,9 +1509,9 @@
1509
1509
  * @returns {string}
1510
1510
  */
1511
1511
  function escapeUnmatchedSurrogates(arg) {
1512
- // http://stackoverflow.com/a/6701665/271577
1512
+ // https://stackoverflow.com/a/6701665/271577
1513
1513
  return arg.replaceAll(/((?:[\uD800-\uDBFF](?![\uDC00-\uDFFF])))(?!(?:(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]))|(^|(?:[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]))((?:(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]))/g, function (_, unmatchedHighSurrogate, precedingLow, unmatchedLowSurrogate) {
1514
- // Could add a corresponding surrogate for compatibility with `node-sqlite3`: http://bugs.python.org/issue12569 and http://stackoverflow.com/a/6701665/271577
1514
+ // Could add a corresponding surrogate for compatibility with `node-sqlite3`: https://bugs.python.org/issue12569 and https://stackoverflow.com/a/6701665/271577
1515
1515
  // but Chrome having problems
1516
1516
  if (unmatchedHighSurrogate) {
1517
1517
  return '^2' + unmatchedHighSurrogate.codePointAt().toString(16).padStart(4, '0');
@@ -1525,14 +1525,14 @@
1525
1525
  * @returns {string}
1526
1526
  */
1527
1527
  function escapeNameForSQLiteIdentifier(arg) {
1528
- // http://stackoverflow.com/a/6701665/271577
1528
+ // https://stackoverflow.com/a/6701665/271577
1529
1529
  return '_' +
1530
1530
  // Prevent empty string
1531
1531
  escapeUnmatchedSurrogates(arg.replaceAll('^', '^^') // Escape our escape
1532
- // http://www.sqlite.org/src/tktview?name=57c971fc74
1532
+ // https://www.sqlite.org/src/tktview?name=57c971fc74
1533
1533
  .replaceAll('\0', '^0')
1534
1534
  // We need to avoid identifiers being treated as duplicates based on SQLite's ASCII-only case-insensitive table and column names
1535
- // (For SQL in general, however, see http://stackoverflow.com/a/17215009/271577
1535
+ // (For SQL in general, however, see https://stackoverflow.com/a/17215009/271577
1536
1536
  // See also https://www.sqlite.org/faq.html#q18 re: Unicode (non-ASCII) case-insensitive not working
1537
1537
  .replaceAll(/([A-Z])/g, '^$1'));
1538
1538
  }
@@ -1562,7 +1562,7 @@
1562
1562
  */
1563
1563
  function sqlEscape(arg) {
1564
1564
  // https://www.sqlite.org/lang_keywords.html
1565
- // http://stackoverflow.com/a/6701665/271577
1565
+ // https://stackoverflow.com/a/6701665/271577
1566
1566
  // There is no need to escape ', `, or [], as
1567
1567
  // we should always be within double quotes
1568
1568
  // NUL should have already been stripped
@@ -1678,7 +1678,7 @@
1678
1678
  * @returns {obj is object}
1679
1679
  */
1680
1680
  function isObj(obj) {
1681
- return obj !== null && _typeof$2(obj) === 'object';
1681
+ return obj !== null && _typeof$1(obj) === 'object';
1682
1682
  }
1683
1683
 
1684
1684
  /**
@@ -1726,7 +1726,9 @@
1726
1726
  * @returns {boolean}
1727
1727
  */
1728
1728
  function isIterable(obj) {
1729
- return isObj(obj) && Symbol.iterator in obj && typeof obj[Symbol.iterator] === 'function';
1729
+ return isObj(obj) &&
1730
+ // eslint-disable-next-line unicorn/no-computed-property-existence-check -- May not be "own"
1731
+ Symbol.iterator in obj && typeof obj[Symbol.iterator] === 'function';
1730
1732
  }
1731
1733
 
1732
1734
  /**
@@ -1806,7 +1808,7 @@
1806
1808
  props = typeof props === 'string' ? [props] : props;
1807
1809
  props.forEach(function (prop) {
1808
1810
  var o;
1809
- if (getter && prop in getter) {
1811
+ if (getter && Object.hasOwn(getter, prop)) {
1810
1812
  o = getter[prop];
1811
1813
  } else {
1812
1814
  Object.defineProperty(obj, '__' + prop, {
@@ -1864,7 +1866,7 @@
1864
1866
  */
1865
1867
  function isValidKeyPath(keyPath) {
1866
1868
  return isValidKeyPathString(keyPath) || Array.isArray(keyPath) && Boolean(keyPath.length) &&
1867
- // Convert array from sparse to dense http://www.2ality.com/2012/06/dense-arrays.html
1869
+ // Convert array from sparse to dense https://www.2ality.com/2012/06/dense-arrays.html
1868
1870
  // See also https://heycam.github.io/webidl/#idl-DOMString
1869
1871
  _toConsumableArray(keyPath).every(function (pathComponent) {
1870
1872
  return isValidKeyPathString(pathComponent);
@@ -1970,8 +1972,10 @@
1970
1972
  return ev;
1971
1973
  }
1972
1974
 
1975
+ /* eslint-disable unicorn/no-top-level-side-effects -- Would be good */
1973
1976
  // We don't add within polyfill repo as might not always be the desired implementation
1974
1977
  Object.defineProperty(ShimEvent, Symbol.hasInstance, {
1978
+ /* eslint-enable unicorn/no-top-level-side-effects -- Would be good */
1975
1979
  /**
1976
1980
  * @typedef {any} AnyValue
1977
1981
  */
@@ -2013,6 +2017,7 @@
2013
2017
  * @typedef {number} Integer
2014
2018
  */
2015
2019
 
2020
+ /* eslint-disable unicorn/no-top-level-side-effects -- Would be good */
2016
2021
  readonlyProperties$6.forEach(function (prop) {
2017
2022
  // Ensure for proper interface testing that "get <name>" is the function name
2018
2023
  var o = _defineAccessor("get", {}, prop, function () {
@@ -2163,7 +2168,7 @@
2163
2168
  function DOMException(message, name) {
2164
2169
  // const err = Error.prototype.constructor.call(this, message); // Any use to this? Won't set this.message
2165
2170
  this[Symbol.toStringTag] = 'DOMException';
2166
- this._code = name in codes ? codes[(/** @type {Code} */name)] : legacyCodes[(/** @type {LegacyCode} */name)] || 0;
2171
+ this._code = Object.hasOwn(codes, name) ? codes[(/** @type {Code} */name)] : legacyCodes[(/** @type {LegacyCode} */name)] || 0;
2167
2172
  this._name = name || 'Error';
2168
2173
  // We avoid `String()` in this next line as it converts Symbols
2169
2174
  this._message = message === undefined ? '' : '' + message; // eslint-disable-line no-implicit-coercion -- Don't convert symbols
@@ -2299,13 +2304,14 @@
2299
2304
  * @returns {void}
2300
2305
  */
2301
2306
  function logError(name, message, error) {
2302
- if (CFG.DEBUG) {
2303
- var msg = error && _typeof$2(error) === 'object' && error.message ? error.message : (/** @type {string} */error);
2304
- var method = typeof console.error === 'function' ? 'error' : 'log';
2305
- console[method](name + ': ' + message + '. ' + (msg || ''));
2306
- if (console.trace) {
2307
- console.trace();
2308
- }
2307
+ if (!CFG.DEBUG) {
2308
+ return;
2309
+ }
2310
+ var msg = error && _typeof$1(error) === 'object' && error.message ? error.message : (/** @type {string} */error);
2311
+ var method = typeof console.error === 'function' ? 'error' : 'log';
2312
+ console[method](name + ': ' + message + '. ' + (msg || ''));
2313
+ if (console.trace) {
2314
+ console.trace();
2309
2315
  }
2310
2316
  }
2311
2317
 
@@ -2318,7 +2324,7 @@
2318
2324
  * @returns {boolean}
2319
2325
  */
2320
2326
  function isErrorOrDOMErrorOrDOMException(obj) {
2321
- return obj && _typeof$2(obj) === 'object' &&
2327
+ return obj && _typeof$1(obj) === 'object' &&
2322
2328
  // We don't use util.isObj here as mutual dependency causing problems in Babel with browser
2323
2329
  typeof obj.name === 'string';
2324
2330
  }
@@ -2445,8 +2451,9 @@
2445
2451
 
2446
2452
  /**
2447
2453
  * The IDBRequest Object that is returns for all async calls.
2448
- * @see http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#request-api
2454
+ * @see https://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#request-api
2449
2455
  * @class
2456
+ * @throws {TypeError}
2450
2457
  */
2451
2458
  function IDBRequest() {
2452
2459
  throw new TypeError('Illegal constructor');
@@ -2486,12 +2493,11 @@
2486
2493
  legacyOutputDidListenersThrowFlag: true // Event hook for IndexedB
2487
2494
  });
2488
2495
  doneFlagGetters.forEach(function (prop) {
2489
- Object.defineProperty(_this, '__' + prop, {
2496
+ Object.defineProperties(_this, _defineProperty(_defineProperty({}, '__' + prop, {
2490
2497
  enumerable: false,
2491
2498
  configurable: false,
2492
2499
  writable: true
2493
- });
2494
- Object.defineProperty(_this, prop, {
2500
+ }), prop, {
2495
2501
  enumerable: true,
2496
2502
  configurable: true,
2497
2503
  get: function get() {
@@ -2500,7 +2506,7 @@
2500
2506
  }
2501
2507
  return this['__' + prop];
2502
2508
  }
2503
- });
2509
+ }));
2504
2510
  });
2505
2511
  defineReadonlyProperties(this, readonlyProperties$5, {
2506
2512
  readyState: {
@@ -2545,6 +2551,7 @@
2545
2551
  return this.__transaction;
2546
2552
  };
2547
2553
 
2554
+ /* eslint-disable unicorn/no-top-level-side-effects -- Would be good */
2548
2555
  // Illegal invocations
2549
2556
  defineReadonlyOuterInterface(IDBRequest.prototype, readonlyProperties$5);
2550
2557
  defineReadonlyOuterInterface(IDBRequest.prototype, doneFlagGetters);
@@ -2559,15 +2566,18 @@
2559
2566
  Object.defineProperty(IDBRequest, 'prototype', {
2560
2567
  writable: false
2561
2568
  });
2569
+ /* eslint-enable unicorn/no-top-level-side-effects -- Would be good */
2570
+
2562
2571
  var openListeners = ['onblocked', 'onupgradeneeded'];
2563
2572
 
2564
2573
  /**
2565
- * @typedef {IDBRequestFull & IDBOpenDBRequest & {}} IDBOpenDBRequestFull
2574
+ * @typedef {IDBRequestFull & IDBOpenDBRequest} IDBOpenDBRequestFull
2566
2575
  */
2567
2576
 
2568
2577
  /**
2569
2578
  * The IDBOpenDBRequest called when a database is opened.
2570
2579
  * @class
2580
+ * @throws {TypeError}
2571
2581
  */
2572
2582
  function IDBOpenDBRequest() {
2573
2583
  throw new TypeError('Illegal constructor');
@@ -2575,12 +2585,16 @@
2575
2585
 
2576
2586
  // @ts-expect-error It's ok
2577
2587
  IDBOpenDBRequest.prototype = Object.create(IDBRequest.prototype);
2588
+
2589
+ /* eslint-disable unicorn/no-top-level-side-effects -- Would be good */
2578
2590
  Object.defineProperty(IDBOpenDBRequest.prototype, 'constructor', {
2579
2591
  enumerable: false,
2580
2592
  writable: true,
2581
2593
  configurable: true,
2582
2594
  value: IDBOpenDBRequest
2583
2595
  });
2596
+ /* eslint-enable unicorn/no-top-level-side-effects -- Would be good */
2597
+
2584
2598
  var IDBOpenDBRequestAlias = IDBOpenDBRequest;
2585
2599
  /**
2586
2600
  * @returns {IDBRequestFull & IDBOpenDBRequest}
@@ -2608,6 +2622,8 @@
2608
2622
  // @ts-expect-error It's ok
2609
2623
  return new IDBOpenDBRequest();
2610
2624
  };
2625
+
2626
+ /* eslint-disable unicorn/no-top-level-side-effects -- Would be good */
2611
2627
  defineOuterInterface(IDBOpenDBRequest.prototype, openListeners);
2612
2628
  IDBOpenDBRequest.prototype[Symbol.toStringTag] = 'IDBOpenDBRequestPrototype';
2613
2629
  Object.defineProperty(IDBOpenDBRequest, 'prototype', {
@@ -2786,7 +2802,7 @@
2786
2802
  * @param {(reason: any) => PromiseLike<never>|null|undefined} cb
2787
2803
  * @returns {SyncPromise}
2788
2804
  */
2789
- SyncPromise.prototype["catch"] = function (cb) {
2805
+ SyncPromise.prototype.catch = function (cb) {
2790
2806
  var that = this;
2791
2807
  return new SyncPromise(/** @type {ResolveReject} */
2792
2808
  function (resolve, reject) {
@@ -2904,11 +2920,11 @@
2904
2920
  // verify that the keys encoded correctly
2905
2921
  var decodedKey1 = _decode(encodedKey1);
2906
2922
  var decodedKey2 = _decode(encodedKey2);
2907
- if (_typeof$2(first) === 'object') {
2923
+ if (_typeof$1(first) === 'object') {
2908
2924
  first = JSON.stringify(first);
2909
2925
  decodedKey1 = JSON.stringify(decodedKey1);
2910
2926
  }
2911
- if (_typeof$2(second) === 'object') {
2927
+ if (_typeof$1(second) === 'object') {
2912
2928
  second = JSON.stringify(second);
2913
2929
  decodedKey2 = JSON.stringify(decodedKey2);
2914
2930
  }
@@ -2986,10 +3002,14 @@
2986
3002
  binary: 500,
2987
3003
  array: 600
2988
3004
  };
3005
+
3006
+ /* eslint-disable unicorn/no-top-level-side-effects -- Would be good */
2989
3007
  var keyTypes = /** @type {(KeyType|"invalid")[]} */Object.keys(keyTypeToEncodedChar);
2990
3008
  keyTypes.forEach(function (k) {
2991
3009
  keyTypeToEncodedChar[k] = String.fromCodePoint(/** @type {number} */keyTypeToEncodedChar[k]);
2992
3010
  });
3011
+ /* eslint-enable unicorn/no-top-level-side-effects -- Would be good */
3012
+
2993
3013
  var encodedCharToKeyType = keyTypes.reduce(function (o, k) {
2994
3014
  o[keyTypeToEncodedChar[k]] = k;
2995
3015
  return o;
@@ -3075,13 +3095,12 @@
3075
3095
  if (key > -1) {
3076
3096
  sign = signValues.indexOf('smallNegative');
3077
3097
  exponent = padBase32Exponent(significantDigitIndex);
3078
- mantissa = flipBase32(padBase32Mantissa(key32));
3079
3098
  // Non-negative exponent case:
3080
3099
  } else {
3081
3100
  sign = signValues.indexOf('bigNegative');
3082
3101
  exponent = flipBase32(padBase32Exponent(decimalIndex !== -1 ? decimalIndex : key32.length));
3083
- mantissa = flipBase32(padBase32Mantissa(key32));
3084
3102
  }
3103
+ mantissa = flipBase32(padBase32Mantissa(key32));
3085
3104
  // Non-negative cases:
3086
3105
  // Negative exponent case:
3087
3106
  } else if (key < 1) {
@@ -3115,9 +3134,9 @@
3115
3134
  var mantissa = key.slice(5, 16);
3116
3135
  switch (signValues[sign]) {
3117
3136
  case 'negativeInfinity':
3118
- return Number.NEGATIVE_INFINITY;
3137
+ return -Infinity;
3119
3138
  case 'positiveInfinity':
3120
- return Number.POSITIVE_INFINITY;
3139
+ return Infinity;
3121
3140
  case 'bigPositive':
3122
3141
  return pow32(mantissa, exponent);
3123
3142
  case 'smallPositive':
@@ -3185,7 +3204,7 @@
3185
3204
  _step;
3186
3205
  try {
3187
3206
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
3188
- var _step$value = _slicedToArray$1(_step.value, 2),
3207
+ var _step$value = _slicedToArray(_step.value, 2),
3189
3208
  i = _step$value[0],
3190
3209
  item = _step$value[1];
3191
3210
  var encodedItem = _encode(item, true); // encode the array item
@@ -3250,9 +3269,7 @@
3250
3269
  decode: function decode(key) {
3251
3270
  // Set the entries in buffer's [[ArrayBufferData]] to those in `value`
3252
3271
  var k = key.slice(2);
3253
- var arr = k.length ? k.split(',').map(function (s) {
3254
- return Number.parseInt(s);
3255
- }) : [];
3272
+ var arr = k.length ? k.split(',').map(Number) : [];
3256
3273
  var buffer = new ArrayBuffer(arr.length);
3257
3274
  var uint8 = new Uint8Array(buffer);
3258
3275
  uint8.set(arr);
@@ -3341,7 +3358,7 @@
3341
3358
  */
3342
3359
  function roundToPrecision(num) {
3343
3360
  var precision = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 16;
3344
- return Number.parseFloat(num.toPrecision(precision));
3361
+ return Number(num.toPrecision(precision));
3345
3362
  }
3346
3363
 
3347
3364
  /**
@@ -3376,7 +3393,7 @@
3376
3393
  if (isBinary(key)) {
3377
3394
  return 'binary';
3378
3395
  }
3379
- var keyType = _typeof$2(key);
3396
+ var keyType = _typeof$1(key);
3380
3397
  return ['string', 'number'].includes(keyType) ? (/** @type {"string"|"number"} */keyType) : 'invalid';
3381
3398
  }
3382
3399
 
@@ -3409,7 +3426,7 @@
3409
3426
  */
3410
3427
  function getCopyBytesHeldByBufferSource(O) {
3411
3428
  var offset = 0;
3412
- var length = 0;
3429
+ var length;
3413
3430
  if (ArrayBuffer.isView(O)) {
3414
3431
  // Has [[ViewedArrayBuffer]] internal slot
3415
3432
  var arrayBuffer = O.buffer;
@@ -3442,7 +3459,7 @@
3442
3459
  * @returns {KeyValueObject}
3443
3460
  */
3444
3461
  function convertValueToKeyValueDecoded(input, seen, multiEntry, fullKeys) {
3445
- seen = seen || [];
3462
+ seen || (seen = []);
3446
3463
  if (seen.includes(input)) {
3447
3464
  return {
3448
3465
  type: 'array',
@@ -3574,7 +3591,7 @@
3574
3591
  {
3575
3592
  // Other `typeof` types which are not valid keys:
3576
3593
  // 'undefined', 'boolean', 'object' (including `null`), 'symbol', 'function'
3577
- var _type = input === null ? 'null' : _typeof$2(input); // Convert `null` for convenience of consumers in reporting errors
3594
+ var _type = input === null ? 'null' : _typeof$1(input); // Convert `null` for convenience of consumers in reporting errors
3578
3595
  return {
3579
3596
  type: _type,
3580
3597
  invalid: true,
@@ -3846,7 +3863,6 @@
3846
3863
  continue;
3847
3864
  }
3848
3865
  if (key.length === 1) {
3849
- // eslint-disable-next-line sonarjs/updated-loop-counter -- Convenient
3850
3866
  key = key[0];
3851
3867
  } else {
3852
3868
  var nested = findMultiEntryMatches(key, range);
@@ -4029,8 +4045,13 @@
4029
4045
  * @returns {void}
4030
4046
  */
4031
4047
  function setCurrentNumber(tx, store, num, successCb, failCb) {
4032
- num = num === MAX_ALLOWED_CURRENT_NUMBER ? num + 2 // Since incrementing by one will have no effect in JavaScript on this unsafe max, we represent the max as a number incremented by two. The getting of the current number is never returned to the user and is only used in safe comparisons, so it is safe for us to represent it in this manner
4033
- : num + 1;
4048
+ num = 1 + (num === MAX_ALLOWED_CURRENT_NUMBER
4049
+ // Since incrementing by one will have no effect in JavaScript on this
4050
+ // unsafe max, we represent the max as a number incremented by two.
4051
+ // The getting of the current number is never returned to the user and
4052
+ // is only used in safe comparisons, so it is safe for us to represent
4053
+ // it in this manner
4054
+ ? num + 1 : num);
4034
4055
  return assignCurrentNumber(tx, store, num, successCb, failCb);
4035
4056
  }
4036
4057
 
@@ -4143,7 +4164,7 @@
4143
4164
 
4144
4165
  /**
4145
4166
  * The IndexedDB KeyRange object.
4146
- * @see http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#dfn-key-range
4167
+ * @see https://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#dfn-key-range
4147
4168
  * @throws {TypeError}
4148
4169
  * @class
4149
4170
  */
@@ -4164,6 +4185,7 @@
4164
4185
  IDBKeyRange.__createInstance = function (lower, upper, lowerOpen, upperOpen) {
4165
4186
  /**
4166
4187
  * @class
4188
+ * @throws {DOMException|Error}
4167
4189
  */
4168
4190
  function IDBKeyRange() {
4169
4191
  this[Symbol.toStringTag] = 'IDBKeyRange';
@@ -4260,6 +4282,8 @@
4260
4282
  return IDBKeyRange.__createInstance(lower, upper, arguments[2], arguments[3]);
4261
4283
  };
4262
4284
  IDBKeyRange.prototype[Symbol.toStringTag] = 'IDBKeyRangePrototype';
4285
+
4286
+ /* eslint-disable unicorn/no-top-level-side-effects -- Would be good */
4263
4287
  readonlyProperties$4.forEach(function (prop) {
4264
4288
  Object.defineProperty(IDBKeyRange.prototype, '__' + prop, {
4265
4289
  enumerable: false,
@@ -4280,7 +4304,7 @@
4280
4304
  // desc.configurable = true; // Default
4281
4305
  Object.defineProperty(IDBKeyRange.prototype, prop, desc);
4282
4306
  });
4283
- Object.defineProperty(IDBKeyRange, Symbol.hasInstance, {
4307
+ Object.defineProperties(IDBKeyRange, _defineProperty(_defineProperty({}, Symbol.hasInstance, {
4284
4308
  value:
4285
4309
  /**
4286
4310
  * @param {object} obj
@@ -4289,10 +4313,11 @@
4289
4313
  function value(obj) {
4290
4314
  return isObj(obj) && 'upper' in obj && 'lowerOpen' in obj && typeof obj.lowerOpen === 'boolean';
4291
4315
  }
4292
- });
4293
- Object.defineProperty(IDBKeyRange, 'prototype', {
4316
+ }), "prototype", {
4294
4317
  writable: false
4295
- });
4318
+ }));
4319
+
4320
+ /* eslint-enable unicorn/no-top-level-side-effects -- Would be good */
4296
4321
 
4297
4322
  /**
4298
4323
  * @param {IDBKeyRangeFull|undefined} range
@@ -4304,34 +4329,35 @@
4304
4329
  * @returns {void}
4305
4330
  */
4306
4331
  function setSQLForKeyRange(range, quotedKeyColumnName, sql, sqlValues, addAnd, checkCached) {
4307
- if (range && (range.lower !== undefined || range.upper !== undefined)) {
4308
- if (addAnd) {
4309
- sql.push('AND');
4310
- }
4311
- var encodedLowerKey, encodedUpperKey;
4312
- var hasLower = range.lower !== undefined;
4313
- var hasUpper = range.upper !== undefined;
4314
- if (hasLower) {
4315
- encodedLowerKey = checkCached ? range.__lowerCached : _encode(range.lower);
4316
- }
4317
- if (hasUpper) {
4318
- encodedUpperKey = checkCached ? range.__upperCached : _encode(range.upper);
4319
- }
4320
- if (hasLower) {
4321
- sqlValues.push(escapeSQLiteStatement(/** @type {string} */encodedLowerKey));
4322
- if (hasUpper && encodedLowerKey === encodedUpperKey && !range.lowerOpen && !range.upperOpen) {
4323
- sql.push(quotedKeyColumnName, '=', '?');
4324
- return;
4325
- }
4326
- sql.push(quotedKeyColumnName, range.lowerOpen ? '>' : '>=', '?');
4327
- }
4328
- if (hasLower && hasUpper) {
4329
- sql.push('AND');
4330
- }
4331
- if (hasUpper) {
4332
- sql.push(quotedKeyColumnName, range.upperOpen ? '<' : '<=', '?');
4333
- sqlValues.push(escapeSQLiteStatement(/** @type {string} */encodedUpperKey));
4332
+ if (!(range && (range.lower !== undefined || range.upper !== undefined))) {
4333
+ return;
4334
+ }
4335
+ if (addAnd) {
4336
+ sql.push('AND');
4337
+ }
4338
+ var encodedLowerKey, encodedUpperKey;
4339
+ var hasLower = range.lower !== undefined;
4340
+ var hasUpper = range.upper !== undefined;
4341
+ if (hasLower) {
4342
+ encodedLowerKey = checkCached ? range.__lowerCached : _encode(range.lower);
4343
+ }
4344
+ if (hasUpper) {
4345
+ encodedUpperKey = checkCached ? range.__upperCached : _encode(range.upper);
4346
+ }
4347
+ if (hasLower) {
4348
+ sqlValues.push(escapeSQLiteStatement(/** @type {string} */encodedLowerKey));
4349
+ if (hasUpper && encodedLowerKey === encodedUpperKey && !range.lowerOpen && !range.upperOpen) {
4350
+ sql.push(quotedKeyColumnName, '=', '?');
4351
+ return;
4334
4352
  }
4353
+ sql.push(quotedKeyColumnName, range.lowerOpen ? '>' : '>=', '?');
4354
+ }
4355
+ if (hasLower && hasUpper) {
4356
+ sql.push('AND');
4357
+ }
4358
+ if (hasUpper) {
4359
+ sql.push(quotedKeyColumnName, range.upperOpen ? '<' : '<=', '?');
4360
+ sqlValues.push(escapeSQLiteStatement(/** @type {string} */encodedUpperKey));
4335
4361
  }
4336
4362
  }
4337
4363
 
@@ -4411,7 +4437,7 @@
4411
4437
  };
4412
4438
 
4413
4439
  // @ts-expect-error It's ok
4414
- DOMStringList.prototype = _defineProperty$1(_defineProperty$1({
4440
+ DOMStringList.prototype = _defineProperty(_defineProperty({
4415
4441
  constructor: DOMStringList,
4416
4442
  // Interface.
4417
4443
  /**
@@ -4432,7 +4458,9 @@
4432
4458
  if (!arguments.length) {
4433
4459
  throw new TypeError('DOMStringList.item must be supplied a value');
4434
4460
  }
4435
- if (key < 0 || key >= this.length || !Number.isInteger(key)) {
4461
+ if (key < 0 || key >= this.length ||
4462
+ // eslint-disable-next-line unicorn/prefer-number-is-safe-integer -- We want all
4463
+ !Number.isInteger(key)) {
4436
4464
  return null;
4437
4465
  }
4438
4466
  return this._items[key];
@@ -4462,8 +4490,9 @@
4462
4490
  * @returns {string[]}
4463
4491
  */
4464
4492
  sortList: function sortList() {
4465
- // http://w3c.github.io/IndexedDB/#sorted-list
4493
+ // https://w3c.github.io/IndexedDB/#sorted-list
4466
4494
  // https://tc39.github.io/ecma262/#sec-abstract-relational-comparison
4495
+ // eslint-disable-next-line unicorn/require-array-sort-compare -- IndexedDB requires code unit comparison (default behavior)
4467
4496
  this._items.sort();
4468
4497
  this.addIndexes();
4469
4498
  return this._items;
@@ -4516,7 +4545,7 @@
4516
4545
  (_this$_items = this._items).splice.apply(_this$_items, arguments);
4517
4546
  this._length = this._items.length;
4518
4547
  for (var i in this) {
4519
- if (i === String(Number.parseInt(i))) {
4548
+ if (i === String(Math.trunc(Number(i)))) {
4520
4549
  delete this[i];
4521
4550
  }
4522
4551
  }
@@ -4544,6 +4573,7 @@
4544
4573
  }, _callee, this);
4545
4574
  }));
4546
4575
 
4576
+ /* eslint-disable unicorn/no-top-level-side-effects -- Would be good */
4547
4577
  /**
4548
4578
  * @typedef {any} AnyValue
4549
4579
  */
@@ -4558,6 +4588,7 @@
4558
4588
  });
4559
4589
  var DOMStringListAlias = DOMStringList;
4560
4590
  Object.defineProperty(DOMStringList, '__createInstance', {
4591
+ /* eslint-enable unicorn/no-top-level-side-effects -- Would be good */
4561
4592
  /**
4562
4593
  * @returns {DOMStringListFull}
4563
4594
  */
@@ -4691,8 +4722,9 @@
4691
4722
 
4692
4723
  /**
4693
4724
  * The IndexedDB Transaction.
4694
- * @see http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#idl-def-IDBTransaction
4725
+ * @see https://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#idl-def-IDBTransaction
4695
4726
  * @class
4727
+ * @throws {TypeError}
4696
4728
  */
4697
4729
  function IDBTransaction() {
4698
4730
  throw new TypeError('Illegal constructor');
@@ -4715,6 +4747,7 @@
4715
4747
  // @ts-expect-error It's ok
4716
4748
  me[Symbol.toStringTag] = 'IDBTransaction';
4717
4749
  defineReadonlyProperties(me, readonlyProperties$3);
4750
+ // eslint-disable-next-line unicorn/no-top-level-assignment-in-function -- Debugging only
4718
4751
  me.__id = ++uniqueID; // for debugging simultaneous transactions
4719
4752
  me.__active = true;
4720
4753
  me.__running = false;
@@ -5125,7 +5158,7 @@
5125
5158
  if (!store) {
5126
5159
  throw createDOMException('NotFoundError', objectStoreName + ' does not exist in ' + me.db.name);
5127
5160
  }
5128
- if (!me.__storeHandles[objectStoreName] ||
5161
+ if (!Object.hasOwn(me.__storeHandles, objectStoreName) ||
5129
5162
  // These latter conditions are to allow store
5130
5163
  // recreation to create new clone object
5131
5164
  me.__storeHandles[objectStoreName].__pendingDelete || me.__storeHandles[objectStoreName].__deleted) {
@@ -5233,7 +5266,7 @@
5233
5266
  }
5234
5267
  q.req.dispatchEvent(reqEvt); // No need to catch errors
5235
5268
  resolve();
5236
- });
5269
+ }, 0);
5237
5270
  });
5238
5271
  });
5239
5272
  }, SyncPromise.resolve(undefined)).then(function () {
@@ -5247,9 +5280,9 @@
5247
5280
  me.dispatchEvent(evt);
5248
5281
  me.__storeHandles = {};
5249
5282
  me.dispatchEvent(createEvent('__abort'));
5250
- });
5283
+ }, 0);
5251
5284
  return undefined;
5252
- })["catch"](function (err) {
5285
+ }).catch(function (err) {
5253
5286
  console.log('Abort error');
5254
5287
  throw err;
5255
5288
  });
@@ -5370,6 +5403,8 @@
5370
5403
  IDBTransaction.prototype.__getParent = function () {
5371
5404
  return this.db;
5372
5405
  };
5406
+
5407
+ /* eslint-disable unicorn/no-top-level-side-effects -- Would be good */
5373
5408
  defineOuterInterface(IDBTransaction.prototype, listeners$1);
5374
5409
  defineReadonlyOuterInterface(IDBTransaction.prototype, readonlyProperties$3);
5375
5410
  Object.defineProperty(IDBTransaction.prototype, 'constructor', {
@@ -5382,183 +5417,77 @@
5382
5417
  writable: false
5383
5418
  });
5384
5419
 
5385
- function ownKeys(e, t) {
5386
- var r = Object.keys(e);
5387
- if (Object.getOwnPropertySymbols) {
5388
- var n = Object.getOwnPropertySymbols(e);
5389
- t && (n = n.filter(function (t) {
5390
- return Object.getOwnPropertyDescriptor(e, t).enumerable;
5391
- })), r.push.apply(r, n);
5392
- }
5393
- return r;
5394
- }
5395
- function _objectSpread2(e) {
5396
- for (var t = 1; t < arguments.length; t++) {
5397
- var r = null != arguments[t] ? arguments[t] : {};
5398
- t % 2 ? ownKeys(Object(r), true).forEach(function (t) {
5399
- _defineProperty(e, t, r[t]);
5400
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : ownKeys(Object(r)).forEach(function (t) {
5401
- Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t));
5402
- });
5403
- }
5404
- return e;
5405
- }
5406
- function _typeof(e) {
5407
- return _typeof = "function" == typeof Symbol && "symbol" == _typeof$2(Symbol.iterator) ? function (e) {
5408
- return _typeof$2(e);
5409
- } : function (e) {
5410
- return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : _typeof$2(e);
5411
- }, _typeof(e);
5412
- }
5413
- function _classCallCheck(e, t) {
5414
- if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");
5415
- }
5416
- function _createClass(e, t, r) {
5417
- return t && function _defineProperties(e, t) {
5418
- for (var r = 0; r < t.length; r++) {
5419
- var n = t[r];
5420
- n.enumerable = n.enumerable || false, n.configurable = true, "value" in n && (n.writable = true), Object.defineProperty(e, _toPropertyKey(n.key), n);
5421
- }
5422
- }(e.prototype, t), Object.defineProperty(e, "prototype", {
5423
- writable: false
5424
- }), e;
5425
- }
5426
- function _defineProperty(e, t, r) {
5427
- return (t = _toPropertyKey(t)) in e ? Object.defineProperty(e, t, {
5428
- value: r,
5429
- enumerable: true,
5430
- configurable: true,
5431
- writable: true
5432
- }) : e[t] = r, e;
5433
- }
5434
- function _slicedToArray(e, t) {
5435
- return function _arrayWithHoles(e) {
5436
- if (Array.isArray(e)) return e;
5437
- }(e) || function _iterableToArrayLimit(e, t) {
5438
- var r = null == e ? null : "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"];
5439
- if (null != r) {
5440
- var n,
5441
- a,
5442
- o,
5443
- i,
5444
- c = [],
5445
- s = true,
5446
- u = false;
5447
- try {
5448
- if (o = (r = r.call(e)).next, 0 === t) {
5449
- if (Object(r) !== r) return;
5450
- s = !1;
5451
- } else for (; !(s = (n = o.call(r)).done) && (c.push(n.value), c.length !== t); s = !0);
5452
- } catch (e) {
5453
- u = true, a = e;
5454
- } finally {
5455
- try {
5456
- if (!s && null != r["return"] && (i = r["return"](), Object(i) !== i)) return;
5457
- } finally {
5458
- if (u) throw a;
5459
- }
5460
- }
5461
- return c;
5462
- }
5463
- }(e, t) || _unsupportedIterableToArray(e, t) || function _nonIterableRest() {
5464
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
5465
- }();
5466
- }
5467
- function _unsupportedIterableToArray(e, t) {
5468
- if (e) {
5469
- if ("string" == typeof e) return _arrayLikeToArray(e, t);
5470
- var r = Object.prototype.toString.call(e).slice(8, -1);
5471
- return "Object" === r && e.constructor && (r = e.constructor.name), "Map" === r || "Set" === r ? Array.from(e) : "Arguments" === r || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r) ? _arrayLikeToArray(e, t) : void 0;
5472
- }
5473
- }
5474
- function _arrayLikeToArray(e, t) {
5475
- (null == t || t > e.length) && (t = e.length);
5476
- for (var r = 0, n = new Array(t); r < t; r++) n[r] = e[r];
5477
- return n;
5478
- }
5479
- function _toPropertyKey(e) {
5480
- var t = function _toPrimitive(e, t) {
5481
- if ("object" != _typeof$2(e) || null === e) return e;
5482
- var r = e[Symbol.toPrimitive];
5483
- if (void 0 !== r) {
5484
- var n = r.call(e, t);
5485
- if ("object" != _typeof$2(n)) return n;
5486
- throw new TypeError("@@toPrimitive must return a primitive value.");
5487
- }
5488
- return (String )(e);
5489
- }(e, "string");
5490
- return "symbol" == _typeof$2(t) ? t : String(t);
5491
- }
5492
- var e = _createClass(function TypesonPromise(e) {
5493
- _classCallCheck(this, TypesonPromise), this.p = new Promise(e);
5420
+ var TypesonPromise = /*#__PURE__*/_createClass(function TypesonPromise(e) {
5421
+ _classCallCheck(this, TypesonPromise);
5422
+ this.p = new Promise(e);
5494
5423
  });
5495
- e.__typeson__type__ = "TypesonPromise", "undefined" != typeof Symbol && Object.defineProperty(e.prototype, Symbol.toStringTag, {
5424
+ TypesonPromise.__typeson__type__ = "TypesonPromise", "undefined" != typeof Symbol && Object.defineProperty(TypesonPromise.prototype, Symbol.toStringTag, {
5496
5425
  get: function get() {
5497
5426
  return "TypesonPromise";
5498
5427
  }
5499
- }), e.prototype.then = function (t, r) {
5500
- var n = this;
5501
- return new e(function (e, a) {
5502
- n.p.then(function (r) {
5503
- e(t ? t(r) : r);
5504
- })["catch"](function (e) {
5505
- return r ? r(e) : Promise.reject(e);
5506
- }).then(e, a);
5428
+ }), TypesonPromise.prototype.then = function (e, t) {
5429
+ var _this = this;
5430
+ return new TypesonPromise(function (r, n) {
5431
+ _this.p.then(function (t) {
5432
+ r(e ? e(t) : t);
5433
+ }).catch(function (e) {
5434
+ return t ? t(e) : Promise.reject(e);
5435
+ }).then(r, n);
5507
5436
  });
5508
- }, e.prototype["catch"] = function (e) {
5437
+ }, TypesonPromise.prototype.catch = function (e) {
5509
5438
  return this.then(function () {}, e);
5510
- }, e.resolve = function (t) {
5511
- return new e(function (e) {
5512
- e(t);
5439
+ }, TypesonPromise.resolve = function (e) {
5440
+ return new TypesonPromise(function (t) {
5441
+ t(e);
5513
5442
  });
5514
- }, e.reject = function (t) {
5515
- return new e(function (e, r) {
5516
- r(t);
5443
+ }, TypesonPromise.reject = function (e) {
5444
+ return new TypesonPromise(function (t, r) {
5445
+ r(e);
5517
5446
  });
5518
- }, e.all = function (t) {
5519
- return new e(function (e, r) {
5520
- Promise.all(t.map(function (e) {
5521
- return null != e && e.constructor && "__typeson__type__" in e.constructor && "TypesonPromise" === e.constructor.__typeson__type__ ? e.p : e;
5522
- })).then(e, r);
5447
+ }, TypesonPromise.all = function (e) {
5448
+ return new TypesonPromise(function (t, r) {
5449
+ Promise.all(e.map(function (e) {
5450
+ return e !== null && e !== void 0 && e.constructor && "__typeson__type__" in e.constructor && "TypesonPromise" === e.constructor.__typeson__type__ ? e.p : e;
5451
+ })).then(t, r);
5523
5452
  });
5524
- }, e.race = function (t) {
5525
- return new e(function (e, r) {
5526
- Promise.race(t.map(function (e) {
5527
- return null != e && e.constructor && "__typeson__type__" in e.constructor && "TypesonPromise" === e.constructor.__typeson__type__ ? e.p : e;
5528
- })).then(e, r);
5453
+ }, TypesonPromise.race = function (e) {
5454
+ return new TypesonPromise(function (t, r) {
5455
+ Promise.race(e.map(function (e) {
5456
+ return e !== null && e !== void 0 && e.constructor && "__typeson__type__" in e.constructor && "TypesonPromise" === e.constructor.__typeson__type__ ? e.p : e;
5457
+ })).then(t, r);
5529
5458
  });
5530
- }, e.allSettled = function (t) {
5531
- return new e(function (e, r) {
5532
- Promise.allSettled(t.map(function (e) {
5533
- return null != e && e.constructor && "__typeson__type__" in e.constructor && "TypesonPromise" === e.constructor.__typeson__type__ ? e.p : e;
5534
- })).then(e, r);
5459
+ }, TypesonPromise.allSettled = function (e) {
5460
+ return new TypesonPromise(function (t, r) {
5461
+ Promise.allSettled(e.map(function (e) {
5462
+ return e !== null && e !== void 0 && e.constructor && "__typeson__type__" in e.constructor && "TypesonPromise" === e.constructor.__typeson__type__ ? e.p : e;
5463
+ })).then(t, r);
5535
5464
  });
5536
5465
  };
5537
- var t = Object.hasOwn,
5538
- r = Object.getPrototypeOf;
5466
+ var e = Object.hasOwn,
5467
+ t = Object.getPrototypeOf;
5539
5468
  function isThenable(e, t) {
5540
- return isObject(e) && "function" == typeof e.then && (true || "function" == typeof e["catch"]);
5469
+ return isObject(e) && "function" == typeof e.then && (true || "function" == typeof e.catch);
5541
5470
  }
5542
5471
  function toStringTag(e) {
5543
5472
  return Object.prototype.toString.call(e).slice(8, -1);
5544
5473
  }
5545
- function hasConstructorOf(e, n) {
5546
- if (!e || "object" !== _typeof(e)) return false;
5547
- var a = r(e);
5548
- if (!a) return null === n;
5549
- var o = t(a, "constructor") && a.constructor;
5550
- return "function" != typeof o ? null === n : n === o || null !== n && Function.prototype.toString.call(o) === Function.prototype.toString.call(n) || "function" == typeof n && "string" == typeof o.__typeson__type__ && o.__typeson__type__ === n.__typeson__type__;
5474
+ function hasConstructorOf(r, n) {
5475
+ if (!r || "object" != _typeof$1(r)) return false;
5476
+ var o = t(r);
5477
+ if (!o) return null === n;
5478
+ var s = e(o, "constructor") && o.constructor;
5479
+ return "function" != typeof s ? null === n : n === s || null !== n && Function.prototype.toString.call(s) === Function.prototype.toString.call(n) || "function" == typeof n && "string" == typeof s.__typeson__type__ && s.__typeson__type__ === n.__typeson__type__;
5551
5480
  }
5552
5481
  function isPlainObject(e) {
5553
- return !(!e || "Object" !== toStringTag(e)) && (!r(e) || hasConstructorOf(e, Object));
5482
+ return !(!e || "Object" !== toStringTag(e)) && (!t(e) || hasConstructorOf(e, Object));
5554
5483
  }
5555
5484
  function isUserObject(e) {
5556
5485
  if (!e || "Object" !== toStringTag(e)) return false;
5557
- var t = r(e);
5558
- return !t || hasConstructorOf(e, Object) || isUserObject(t);
5486
+ var r = t(e);
5487
+ return !r || hasConstructorOf(e, Object) || isUserObject(r);
5559
5488
  }
5560
5489
  function isObject(e) {
5561
- return null !== e && "object" === _typeof(e);
5490
+ return null !== e && "object" == _typeof$1(e);
5562
5491
  }
5563
5492
  function escapeKeyPathComponent(e) {
5564
5493
  return e.replaceAll("''", "''''").replace(/^$/, "''").replaceAll("~", "~0").replaceAll(".", "~1");
@@ -5568,563 +5497,595 @@
5568
5497
  }
5569
5498
  function getByKeyPath(e, t) {
5570
5499
  if ("" === t) return e;
5571
- if (null === e || "object" !== _typeof(e)) throw new TypeError("Unexpected non-object type");
5500
+ if (null === e || "object" != _typeof$1(e)) throw new TypeError("Unexpected non-object type");
5572
5501
  var r = t.indexOf(".");
5573
- if (r > -1) {
5574
- var n = e[unescapeKeyPathComponent(t.slice(0, r))];
5575
- return void 0 === n ? void 0 : getByKeyPath(n, t.slice(r + 1));
5502
+ if (-1 !== r) {
5503
+ var _n = e[unescapeKeyPathComponent(t.slice(0, r))];
5504
+ return void 0 === _n ? void 0 : getByKeyPath(_n, t.slice(r + 1));
5576
5505
  }
5577
5506
  return e[unescapeKeyPathComponent(t)];
5578
5507
  }
5579
5508
  function setAtKeyPath(e, t, r) {
5580
5509
  if ("" === t) return r;
5581
- if (!e || "object" !== _typeof(e)) throw new TypeError("Unexpected non-object type");
5582
- var n = t.indexOf(".");
5583
- return n > -1 ? setAtKeyPath(e[unescapeKeyPathComponent(t.slice(0, n))], t.slice(n + 1), r) : (e[unescapeKeyPathComponent(t)] = r, e);
5510
+ var n = e,
5511
+ o = t;
5512
+ for (;;) {
5513
+ if (!n || "object" != _typeof$1(n)) throw new TypeError("Unexpected non-object type");
5514
+ if ("__proto__" === o) throw new TypeError("Invalid property");
5515
+ var _t = o.indexOf(".");
5516
+ if (-1 === _t) return n[unescapeKeyPathComponent(o)] = r, e;
5517
+ n = n[unescapeKeyPathComponent(o.slice(0, _t))], o = o.slice(_t + 1);
5518
+ }
5584
5519
  }
5585
5520
  function getJSONType(e) {
5586
- return null === e ? "null" : Array.isArray(e) ? "array" : _typeof(e);
5587
- }
5588
- function _await(e, t, r) {
5589
- return e && e.then || (e = Promise.resolve(e)), t ? e.then(t) : e;
5521
+ return null === e ? "null" : Array.isArray(e) ? "array" : _typeof$1(e);
5590
5522
  }
5591
- var n = Object.keys,
5592
- a = Object.hasOwn,
5523
+ /**
5524
+ * @file Typeson - JSON with types.
5525
+ * @license The MIT License (MIT)
5526
+ * @copyright (c) 2016-2018 David Fahlander, Brett Zamir
5527
+ */
5528
+ var r = Object.keys,
5529
+ n = Object.hasOwn,
5593
5530
  o = Array.isArray,
5594
- i = ["type", "replaced", "iterateIn", "iterateUnsetNumeric", "addLength"];
5595
- function _async(e) {
5596
- return function () {
5597
- for (var t = [], r = 0; r < arguments.length; r++) t[r] = arguments[r];
5598
- try {
5599
- return Promise.resolve(e.apply(this, t));
5600
- } catch (e) {
5601
- return Promise.reject(e);
5602
- }
5603
- };
5604
- }
5531
+ s = ["type", "replaced", "iterateIn", "iterateUnsetNumeric", "addLength"];
5605
5532
  function nestedPathsFirst(e, t) {
5606
- var r, n;
5533
+ var _e$keypath$match, _t$keypath$match;
5607
5534
  if ("" === e.keypath) return -1;
5608
- var a = null !== (r = e.keypath.match(/\./g)) && void 0 !== r ? r : 0,
5609
- o = null !== (n = t.keypath.match(/\./g)) && void 0 !== n ? n : 0;
5610
- return a && (a = a.length), o && (o = o.length), a > o ? -1 : a < o ? 1 : e.keypath < t.keypath ? -1 : e.keypath > t.keypath ? 1 : 0;
5611
- }
5612
- var c = function () {
5613
- function Typeson(e) {
5614
- _classCallCheck(this, Typeson), this.options = e, this.plainObjectReplacers = [], this.nonplainObjectReplacers = [], this.revivers = {}, this.types = {};
5615
- }
5616
- return _createClass(Typeson, [{
5617
- key: "stringify",
5618
- value: function stringify(e, t, r, n) {
5619
- n = _objectSpread2(_objectSpread2(_objectSpread2({}, this.options), n), {}, {
5620
- stringification: true
5621
- });
5622
- var a = this.encapsulate(e, null, n);
5623
- return o(a) ? JSON.stringify(a[0], t, r) : a.then(function (e) {
5624
- return JSON.stringify(e, t, r);
5625
- });
5626
- }
5627
- }, {
5628
- key: "stringifySync",
5629
- value: function stringifySync(e, t, r, n) {
5630
- return this.stringify(e, t, r, _objectSpread2(_objectSpread2({
5631
- throwOnBadSyncType: true
5632
- }, n), {}, {
5633
- sync: true
5634
- }));
5635
- }
5636
- }, {
5637
- key: "stringifyAsync",
5638
- value: function stringifyAsync(e, t, r, n) {
5639
- return this.stringify(e, t, r, _objectSpread2(_objectSpread2({
5640
- throwOnBadSyncType: true
5641
- }, n), {}, {
5642
- sync: false
5643
- }));
5644
- }
5645
- }, {
5646
- key: "parse",
5647
- value: function parse(e, t, r) {
5648
- return r = _objectSpread2(_objectSpread2(_objectSpread2({}, this.options), r), {}, {
5649
- parse: true
5650
- }), this.revive(JSON.parse(e, t), r);
5651
- }
5652
- }, {
5653
- key: "parseSync",
5654
- value: function parseSync(e, t, r) {
5655
- return this.parse(e, t, _objectSpread2(_objectSpread2({
5656
- throwOnBadSyncType: true
5657
- }, r), {}, {
5535
+ var r = (_e$keypath$match = e.keypath.match(/\./g)) !== null && _e$keypath$match !== void 0 ? _e$keypath$match : 0,
5536
+ n = (_t$keypath$match = t.keypath.match(/\./g)) !== null && _t$keypath$match !== void 0 ? _t$keypath$match : 0;
5537
+ return r && (r = r.length), n && (n = n.length), r > n ? -1 : r < n ? 1 : e.keypath < t.keypath ? -1 : e.keypath > t.keypath ? 1 : 0;
5538
+ }
5539
+ var Typeson = /*#__PURE__*/function () {
5540
+ function Typeson(e) {
5541
+ _classCallCheck(this, Typeson);
5542
+ this.options = e, this.plainObjectReplacers = [], this.nonplainObjectReplacers = [], this.revivers = {}, this.types = {};
5543
+ }
5544
+ return _createClass(Typeson, [{
5545
+ key: "stringify",
5546
+ value: function stringify(e, t, r, n) {
5547
+ n = _objectSpread2(_objectSpread2(_objectSpread2({}, this.options), n), {}, {
5548
+ stringification: true
5549
+ });
5550
+ var s = this.encapsulate(e, null, n);
5551
+ return o(s) ? JSON.stringify(s[0], t, r) : s.then(function (e) {
5552
+ return JSON.stringify(e, t, r);
5553
+ });
5554
+ }
5555
+ }, {
5556
+ key: "stringifySync",
5557
+ value: function stringifySync(e, t, r, n) {
5558
+ return this.stringify(e, t, r, _objectSpread2(_objectSpread2({
5559
+ throwOnBadSyncType: true
5560
+ }, n), {}, {
5561
+ sync: true
5562
+ }));
5563
+ }
5564
+ }, {
5565
+ key: "stringifyAsync",
5566
+ value: function stringifyAsync(e, t, r, n) {
5567
+ return this.stringify(e, t, r, _objectSpread2(_objectSpread2({
5568
+ throwOnBadSyncType: true
5569
+ }, n), {}, {
5570
+ sync: false
5571
+ }));
5572
+ }
5573
+ }, {
5574
+ key: "parse",
5575
+ value: function parse(e, t, r) {
5576
+ return r = _objectSpread2(_objectSpread2(_objectSpread2({}, this.options), r), {}, {
5577
+ parse: true
5578
+ }), this.revive(JSON.parse(e, t), r);
5579
+ }
5580
+ }, {
5581
+ key: "parseSync",
5582
+ value: function parseSync(e, t, r) {
5583
+ return this.parse(e, t, _objectSpread2(_objectSpread2({
5584
+ throwOnBadSyncType: true
5585
+ }, r), {}, {
5586
+ sync: true
5587
+ }));
5588
+ }
5589
+ }, {
5590
+ key: "parseAsync",
5591
+ value: function parseAsync(e, t, r) {
5592
+ return this.parse(e, t, _objectSpread2(_objectSpread2({
5593
+ throwOnBadSyncType: true
5594
+ }, r), {}, {
5595
+ sync: false
5596
+ }));
5597
+ }
5598
+ }, {
5599
+ key: "specialTypeNames",
5600
+ value: function specialTypeNames(e, t) {
5601
+ var r = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
5602
+ return r.returnTypeNames = true, this.encapsulate(e, t, r);
5603
+ }
5604
+ }, {
5605
+ key: "rootTypeName",
5606
+ value: function rootTypeName(e, t) {
5607
+ var r = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
5608
+ return r.iterateNone = true, this.encapsulate(e, t, r);
5609
+ }
5610
+ }, {
5611
+ key: "encapsulate",
5612
+ value: function encapsulate(e, t, a) {
5613
+ var _this2 = this;
5614
+ var i = _objectSpread2(_objectSpread2({
5658
5615
  sync: true
5659
- }));
5660
- }
5661
- }, {
5662
- key: "parseAsync",
5663
- value: function parseAsync(e, t, r) {
5664
- return this.parse(e, t, _objectSpread2(_objectSpread2({
5665
- throwOnBadSyncType: true
5666
- }, r), {}, {
5667
- sync: false
5668
- }));
5669
- }
5670
- }, {
5671
- key: "specialTypeNames",
5672
- value: function specialTypeNames(e, t) {
5673
- var r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};
5674
- return r.returnTypeNames = true, this.encapsulate(e, t, r);
5675
- }
5676
- }, {
5677
- key: "rootTypeName",
5678
- value: function rootTypeName(e, t) {
5679
- var r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};
5680
- return r.iterateNone = true, this.encapsulate(e, t, r);
5681
- }
5682
- }, {
5683
- key: "encapsulate",
5684
- value: function encapsulate(t, r, c) {
5685
- var s = this,
5686
- u = _objectSpread2(_objectSpread2({
5687
- sync: true
5688
- }, this.options), c),
5689
- l = u.sync,
5690
- f = {},
5691
- y = [],
5692
- p = [],
5693
- d = [],
5694
- v = !("cyclic" in u) || u.cyclic,
5695
- b = u.encapsulateObserver,
5696
- m = function finish(e) {
5697
- var t = Object.values(f);
5698
- if (u.iterateNone) return t.length ? t[0] : getJSONType(e);
5699
- if (t.length) {
5700
- if (u.returnTypeNames) return function _toConsumableArray(e) {
5701
- return function _arrayWithoutHoles(e) {
5702
- if (Array.isArray(e)) return _arrayLikeToArray(e);
5703
- }(e) || function _iterableToArray(e) {
5704
- if ("undefined" != typeof Symbol && null != e[Symbol.iterator] || null != e["@@iterator"]) return Array.from(e);
5705
- }(e) || _unsupportedIterableToArray(e) || function _nonIterableSpread() {
5706
- throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
5707
- }();
5708
- }(new Set(t));
5709
- e && isPlainObject(e) && !a(e, "$types") ? e.$types = f : e = {
5710
- $: e,
5711
- $types: {
5712
- $: f
5713
- }
5714
- };
5715
- } else isObject(e) && a(e, "$types") && (e = {
5616
+ }, this.options), a),
5617
+ c = i.sync,
5618
+ y = {},
5619
+ l = [],
5620
+ u = [],
5621
+ p = [],
5622
+ f = !("cyclic" in i) || i.cyclic,
5623
+ d = i.encapsulateObserver,
5624
+ finish = function finish(e) {
5625
+ var t = Object.values(y);
5626
+ if (i.iterateNone) return t.length ? t[0] : getJSONType(e);
5627
+ if (t.length) {
5628
+ if (i.returnTypeNames) return _toConsumableArray(new Set(t));
5629
+ e && isPlainObject(e) && !n(e, "$types") ? e.$types = y : e = {
5716
5630
  $: e,
5717
- $types: true
5718
- });
5719
- return !u.returnTypeNames && e;
5720
- },
5721
- h = _async(function (t, r) {
5722
- return _await(Promise.all(r.map(function (e) {
5723
- return e[1].p;
5724
- })), function (n) {
5725
- return _await(Promise.all(n.map(_async(function (n) {
5726
- var a = false,
5727
- o = [],
5728
- i = _slicedToArray(r.splice(0, 1), 1),
5729
- c = _slicedToArray(i[0], 7),
5730
- s = c[0],
5731
- u = c[2],
5732
- l = c[3],
5733
- f = c[4],
5734
- y = c[5],
5735
- p = c[6],
5736
- d = O(s, n, u, l, o, true, p),
5737
- v = hasConstructorOf(d, e);
5738
- return function _invoke(e, t) {
5739
- var r = e();
5740
- return r && r.then ? r.then(t) : t(r);
5741
- }(function () {
5742
- if (s && v) return _await(d.p, function (e) {
5743
- f[y] = e;
5744
- var r = h(t, o);
5745
- return a = true, r;
5746
- });
5747
- }, function (e) {
5748
- return a ? e : (s ? f[y] = d : t = v ? d.p : d, h(t, o));
5749
- });
5750
- }))), function () {
5751
- return t;
5631
+ $types: {
5632
+ $: y
5633
+ }
5634
+ };
5635
+ } else isObject(e) && n(e, "$types") && (e = {
5636
+ $: e,
5637
+ $types: true
5638
+ });
5639
+ return !i.returnTypeNames && e;
5640
+ },
5641
+ _checkPromises = /*#__PURE__*/function () {
5642
+ var _checkPromises2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(e, t) {
5643
+ var r;
5644
+ return _regenerator().w(function (_context2) {
5645
+ while (1) switch (_context2.n) {
5646
+ case 0:
5647
+ _context2.n = 1;
5648
+ return Promise.all(t.map(function (e) {
5649
+ return e[1].p;
5650
+ }));
5651
+ case 1:
5652
+ r = _context2.v;
5653
+ _context2.n = 2;
5654
+ return Promise.all(r.map(/*#__PURE__*/function () {
5655
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(r) {
5656
+ var n, _t$splice, _t$splice2, o, _o, s, a, i, c, y, l, u, p, _t2;
5657
+ return _regenerator().w(function (_context) {
5658
+ while (1) switch (_context.n) {
5659
+ case 0:
5660
+ n = [], _t$splice = t.splice(0, 1), _t$splice2 = _slicedToArray(_t$splice, 1), o = _t$splice2[0], _o = _slicedToArray(o, 7), s = _o[0], a = _o[2], i = _o[3], c = _o[4], y = _o[5], l = _o[6], u = _encapsulate2(s, r, a, i, n, true, l), p = hasConstructorOf(u, TypesonPromise);
5661
+ if (!(s && p)) {
5662
+ _context.n = 2;
5663
+ break;
5664
+ }
5665
+ _context.n = 1;
5666
+ return u.p;
5667
+ case 1:
5668
+ _t2 = _context.v;
5669
+ return _context.a(2, (c[y] = _t2, _checkPromises(e, n)));
5670
+ case 2:
5671
+ return _context.a(2, (s ? c[y] = u : e = p ? u.p : u, _checkPromises(e, n)));
5672
+ }
5673
+ }, _callee);
5674
+ }));
5675
+ return function (_x3) {
5676
+ return _ref.apply(this, arguments);
5677
+ };
5678
+ }()));
5679
+ case 2:
5680
+ return _context2.a(2, e);
5681
+ }
5682
+ }, _callee2);
5683
+ }));
5684
+ function checkPromises(_x, _x2) {
5685
+ return _checkPromises2.apply(this, arguments);
5686
+ }
5687
+ return checkPromises;
5688
+ }(),
5689
+ _adaptBuiltinStateObjectProperties = function _adaptBuiltinStateObjectProperties(e, t, r) {
5690
+ Object.assign(e, t);
5691
+ var n = s.map(function (t) {
5692
+ var r = e[t];
5693
+ return delete e[t], r;
5694
+ });
5695
+ r(), s.forEach(function (t, r) {
5696
+ e[t] = n[r];
5697
+ });
5698
+ },
5699
+ _encapsulate2 = function _encapsulate(e, t, s, a, c, p, f) {
5700
+ var m,
5701
+ h = {};
5702
+ var g = d ? function (r) {
5703
+ var _ref2;
5704
+ var n = (_ref2 = f !== null && f !== void 0 ? f : a.type) !== null && _ref2 !== void 0 ? _ref2 : getJSONType(t);
5705
+ d(Object.assign(r !== null && r !== void 0 ? r : h, {
5706
+ keypath: e,
5707
+ value: t,
5708
+ cyclic: s,
5709
+ stateObj: a,
5710
+ promisesData: c,
5711
+ resolvingTypesonPromise: p,
5712
+ awaitingTypesonPromise: hasConstructorOf(t, TypesonPromise)
5713
+ }, {
5714
+ type: n
5715
+ }));
5716
+ } : null;
5717
+ if (["string", "boolean", "number", "undefined"].includes(_typeof$1(t))) return void 0 === t || t === 1 / 0 || 0 === t || t === -1 / 0 || Number.isNaN(t) ? (m = a.replaced ? t : replace(e, t, a, c, false, p, g), m !== t && (h = {
5718
+ replaced: m
5719
+ })) : m = t, g && g(), m;
5720
+ if (null === t) return g && g(), t;
5721
+ if (s && t && "object" == _typeof$1(t) && !a.iterateIn && !a.iterateUnsetNumeric) {
5722
+ var _r = l.indexOf(t);
5723
+ if (-1 !== _r) return y[e] = "#", g && g({
5724
+ cyclicKeypath: u[_r]
5725
+ }), "#" + u[_r];
5726
+ true === s && (l.push(t), u.push(e));
5727
+ }
5728
+ var b = isPlainObject(t),
5729
+ v = o(t),
5730
+ O = (b || v) && (!_this2.plainObjectReplacers.length || a.replaced) || a.iterateIn ? t : replace(e, t, a, c, b || v, null, g);
5731
+ var w;
5732
+ if (O !== t ? (m = O, h = {
5733
+ replaced: O
5734
+ }) : "" === e && hasConstructorOf(t, TypesonPromise) ? (c.push([e, t, s, a, void 0, void 0, a.type]), m = t) : v && "object" !== a.iterateIn || "array" === a.iterateIn ? (w = new Array(t.length), h = {
5735
+ clone: w
5736
+ }) : !b && (["function", "symbol"].includes(_typeof$1(t)) || "toJSON" in t || hasConstructorOf(t, TypesonPromise) || hasConstructorOf(t, Promise) || hasConstructorOf(t, ArrayBuffer)) && "object" !== a.iterateIn ? m = t : (w = {}, a.addLength && (w.length = t.length), h = {
5737
+ clone: w
5738
+ }), g && g(), i.iterateNone) return w !== null && w !== void 0 ? w : m;
5739
+ if (!w) return m;
5740
+ if (a.iterateIn) {
5741
+ var _loop = function _loop(_r2) {
5742
+ var o = {
5743
+ ownKeys: n(t, _r2)
5744
+ };
5745
+ _adaptBuiltinStateObjectProperties(a, o, function () {
5746
+ var n = e + (e ? "." : "") + escapeKeyPathComponent(_r2),
5747
+ o = _encapsulate2(n, t[_r2], Boolean(s), a, c, p);
5748
+ hasConstructorOf(o, TypesonPromise) ? c.push([n, o, Boolean(s), a, w, _r2, a.type]) : void 0 !== o && (w[_r2] = o);
5752
5749
  });
5750
+ };
5751
+ for (var _r2 in t) {
5752
+ _loop(_r2);
5753
+ }
5754
+ g && g({
5755
+ endIterateIn: true,
5756
+ end: true
5753
5757
  });
5754
- }),
5755
- g = function _adaptBuiltinStateObjectProperties(e, t, r) {
5756
- Object.assign(e, t);
5757
- var n = i.map(function (t) {
5758
- var r = e[t];
5759
- return delete e[t], r;
5760
- });
5761
- r(), i.forEach(function (t, r) {
5762
- e[t] = n[r];
5758
+ } else r(t).forEach(function (r) {
5759
+ var n = e + (e ? "." : "") + escapeKeyPathComponent(r);
5760
+ _adaptBuiltinStateObjectProperties(a, {
5761
+ ownKeys: true
5762
+ }, function () {
5763
+ var e = _encapsulate2(n, t[r], Boolean(s), a, c, p);
5764
+ hasConstructorOf(e, TypesonPromise) ? c.push([n, e, Boolean(s), a, w, r, a.type]) : void 0 !== e && (w[r] = e);
5763
5765
  });
5764
- },
5765
- O = function _encapsulate(t, r, i, c, l, d, v) {
5766
- var m,
5767
- h = {},
5768
- O = _typeof(r),
5769
- _ = b ? function (n) {
5770
- var a,
5771
- o = null !== (a = null != v ? v : c.type) && void 0 !== a ? a : getJSONType(r);
5772
- b(Object.assign(null != n ? n : h, {
5773
- keypath: t,
5774
- value: r,
5775
- cyclic: i,
5776
- stateObj: c,
5777
- promisesData: l,
5778
- resolvingTypesonPromise: d,
5779
- awaitingTypesonPromise: hasConstructorOf(r, e)
5780
- }, {
5781
- type: o
5782
- }));
5783
- } : null;
5784
- if (["string", "boolean", "number", "undefined"].includes(O)) return void 0 === r || Number.isNaN(r) || r === Number.NEGATIVE_INFINITY || r === Number.POSITIVE_INFINITY || 0 === r ? (m = c.replaced ? r : w(t, r, c, l, false, d, _)) !== r && (h = {
5785
- replaced: m
5786
- }) : m = r, _ && _(), m;
5787
- if (null === r) return _ && _(), r;
5788
- if (i && !c.iterateIn && !c.iterateUnsetNumeric && r && "object" === _typeof(r)) {
5789
- var A = y.indexOf(r);
5790
- if (!(A < 0)) return f[t] = "#", _ && _({
5791
- cyclicKeypath: p[A]
5792
- }), "#" + p[A];
5793
- true === i && (y.push(r), p.push(t));
5794
- }
5795
- var S,
5796
- j,
5797
- T = isPlainObject(r),
5798
- I = o(r),
5799
- N = (T || I) && (!s.plainObjectReplacers.length || c.replaced) || c.iterateIn ? r : w(t, r, c, l, T || I, null, _);
5800
- if (N !== r ? (m = N, h = {
5801
- replaced: N
5802
- }) : "" === t && hasConstructorOf(r, e) ? (l.push([t, r, i, c, void 0, void 0, c.type]), m = r) : I && "object" !== c.iterateIn || "array" === c.iterateIn ? (S = new Array(r.length), h = {
5803
- clone: S
5804
- }) : (["function", "symbol"].includes(_typeof(r)) || "toJSON" in r || hasConstructorOf(r, e) || hasConstructorOf(r, Promise) || hasConstructorOf(r, ArrayBuffer)) && !T && "object" !== c.iterateIn ? m = r : (S = {}, c.addLength && (S.length = r.length), h = {
5805
- clone: S
5806
- }), _ && _(), u.iterateNone) return null !== (j = S) && void 0 !== j ? j : m;
5807
- if (!S) return m;
5808
- if (c.iterateIn) {
5809
- var P = function _loop(n) {
5810
- var o = {
5811
- ownKeys: a(r, n)
5812
- };
5813
- g(c, o, function () {
5814
- var a = t + (t ? "." : "") + escapeKeyPathComponent(n),
5815
- o = _encapsulate(a, r[n], Boolean(i), c, l, d);
5816
- hasConstructorOf(o, e) ? l.push([a, o, Boolean(i), c, S, n, c.type]) : void 0 !== o && (S[n] = o);
5817
- });
5818
- };
5819
- for (var x in r) P(x);
5820
- _ && _({
5821
- endIterateIn: true,
5822
- end: true
5823
- });
5824
- } else n(r).forEach(function (n) {
5825
- var a = t + (t ? "." : "") + escapeKeyPathComponent(n);
5826
- g(c, {
5827
- ownKeys: true
5766
+ }), g && g({
5767
+ endIterateOwn: true,
5768
+ end: true
5769
+ });
5770
+ if (a.iterateUnsetNumeric) {
5771
+ var _r3 = t.length;
5772
+ var _loop2 = function _loop2(_n2) {
5773
+ if (_n2 in t) return 1; // continue
5774
+ var r = "".concat(e).concat(e ? "." : "").concat(String(_n2));
5775
+ _adaptBuiltinStateObjectProperties(a, {
5776
+ ownKeys: false
5828
5777
  }, function () {
5829
- var t = _encapsulate(a, r[n], Boolean(i), c, l, d);
5830
- hasConstructorOf(t, e) ? l.push([a, t, Boolean(i), c, S, n, c.type]) : void 0 !== t && (S[n] = t);
5778
+ var e = _encapsulate2(r, void 0, Boolean(s), a, c, p);
5779
+ hasConstructorOf(e, TypesonPromise) ? c.push([r, e, Boolean(s), a, w, _n2, a.type]) : void 0 !== e && (w[_n2] = e);
5831
5780
  });
5832
- }), _ && _({
5833
- endIterateOwn: true,
5781
+ };
5782
+ for (var _n2 = 0; _n2 < _r3; _n2++) {
5783
+ if (_loop2(_n2)) continue;
5784
+ }
5785
+ g && g({
5786
+ endIterateUnsetNumeric: true,
5834
5787
  end: true
5835
5788
  });
5836
- if (c.iterateUnsetNumeric) {
5837
- for (var E = r.length, C = function _loop2(n) {
5838
- if (!(n in r)) {
5839
- var a = "".concat(t).concat(t ? "." : "").concat(n);
5840
- g(c, {
5841
- ownKeys: false
5842
- }, function () {
5843
- var t = _encapsulate(a, void 0, Boolean(i), c, l, d);
5844
- hasConstructorOf(t, e) ? l.push([a, t, Boolean(i), c, S, n, c.type]) : void 0 !== t && (S[n] = t);
5845
- });
5846
- }
5847
- }, B = 0; B < E; B++) C(B);
5848
- _ && _({
5849
- endIterateUnsetNumeric: true,
5850
- end: true
5851
- });
5852
- }
5853
- return S;
5854
- },
5855
- w = function replace(e, t, r, n, a, o, i) {
5856
- for (var c = a ? s.plainObjectReplacers : s.nonplainObjectReplacers, u = c.length; u--;) {
5857
- var y = c[u];
5858
- if (y.test(t, r)) {
5859
- var p = y.type;
5860
- if (s.revivers[p]) {
5861
- var d = f[e];
5862
- f[e] = d ? [p].concat(d) : p;
5863
- }
5864
- if (Object.assign(r, {
5865
- type: p,
5866
- replaced: true
5867
- }), (l || !y.replaceAsync) && !y.replace) return i && i({
5868
- typeDetected: true
5869
- }), O(e, t, v && "readonly", r, n, o, p);
5870
- i && i({
5871
- replacing: true
5872
- });
5873
- var b = void 0;
5874
- if (l || !y.replaceAsync) {
5875
- if (void 0 === y.replace) throw new TypeError("Missing replacer");
5876
- b = y.replace(t, r);
5877
- } else b = y.replaceAsync(t, r);
5878
- return O(e, b, v && "readonly", r, n, o, p);
5789
+ }
5790
+ return w;
5791
+ },
5792
+ replace = function replace(e, t, r, n, o, s, a) {
5793
+ var i = o ? _this2.plainObjectReplacers : _this2.nonplainObjectReplacers;
5794
+ var l = i.length;
5795
+ for (; l--;) {
5796
+ var _o2 = i[l];
5797
+ if (_o2.test(t, r)) {
5798
+ var _i = _o2.type;
5799
+ if (Object.hasOwn(_this2.revivers, _i)) {
5800
+ var _t3 = y[e];
5801
+ y[e] = _t3 ? [_i].concat(_t3) : _i;
5879
5802
  }
5803
+ if (Object.assign(r, {
5804
+ type: _i,
5805
+ replaced: true
5806
+ }), (c || !_o2.replaceAsync) && !_o2.replace) return a && a({
5807
+ typeDetected: true
5808
+ }), _encapsulate2(e, t, f && "readonly", r, n, s, _i);
5809
+ var _l = void 0;
5810
+ if (a && a({
5811
+ replacing: true
5812
+ }), c || !_o2.replaceAsync) {
5813
+ if (void 0 === _o2.replace) throw new TypeError("Missing replacer");
5814
+ _l = _o2.replace(t, r);
5815
+ } else _l = _o2.replaceAsync(t, r);
5816
+ return _encapsulate2(e, _l, f && "readonly", r, n, s, _i);
5880
5817
  }
5881
- return t;
5882
- },
5883
- _ = O("", t, v, null != r ? r : {}, d);
5884
- if (d.length) return l && u.throwOnBadSyncType ? function () {
5885
- throw new TypeError("Sync method requested but async result obtained");
5886
- }() : Promise.resolve(h(_, d)).then(m);
5887
- if (!l && u.throwOnBadSyncType) throw new TypeError("Async method requested but sync result obtained");
5888
- return u.stringification && l ? [m(_)] : l ? m(_) : Promise.resolve(m(_));
5889
- }
5890
- }, {
5891
- key: "encapsulateSync",
5892
- value: function encapsulateSync(e, t, r) {
5893
- return this.encapsulate(e, t, _objectSpread2(_objectSpread2({
5894
- throwOnBadSyncType: true
5895
- }, r), {}, {
5818
+ }
5819
+ return t;
5820
+ },
5821
+ m = _encapsulate2("", e, f, t !== null && t !== void 0 ? t : {}, p);
5822
+ if (p.length) return c && i.throwOnBadSyncType ? function () {
5823
+ throw new TypeError("Sync method requested but async result obtained");
5824
+ }() : Promise.resolve(_checkPromises(m, p)).then(finish);
5825
+ if (!c && i.throwOnBadSyncType) throw new TypeError("Async method requested but sync result obtained");
5826
+ return c && i.stringification ? [finish(m)] : c ? finish(m) : Promise.resolve(finish(m));
5827
+ }
5828
+ }, {
5829
+ key: "encapsulateSync",
5830
+ value: function encapsulateSync(e, t, r) {
5831
+ return this.encapsulate(e, t, _objectSpread2(_objectSpread2({
5832
+ throwOnBadSyncType: true
5833
+ }, r), {}, {
5834
+ sync: true
5835
+ }));
5836
+ }
5837
+ }, {
5838
+ key: "encapsulateAsync",
5839
+ value: function encapsulateAsync(e, t, r) {
5840
+ return this.encapsulate(e, t, _objectSpread2(_objectSpread2({
5841
+ throwOnBadSyncType: true
5842
+ }, r), {}, {
5843
+ sync: false
5844
+ }));
5845
+ }
5846
+ }, {
5847
+ key: "revive",
5848
+ value: function revive(e, t) {
5849
+ var _this3 = this;
5850
+ var s = _objectSpread2(_objectSpread2({
5896
5851
  sync: true
5897
- }));
5898
- }
5899
- }, {
5900
- key: "encapsulateAsync",
5901
- value: function encapsulateAsync(e, t, r) {
5902
- return this.encapsulate(e, t, _objectSpread2(_objectSpread2({
5903
- throwOnBadSyncType: true
5904
- }, r), {}, {
5905
- sync: false
5906
- }));
5907
- }
5908
- }, {
5909
- key: "revive",
5910
- value: function revive(t, r) {
5911
- var a = this,
5912
- i = _objectSpread2(_objectSpread2({
5913
- sync: true
5914
- }, this.options), r),
5915
- c = i.sync;
5916
- function finishRevival(e) {
5917
- if (c) return e;
5918
- if (i.throwOnBadSyncType) throw new TypeError("Async method requested but sync result obtained");
5919
- return Promise.resolve(e);
5852
+ }, this.options), t),
5853
+ a = s.sync;
5854
+ function finishRevival(e) {
5855
+ if (a) return e;
5856
+ if (s.throwOnBadSyncType) throw new TypeError("Async method requested but sync result obtained");
5857
+ return Promise.resolve(e);
5858
+ }
5859
+ if (!e || "object" != _typeof$1(e) || Array.isArray(e)) return finishRevival(e);
5860
+ var i = e.$types;
5861
+ if (true === i) return finishRevival(e.$);
5862
+ if (!i || "object" != _typeof$1(i) || Array.isArray(i)) return finishRevival(e);
5863
+ var c = [],
5864
+ y = Object.create(null),
5865
+ l = {};
5866
+ var u = true;
5867
+ i.$ && isPlainObject(i.$) && (e = e.$, i = i.$, u = false);
5868
+ var executeReviver = function executeReviver(e, t) {
5869
+ var _this3$revivers$e;
5870
+ var _ref3 = (_this3$revivers$e = _this3.revivers[e]) !== null && _this3$revivers$e !== void 0 ? _this3$revivers$e : [],
5871
+ _ref4 = _slicedToArray(_ref3, 1),
5872
+ r = _ref4[0];
5873
+ if (!r) throw new Error("Unregistered type: " + e);
5874
+ if (a && !("revive" in r)) return t;
5875
+ if (!a && r.reviveAsync) return r.reviveAsync(t, l);
5876
+ if (r.revive) return r.revive(t, l);
5877
+ throw new Error("Missing reviver");
5878
+ },
5879
+ p = [];
5880
+ function checkUndefined(e) {
5881
+ return hasConstructorOf(e, Undefined) ? void 0 : e;
5882
+ }
5883
+ var f = function () {
5884
+ if (!i) throw new Error("Found bad `types`");
5885
+ var t = [];
5886
+ if (Object.entries(i).forEach(function (_ref5) {
5887
+ var _ref6 = _slicedToArray(_ref5, 2),
5888
+ e = _ref6[0],
5889
+ r = _ref6[1];
5890
+ "#" !== r && [].concat(r).forEach(function (r) {
5891
+ var _this3$revivers$r;
5892
+ var _ref7 = (_this3$revivers$r = _this3.revivers[r]) !== null && _this3$revivers$r !== void 0 ? _this3$revivers$r : [null, {}],
5893
+ _ref8 = _slicedToArray(_ref7, 2),
5894
+ n = _ref8[1].plain;
5895
+ n && (t.push({
5896
+ keypath: e,
5897
+ type: r
5898
+ }), delete i[e]);
5899
+ });
5900
+ }), t.length) return t.sort(nestedPathsFirst), t.reduce(function reducer(t, _ref9) {
5901
+ var r = _ref9.keypath,
5902
+ n = _ref9.type;
5903
+ if (isThenable(t)) return t.then(function (e) {
5904
+ return reducer(e, {
5905
+ keypath: r,
5906
+ type: n
5907
+ });
5908
+ });
5909
+ var o = getByKeyPath(e, r);
5910
+ if (o = executeReviver(n, o), hasConstructorOf(o, TypesonPromise)) return o.then(function (t) {
5911
+ var n = setAtKeyPath(e, r, t);
5912
+ n === t && (e = n);
5913
+ });
5914
+ var s = setAtKeyPath(e, r, o);
5915
+ s === o && (e = s);
5916
+ }, void 0);
5917
+ }();
5918
+ var d;
5919
+ return hasConstructorOf(f, TypesonPromise) ? d = f.then(function () {
5920
+ return e;
5921
+ }) : (d = function _revive(e, t, s, l, f) {
5922
+ if (u && "$types" === e) return;
5923
+ var d = p.length,
5924
+ m = i[e],
5925
+ h = o(t);
5926
+ if (h || isPlainObject(t)) {
5927
+ var _o3 = h ? new Array(t.length) : {};
5928
+ for (r(t).forEach(function (r) {
5929
+ var n = _revive(e + (e ? "." : "") + escapeKeyPathComponent(r), t[r], s !== null && s !== void 0 ? s : _o3, _o3, r),
5930
+ set = function set(e) {
5931
+ return hasConstructorOf(e, Undefined) ? _o3[r] = void 0 : void 0 !== e && (_o3[r] = e), e;
5932
+ };
5933
+ hasConstructorOf(n, TypesonPromise) ? p.push(n.then(function (e) {
5934
+ return set(e);
5935
+ })) : set(n);
5936
+ }), t = _o3; c.length;) {
5937
+ var _c$ = _slicedToArray(c[0], 4),
5938
+ _e = _c$[0],
5939
+ _t4 = _c$[1],
5940
+ _r4 = _c$[2],
5941
+ _o4 = _c$[3],
5942
+ _s = n(y, _t4),
5943
+ _a = _s ? y[_t4] : getByKeyPath(_e, _t4);
5944
+ if (!_s && void 0 === _a) break;
5945
+ _r4[_o4] = _a, c.shift();
5946
+ }
5920
5947
  }
5921
- if (!t || "object" !== _typeof(t) || Array.isArray(t)) return finishRevival(t);
5922
- var u = t.$types;
5923
- if (true === u) return finishRevival(t.$);
5924
- if (!u || "object" !== _typeof(u) || Array.isArray(u)) return finishRevival(t);
5925
- var l = [],
5926
- f = {},
5927
- y = true;
5928
- u.$ && isPlainObject(u.$) && (t = t.$, u = u.$, y = false);
5929
- var p = function executeReviver(e, t) {
5930
- var r,
5931
- n = _slicedToArray(null !== (r = a.revivers[e]) && void 0 !== r ? r : [], 1)[0];
5932
- if (!n) throw new Error("Unregistered type: " + e);
5933
- if (c && !("revive" in n)) return t;
5934
- if (!c && n.reviveAsync) return n.reviveAsync(t, f);
5935
- if (n.revive) return n.revive(t, f);
5936
- throw new Error("Missing reviver");
5937
- },
5938
- d = [];
5939
- function checkUndefined(e) {
5940
- return hasConstructorOf(e, s) ? void 0 : e;
5948
+ if (!m) return y[e] = t, t;
5949
+ if ("#" === m) {
5950
+ var _e2 = t.slice(1),
5951
+ _r5 = n(y, _e2),
5952
+ _o5 = _r5 ? y[_e2] : getByKeyPath(s, _e2);
5953
+ return _r5 || void 0 !== _o5 || c.push([s, _e2, l, f]), _o5;
5941
5954
  }
5942
- var v,
5943
- b = function revivePlainObjects() {
5944
- var r = [];
5945
- if (!u) throw new Error("Found bad `types`");
5946
- if (Object.entries(u).forEach(function (e) {
5947
- var t = _slicedToArray(e, 2),
5948
- n = t[0],
5949
- o = t[1];
5950
- "#" !== o && [].concat(o).forEach(function (e) {
5951
- var t;
5952
- _slicedToArray(null !== (t = a.revivers[e]) && void 0 !== t ? t : [null, {}], 2)[1].plain && (r.push({
5953
- keypath: n,
5954
- type: e
5955
- }), delete u[n]);
5956
- });
5957
- }), r.length) return r.sort(nestedPathsFirst).reduce(function reducer(r, n) {
5958
- var a = n.keypath,
5959
- o = n.type;
5960
- if (isThenable(r)) return r.then(function (e) {
5961
- return reducer(e, {
5962
- keypath: a,
5963
- type: o
5964
- });
5965
- });
5966
- var i = getByKeyPath(t, a);
5967
- if (hasConstructorOf(i = p(o, i), e)) return i.then(function (e) {
5968
- var r = setAtKeyPath(t, a, e);
5969
- r === e && (t = r);
5955
+ var applyType = function applyType(t) {
5956
+ var r = [].concat(m).reduce(function reducer(e, t) {
5957
+ if (hasConstructorOf(e, TypesonPromise)) return e.then(function (e) {
5958
+ return reducer(e, t);
5959
+ });
5960
+ if ("string" != typeof t) throw new TypeError("Bad type JSON");
5961
+ return executeReviver(t, e);
5962
+ }, t);
5963
+ return hasConstructorOf(r, TypesonPromise) ? r.then(function (t) {
5964
+ return y[e] = t, t;
5965
+ }) : (y[e] = r, r);
5966
+ };
5967
+ return !a && p.length > d ? TypesonPromise.all(p.slice(d)).then(function () {
5968
+ return applyType(t);
5969
+ }) : applyType(t);
5970
+ }("", e, null), p.length && (d = TypesonPromise.resolve(d).then(function (e) {
5971
+ return TypesonPromise.all([e].concat(p));
5972
+ }).then(function (_ref0) {
5973
+ var _ref1 = _slicedToArray(_ref0, 1),
5974
+ e = _ref1[0];
5975
+ return e;
5976
+ }))), isThenable(d) ? a && s.throwOnBadSyncType ? function () {
5977
+ throw new TypeError("Sync method requested but async result obtained");
5978
+ }() : hasConstructorOf(d, TypesonPromise) ? d.p.then(checkUndefined) : d : !a && s.throwOnBadSyncType ? function () {
5979
+ throw new TypeError("Async method requested but sync result obtained");
5980
+ }() : a ? checkUndefined(d) : Promise.resolve(checkUndefined(d));
5981
+ }
5982
+ }, {
5983
+ key: "reviveSync",
5984
+ value: function reviveSync(e, t) {
5985
+ return this.revive(e, _objectSpread2(_objectSpread2({
5986
+ throwOnBadSyncType: true
5987
+ }, t), {}, {
5988
+ sync: true
5989
+ }));
5990
+ }
5991
+ }, {
5992
+ key: "reviveAsync",
5993
+ value: function reviveAsync(e, t) {
5994
+ return this.revive(e, _objectSpread2(_objectSpread2({
5995
+ throwOnBadSyncType: true
5996
+ }, t), {}, {
5997
+ sync: false
5998
+ }));
5999
+ }
6000
+ }, {
6001
+ key: "register",
6002
+ value: function register(e, t) {
6003
+ var _this4 = this;
6004
+ var n = t !== null && t !== void 0 ? t : {},
6005
+ _reg = function reg(e) {
6006
+ o(e) ? e.forEach(function (e) {
6007
+ _reg(e);
6008
+ }) : r(e).forEach(function (t) {
6009
+ var _r8;
6010
+ if ("#" === t) throw new TypeError("# cannot be used as a type name as it is reserved for cyclic objects");
6011
+ if (a.includes(t)) throw new TypeError("Plain JSON object types are reserved as type names");
6012
+ var r = e[t];
6013
+ var s = r && "function" != typeof r && !Array.isArray(r) && r.testPlainObjects ? _this4.plainObjectReplacers : _this4.nonplainObjectReplacers,
6014
+ i = s.filter(function (e) {
6015
+ return e.type === t;
5970
6016
  });
5971
- var c = setAtKeyPath(t, a, i);
5972
- c === i && (t = c);
5973
- }, void 0);
5974
- }();
5975
- return hasConstructorOf(b, e) ? v = b.then(function () {
5976
- return t;
5977
- }) : (v = function _revive(t, r, a, i, c) {
5978
- if (!y || "$types" !== t) {
5979
- var f = u[t],
5980
- v = o(r);
5981
- if (v || isPlainObject(r)) {
5982
- var b = v ? new Array(r.length) : {};
5983
- for (n(r).forEach(function (n) {
5984
- var o = _revive(t + (t ? "." : "") + escapeKeyPathComponent(n), r[n], null != a ? a : b, b, n),
5985
- i = function set(e) {
5986
- return hasConstructorOf(e, s) ? b[n] = void 0 : void 0 !== e && (b[n] = e), e;
5987
- };
5988
- hasConstructorOf(o, e) ? d.push(o.then(function (e) {
5989
- return i(e);
5990
- })) : i(o);
5991
- }), r = b; l.length;) {
5992
- var m = _slicedToArray(l[0], 4),
5993
- h = m[0],
5994
- g = m[1],
5995
- O = m[2],
5996
- w = m[3],
5997
- _ = getByKeyPath(h, g);
5998
- if (void 0 === _) break;
5999
- O[w] = _, l.splice(0, 1);
6000
- }
6017
+ if (i.length && (s.splice(s.indexOf(i[0]), 1), delete _this4.revivers[t], delete _this4.types[t]), "function" == typeof r) {
6018
+ var _e3 = r;
6019
+ r = {
6020
+ test: function test(t) {
6021
+ return t && t.constructor === _e3;
6022
+ },
6023
+ replace: function replace(e) {
6024
+ return _objectSpread2({}, e);
6025
+ },
6026
+ revive: function revive(t) {
6027
+ return Object.assign(Object.create(_e3.prototype), t);
6028
+ }
6029
+ };
6030
+ } else if (o(r)) {
6031
+ var _r6 = r,
6032
+ _r7 = _slicedToArray(_r6, 3),
6033
+ _e4 = _r7[0],
6034
+ _t5 = _r7[1],
6035
+ _n3 = _r7[2];
6036
+ r = {
6037
+ test: _e4,
6038
+ replace: _t5,
6039
+ revive: _n3
6040
+ };
6001
6041
  }
6002
- if (!f) return r;
6003
- if ("#" === f) {
6004
- var A = getByKeyPath(a, r.slice(1));
6005
- return void 0 === A && l.push([a, r.slice(1), i, c]), A;
6042
+ if (!((_r8 = r) !== null && _r8 !== void 0 && _r8.test)) return;
6043
+ var c = {
6044
+ type: t,
6045
+ test: r.test.bind(r)
6046
+ };
6047
+ r.replace && (c.replace = r.replace.bind(r)), r.replaceAsync && (c.replaceAsync = r.replaceAsync.bind(r));
6048
+ var y = "number" == typeof n.fallback ? n.fallback : n.fallback ? 0 : 1 / 0;
6049
+ if (r.testPlainObjects ? _this4.plainObjectReplacers.splice(y, 0, c) : _this4.nonplainObjectReplacers.splice(y, 0, c), r.revive || r.reviveAsync) {
6050
+ var _e5 = {};
6051
+ r.revive && (_e5.revive = r.revive.bind(r)), r.reviveAsync && (_e5.reviveAsync = r.reviveAsync.bind(r)), _this4.revivers[t] = [_e5, {
6052
+ plain: r.testPlainObjects
6053
+ }];
6006
6054
  }
6007
- return [].concat(f).reduce(function reducer(t, r) {
6008
- if (hasConstructorOf(t, e)) return t.then(function (e) {
6009
- return reducer(e, r);
6010
- });
6011
- if ("string" != typeof r) throw new TypeError("Bad type JSON");
6012
- return p(r, t);
6013
- }, r);
6014
- }
6015
- }("", t, null), d.length && (v = e.resolve(v).then(function (t) {
6016
- return e.all([t].concat(d));
6017
- }).then(function (e) {
6018
- return _slicedToArray(e, 1)[0];
6019
- }))), isThenable(v) ? c && i.throwOnBadSyncType ? function () {
6020
- throw new TypeError("Sync method requested but async result obtained");
6021
- }() : hasConstructorOf(v, e) ? v.p.then(checkUndefined) : v : !c && i.throwOnBadSyncType ? function () {
6022
- throw new TypeError("Async method requested but sync result obtained");
6023
- }() : c ? checkUndefined(v) : Promise.resolve(checkUndefined(v));
6024
- }
6025
- }, {
6026
- key: "reviveSync",
6027
- value: function reviveSync(e, t) {
6028
- return this.revive(e, _objectSpread2(_objectSpread2({
6029
- throwOnBadSyncType: true
6030
- }, t), {}, {
6031
- sync: true
6032
- }));
6033
- }
6034
- }, {
6035
- key: "reviveAsync",
6036
- value: function reviveAsync(e, t) {
6037
- return this.revive(e, _objectSpread2(_objectSpread2({
6038
- throwOnBadSyncType: true
6039
- }, t), {}, {
6040
- sync: false
6041
- }));
6042
- }
6043
- }, {
6044
- key: "register",
6045
- value: function register(e, t) {
6046
- var r = this,
6047
- a = null != t ? t : {},
6048
- i = function R(e) {
6049
- o(e) ? e.forEach(function (e) {
6050
- return R(e);
6051
- }) : n(e).forEach(function (t) {
6052
- var n;
6053
- if ("#" === t) throw new TypeError("# cannot be used as a type name as it is reserved for cyclic objects");
6054
- if (u.includes(t)) throw new TypeError("Plain JSON object types are reserved as type names");
6055
- var i = e[t],
6056
- c = i && "function" != typeof i && !Array.isArray(i) && i.testPlainObjects ? r.plainObjectReplacers : r.nonplainObjectReplacers,
6057
- s = c.filter(function (e) {
6058
- return e.type === t;
6059
- });
6060
- if (s.length && (c.splice(c.indexOf(s[0]), 1), delete r.revivers[t], delete r.types[t]), "function" == typeof i) {
6061
- var l = i;
6062
- i = {
6063
- test: function test(e) {
6064
- return e && e.constructor === l;
6065
- },
6066
- replace: function replace(e) {
6067
- return _objectSpread2({}, e);
6068
- },
6069
- revive: function revive(e) {
6070
- return Object.assign(Object.create(l.prototype), e);
6071
- }
6072
- };
6073
- } else if (o(i)) {
6074
- var f = _slicedToArray(i, 3);
6075
- i = {
6076
- test: f[0],
6077
- replace: f[1],
6078
- revive: f[2]
6079
- };
6080
- }
6081
- if (null !== (n = i) && void 0 !== n && n.test) {
6082
- var y = {
6083
- type: t,
6084
- test: i.test.bind(i)
6085
- };
6086
- i.replace && (y.replace = i.replace.bind(i)), i.replaceAsync && (y.replaceAsync = i.replaceAsync.bind(i));
6087
- var p = "number" == typeof a.fallback ? a.fallback : a.fallback ? 0 : Number.POSITIVE_INFINITY;
6088
- if (i.testPlainObjects ? r.plainObjectReplacers.splice(p, 0, y) : r.nonplainObjectReplacers.splice(p, 0, y), i.revive || i.reviveAsync) {
6089
- var d = {};
6090
- i.revive && (d.revive = i.revive.bind(i)), i.reviveAsync && (d.reviveAsync = i.reviveAsync.bind(i)), r.revivers[t] = [d, {
6091
- plain: i.testPlainObjects
6092
- }];
6093
- }
6094
- r.types[t] = i;
6095
- }
6096
- });
6097
- };
6098
- return [].concat(e).forEach(function (e) {
6099
- return i(e);
6100
- }), this;
6101
- }
6102
- }]), Typeson;
6103
- }(),
6104
- s = _createClass(function Undefined() {
6105
- _classCallCheck(this, Undefined);
6106
- });
6107
- s.__typeson__type__ = "TypesonUndefined";
6108
- for (var u = ["null", "boolean", "number", "string", "array", "object"], l = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", f = new Uint8Array(256), y = 0; y < 64; y++) f[l.codePointAt(y)] = y;
6109
- var p = function encode(e, t, r) {
6055
+ _this4.types[t] = r;
6056
+ });
6057
+ };
6058
+ return [].concat(e).forEach(function (e) {
6059
+ _reg(e);
6060
+ }), this;
6061
+ }
6062
+ }]);
6063
+ }();
6064
+ var Undefined = /*#__PURE__*/_createClass(function Undefined() {
6065
+ _classCallCheck(this, Undefined);
6066
+ });
6067
+ Undefined.__typeson__type__ = "TypesonUndefined";
6068
+ var a = ["null", "boolean", "number", "string", "array", "object"];
6069
+ for (var i = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", c = new Uint8Array(256), y = 0; y < 64; y++) c[i.codePointAt(y)] = y;
6070
+ var l = function encode(e, t, r) {
6110
6071
  null == r && (r = e.byteLength);
6111
- for (var n = new Uint8Array(e, 0, r), a = n.length, o = "", i = 0; i < a; i += 3) o += l[n[i] >> 2], o += l[(3 & n[i]) << 4 | n[i + 1] >> 4], o += l[(15 & n[i + 1]) << 2 | n[i + 2] >> 6], o += l[63 & n[i + 2]];
6112
- return a % 3 == 2 ? o = o.slice(0, -1) + "=" : a % 3 == 1 && (o = o.slice(0, -2) + "=="), o;
6072
+ for (var n = new Uint8Array(e, 0, r), o = n.length, s = "", a = 0; a < o; a += 3) s += i[n[a] >> 2], s += i[(3 & n[a]) << 4 | n[a + 1] >> 4], s += i[(15 & n[a + 1]) << 2 | n[a + 2] >> 6], s += i[63 & n[a + 2]];
6073
+ return o % 3 == 2 ? s = s.slice(0, -1) + "=" : o % 3 == 1 && (s = s.slice(0, -2) + "=="), s;
6113
6074
  },
6114
- d = function decode(e, t) {
6075
+ u = function decode(e, t) {
6115
6076
  var r = e.length;
6116
6077
  if (r % 4) throw new Error("Bad base64 length: not divisible by four");
6117
6078
  var n,
6118
- a,
6119
6079
  o,
6120
- i,
6121
- c = .75 * e.length,
6122
- s = 0;
6123
- "=" === e[e.length - 1] && (c--, "=" === e[e.length - 2] && c--);
6124
- for (var u = new ArrayBuffer(c, t), l = new Uint8Array(u), y = 0; y < r; y += 4) n = f[e.codePointAt(y)], a = f[e.codePointAt(y + 1)], o = f[e.codePointAt(y + 2)], i = f[e.codePointAt(y + 3)], l[s++] = n << 2 | a >> 4, l[s++] = (15 & a) << 4 | o >> 2, l[s++] = (3 & o) << 6 | 63 & i;
6125
- return u;
6080
+ s,
6081
+ a,
6082
+ i = .75 * e.length,
6083
+ y = 0;
6084
+ "=" === e[e.length - 1] && (i--, "=" === e[e.length - 2] && i--);
6085
+ for (var l = new ArrayBuffer(i, t), u = new Uint8Array(l), p = 0; p < r; p += 4) n = c[e.codePointAt(p)], o = c[e.codePointAt(p + 1)], s = c[e.codePointAt(p + 2)], a = c[e.codePointAt(p + 3)], u[y++] = n << 2 | o >> 4, u[y++] = (15 & o) << 4 | s >> 2, u[y++] = (3 & s) << 6 | 63 & a;
6086
+ return l;
6126
6087
  };
6127
- var v = {
6088
+ var p = {
6128
6089
  arraybuffer: {
6129
6090
  test: function test(e) {
6130
6091
  return "ArrayBuffer" === toStringTag(e);
@@ -6132,27 +6093,27 @@
6132
6093
  replace: function replace(e, t) {
6133
6094
  t.buffers || (t.buffers = []);
6134
6095
  var r = t.buffers.indexOf(e);
6135
- return r > -1 ? {
6096
+ return -1 !== r ? {
6136
6097
  index: r
6137
6098
  } : (t.buffers.push(e), {
6138
- s: p(e),
6099
+ s: l(e),
6139
6100
  maxByteLength: e.maxByteLength,
6140
6101
  resizable: e.resizable
6141
6102
  });
6142
6103
  },
6143
6104
  revive: function revive(e, t) {
6144
6105
  if (t.buffers || (t.buffers = []), Object.hasOwn(e, "index")) return t.buffers[e.index];
6145
- var r = d(e.s, e.resizable ? {
6106
+ var r = u(e.s, e.resizable ? {
6146
6107
  maxByteLength: e.maxByteLength
6147
6108
  } : void 0);
6148
6109
  return t.buffers.push(r), r;
6149
6110
  }
6150
6111
  }
6151
6112
  },
6152
- b = {
6113
+ f = {
6153
6114
  bigintObject: {
6154
6115
  test: function test(e) {
6155
- return "object" == _typeof$2(e) && hasConstructorOf(e, BigInt);
6116
+ return "object" == _typeof$1(e) && hasConstructorOf(e, BigInt);
6156
6117
  },
6157
6118
  replace: String,
6158
6119
  revive: function revive(e) {
@@ -6160,7 +6121,7 @@
6160
6121
  }
6161
6122
  }
6162
6123
  },
6163
- m = {
6124
+ d = {
6164
6125
  bigint: {
6165
6126
  test: function test(e) {
6166
6127
  return "bigint" == typeof e;
@@ -6178,10 +6139,10 @@
6178
6139
  }
6179
6140
  function string2arraybuffer(e) {
6180
6141
  var t = new Uint8Array(e.length);
6181
- for (var _r = 0; _r < e.length; _r++) t[_r] = e.charCodeAt(_r);
6142
+ for (var _r9 = 0; _r9 < e.length; _r9++) t[_r9] = e.charCodeAt(_r9);
6182
6143
  return t.buffer;
6183
6144
  }
6184
- var h = {
6145
+ var m = {
6185
6146
  blob: {
6186
6147
  test: function test(e) {
6187
6148
  return "Blob" === toStringTag(e);
@@ -6201,57 +6162,57 @@
6201
6162
  type: t
6202
6163
  });
6203
6164
  },
6204
- replaceAsync: function replaceAsync(t) {
6205
- return new e(function (e, r) {
6165
+ replaceAsync: function replaceAsync(e) {
6166
+ return new TypesonPromise(function (t, r) {
6206
6167
  var n = new FileReader();
6207
6168
  n.addEventListener("load", function () {
6208
- e({
6209
- type: t.type,
6169
+ t({
6170
+ type: e.type,
6210
6171
  stringContents: arraybuffer2string(n.result)
6211
6172
  });
6212
6173
  }), n.addEventListener("error", function () {
6213
6174
  r(n.error);
6214
- }), n.readAsArrayBuffer(t);
6175
+ }), n.readAsArrayBuffer(e);
6215
6176
  });
6216
6177
  }
6217
6178
  }
6218
6179
  };
6219
- var w = {
6180
+ var b = {
6220
6181
  cryptokey: {
6221
6182
  test: function test(e) {
6222
6183
  return "CryptoKey" === toStringTag(e) && e.extractable;
6223
6184
  },
6224
- replaceAsync: function replaceAsync(t) {
6225
- return new e(/*#__PURE__*/function () {
6226
- var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(e, r) {
6227
- var n, _t;
6228
- return _regenerator().w(function (_context) {
6229
- while (1) switch (_context.n) {
6185
+ replaceAsync: function replaceAsync(e) {
6186
+ return new TypesonPromise(/*#__PURE__*/function () {
6187
+ var _ref10 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(t, r) {
6188
+ var n, _t6;
6189
+ return _regenerator().w(function (_context3) {
6190
+ while (1) switch (_context3.p = _context3.n) {
6230
6191
  case 0:
6231
- _context.p = 0;
6232
- _context.n = 1;
6233
- return crypto.subtle.exportKey("jwk", t);
6192
+ _context3.p = 0;
6193
+ _context3.n = 1;
6194
+ return crypto.subtle.exportKey("jwk", e);
6234
6195
  case 1:
6235
- n = _context.v;
6236
- _context.n = 3;
6196
+ n = _context3.v;
6197
+ _context3.n = 3;
6237
6198
  break;
6238
6199
  case 2:
6239
- _context.p = 2;
6240
- _t = _context.v;
6241
- return _context.a(2, void r(_t));
6200
+ _context3.p = 2;
6201
+ _t6 = _context3.v;
6202
+ return _context3.a(2, void r(_t6));
6242
6203
  case 3:
6243
- e({
6204
+ t({
6244
6205
  jwk: n,
6245
- algorithm: t.algorithm,
6246
- usages: t.usages
6206
+ algorithm: e.algorithm,
6207
+ usages: e.usages
6247
6208
  });
6248
6209
  case 4:
6249
- return _context.a(2);
6210
+ return _context3.a(2);
6250
6211
  }
6251
- }, _callee, null, [[0, 2]]);
6212
+ }, _callee3, null, [[0, 2]]);
6252
6213
  }));
6253
- return function (_x, _x2) {
6254
- return _ref.apply(this, arguments);
6214
+ return function (_x4, _x5) {
6215
+ return _ref10.apply(this, arguments);
6255
6216
  };
6256
6217
  }());
6257
6218
  },
@@ -6263,23 +6224,23 @@
6263
6224
  }
6264
6225
  }
6265
6226
  },
6266
- _ = {
6227
+ v = {
6267
6228
  dataview: {
6268
6229
  test: function test(e) {
6269
6230
  return "DataView" === toStringTag(e);
6270
6231
  },
6271
- replace: function replace(_ref2, n) {
6272
- var e = _ref2.buffer,
6273
- t = _ref2.byteOffset,
6274
- r = _ref2.byteLength;
6232
+ replace: function replace(_ref11, n) {
6233
+ var e = _ref11.buffer,
6234
+ t = _ref11.byteOffset,
6235
+ r = _ref11.byteLength;
6275
6236
  n.buffers || (n.buffers = []);
6276
- var a = n.buffers.indexOf(e);
6277
- return a > -1 ? {
6278
- index: a,
6237
+ var o = n.buffers.indexOf(e);
6238
+ return -1 !== o ? {
6239
+ index: o,
6279
6240
  byteOffset: t,
6280
6241
  byteLength: r
6281
6242
  } : (n.buffers.push(e), {
6282
- encoded: p(e),
6243
+ encoded: l(e),
6283
6244
  maxByteLength: e.maxByteLength,
6284
6245
  resizable: e.resizable,
6285
6246
  byteOffset: t,
@@ -6290,18 +6251,18 @@
6290
6251
  t.buffers || (t.buffers = []);
6291
6252
  var r = e.byteOffset,
6292
6253
  n = e.byteLength,
6293
- a = e.encoded,
6294
- o = e.index,
6295
- i = e.maxByteLength,
6296
- c = e.resizable;
6297
- var s;
6298
- return "index" in e ? s = t.buffers[o] : (s = d(a, c ? {
6299
- maxByteLength: i
6300
- } : i), t.buffers.push(s)), new DataView(s, r, n);
6254
+ o = e.encoded,
6255
+ s = e.index,
6256
+ a = e.maxByteLength,
6257
+ i = e.resizable;
6258
+ var c;
6259
+ return "index" in e ? c = t.buffers[s] : (c = u(o, i ? {
6260
+ maxByteLength: a
6261
+ } : a), t.buffers.push(c)), new DataView(c, r, n);
6301
6262
  }
6302
6263
  }
6303
6264
  },
6304
- A = {
6265
+ O = {
6305
6266
  date: {
6306
6267
  test: function test(e) {
6307
6268
  return "Date" === toStringTag(e);
@@ -6311,11 +6272,11 @@
6311
6272
  return Number.isNaN(t) ? "NaN" : t;
6312
6273
  },
6313
6274
  revive: function revive(e) {
6314
- return "NaN" === e ? new Date(Number.NaN) : new Date(e);
6275
+ return "NaN" === e ? new Date(NaN) : new Date(e);
6315
6276
  }
6316
6277
  }
6317
6278
  },
6318
- S = {
6279
+ w = {
6319
6280
  domexception: {
6320
6281
  test: function test(e) {
6321
6282
  return "DOMException" === toStringTag(e);
@@ -6326,16 +6287,16 @@
6326
6287
  message: e.message
6327
6288
  };
6328
6289
  },
6329
- revive: function revive(_ref3) {
6330
- var e = _ref3.message,
6331
- t = _ref3.name;
6290
+ revive: function revive(_ref12) {
6291
+ var e = _ref12.message,
6292
+ t = _ref12.name;
6332
6293
  return new DOMException(e, t);
6333
6294
  }
6334
6295
  }
6335
6296
  },
6336
- j = {};
6297
+ T = {};
6337
6298
  function create$5(e) {
6338
- j[e.name.toLowerCase()] = {
6299
+ T[e.name.toLowerCase()] = {
6339
6300
  test: function test(t) {
6340
6301
  return toStringTag(t) === e.name;
6341
6302
  },
@@ -6372,9 +6333,9 @@
6372
6333
  };
6373
6334
  }
6374
6335
  "undefined" != typeof DOMMatrix && create$5(DOMMatrix), "undefined" != typeof DOMMatrixReadOnly && create$5(DOMMatrixReadOnly);
6375
- var T = {};
6336
+ var A = {};
6376
6337
  function create$4(e) {
6377
- T[e.name.toLowerCase()] = {
6338
+ A[e.name.toLowerCase()] = {
6378
6339
  test: function test(t) {
6379
6340
  return toStringTag(t) === e.name;
6380
6341
  },
@@ -6386,17 +6347,17 @@
6386
6347
  w: e.w
6387
6348
  };
6388
6349
  },
6389
- revive: function revive(_ref4) {
6390
- var t = _ref4.x,
6391
- r = _ref4.y,
6392
- n = _ref4.z,
6393
- a = _ref4.w;
6394
- return new e(t, r, n, a);
6350
+ revive: function revive(_ref13) {
6351
+ var t = _ref13.x,
6352
+ r = _ref13.y,
6353
+ n = _ref13.z,
6354
+ o = _ref13.w;
6355
+ return new e(t, r, n, o);
6395
6356
  }
6396
6357
  };
6397
6358
  }
6398
6359
  "undefined" != typeof DOMPoint && create$4(DOMPoint), "undefined" != typeof DOMPointReadOnly && create$4(DOMPointReadOnly);
6399
- var I = {
6360
+ var P = {
6400
6361
  domquad: {
6401
6362
  test: function test(e) {
6402
6363
  return "DOMQuad" === toStringTag(e);
@@ -6409,18 +6370,18 @@
6409
6370
  p4: e.p4
6410
6371
  };
6411
6372
  },
6412
- revive: function revive(_ref5) {
6413
- var e = _ref5.p1,
6414
- t = _ref5.p2,
6415
- r = _ref5.p3,
6416
- n = _ref5.p4;
6373
+ revive: function revive(_ref14) {
6374
+ var e = _ref14.p1,
6375
+ t = _ref14.p2,
6376
+ r = _ref14.p3,
6377
+ n = _ref14.p4;
6417
6378
  return new DOMQuad(e, t, r, n);
6418
6379
  }
6419
6380
  }
6420
6381
  },
6421
- N = {};
6382
+ S = {};
6422
6383
  function create$3(e) {
6423
- N[e.name.toLowerCase()] = {
6384
+ S[e.name.toLowerCase()] = {
6424
6385
  test: function test(t) {
6425
6386
  return toStringTag(t) === e.name;
6426
6387
  },
@@ -6432,37 +6393,37 @@
6432
6393
  height: e.height
6433
6394
  };
6434
6395
  },
6435
- revive: function revive(_ref6) {
6436
- var t = _ref6.x,
6437
- r = _ref6.y,
6438
- n = _ref6.width,
6439
- a = _ref6.height;
6440
- return new e(t, r, n, a);
6396
+ revive: function revive(_ref15) {
6397
+ var t = _ref15.x,
6398
+ r = _ref15.y,
6399
+ n = _ref15.width,
6400
+ o = _ref15.height;
6401
+ return new e(t, r, n, o);
6441
6402
  }
6442
6403
  };
6443
6404
  }
6444
6405
  "undefined" != typeof DOMRect && create$3(DOMRect), "undefined" != typeof DOMRectReadOnly && create$3(DOMRectReadOnly);
6445
- var P = {
6406
+ var x = {
6446
6407
  error: {
6447
6408
  test: function test(e) {
6448
6409
  return "Error" === toStringTag(e);
6449
6410
  },
6450
- replace: function replace(_ref7) {
6451
- var e = _ref7.name,
6452
- t = _ref7.message,
6453
- r = _ref7.cause,
6454
- n = _ref7.stack,
6455
- a = _ref7.fileName,
6456
- o = _ref7.lineNumber,
6457
- i = _ref7.columnNumber;
6411
+ replace: function replace(_ref16) {
6412
+ var e = _ref16.name,
6413
+ t = _ref16.message,
6414
+ r = _ref16.cause,
6415
+ n = _ref16.stack,
6416
+ o = _ref16.fileName,
6417
+ s = _ref16.lineNumber,
6418
+ a = _ref16.columnNumber;
6458
6419
  return {
6459
6420
  name: e,
6460
6421
  message: t,
6461
6422
  cause: r,
6462
6423
  stack: n,
6463
- fileName: a,
6464
- lineNumber: o,
6465
- columnNumber: i
6424
+ fileName: o,
6425
+ lineNumber: s,
6426
+ columnNumber: a
6466
6427
  };
6467
6428
  },
6468
6429
  revive: function revive(e) {
@@ -6471,30 +6432,30 @@
6471
6432
  }
6472
6433
  }
6473
6434
  },
6474
- x = {};
6435
+ j = {};
6475
6436
  function create$2(e) {
6476
- x[e.name.toLowerCase()] = {
6437
+ j[e.name.toLowerCase()] = {
6477
6438
  test: function test(t) {
6478
6439
  return hasConstructorOf(t, e);
6479
6440
  },
6480
- replace: function replace(_ref8) {
6481
- var e = _ref8.name,
6482
- t = _ref8.message,
6483
- r = _ref8.cause,
6484
- n = _ref8.stack,
6485
- a = _ref8.fileName,
6486
- o = _ref8.lineNumber,
6487
- i = _ref8.columnNumber,
6488
- c = _ref8.errors;
6441
+ replace: function replace(_ref17) {
6442
+ var e = _ref17.name,
6443
+ t = _ref17.message,
6444
+ r = _ref17.cause,
6445
+ n = _ref17.stack,
6446
+ o = _ref17.fileName,
6447
+ s = _ref17.lineNumber,
6448
+ a = _ref17.columnNumber,
6449
+ i = _ref17.errors;
6489
6450
  return {
6490
6451
  name: e,
6491
6452
  message: t,
6492
6453
  cause: r,
6493
6454
  stack: n,
6494
- fileName: a,
6495
- lineNumber: o,
6496
- columnNumber: i,
6497
- errors: c
6455
+ fileName: o,
6456
+ lineNumber: s,
6457
+ columnNumber: a,
6458
+ errors: i
6498
6459
  };
6499
6460
  },
6500
6461
  revive: function revive(t) {
@@ -6506,7 +6467,7 @@
6506
6467
  [TypeError, RangeError, SyntaxError, ReferenceError, EvalError, URIError].forEach(function (e) {
6507
6468
  return create$2(e);
6508
6469
  }), "undefined" != typeof AggregateError && create$2(AggregateError), "function" == typeof InternalError && create$2(InternalError);
6509
- var E = {
6470
+ var N = {
6510
6471
  file: {
6511
6472
  test: function test(e) {
6512
6473
  return "File" === toStringTag(e);
@@ -6521,51 +6482,51 @@
6521
6482
  lastModified: e.lastModified
6522
6483
  };
6523
6484
  },
6524
- revive: function revive(_ref9) {
6525
- var e = _ref9.name,
6526
- t = _ref9.type,
6527
- r = _ref9.stringContents,
6528
- n = _ref9.lastModified;
6485
+ revive: function revive(_ref18) {
6486
+ var e = _ref18.name,
6487
+ t = _ref18.type,
6488
+ r = _ref18.stringContents,
6489
+ n = _ref18.lastModified;
6529
6490
  return new File([string2arraybuffer(r)], e, {
6530
6491
  type: t,
6531
6492
  lastModified: n
6532
6493
  });
6533
6494
  },
6534
- replaceAsync: function replaceAsync(t) {
6535
- return new e(function (e, r) {
6495
+ replaceAsync: function replaceAsync(e) {
6496
+ return new TypesonPromise(function (t, r) {
6536
6497
  var n = new FileReader();
6537
6498
  n.addEventListener("load", function () {
6538
- e({
6539
- type: t.type,
6499
+ t({
6500
+ type: e.type,
6540
6501
  stringContents: arraybuffer2string(n.result),
6541
- name: t.name,
6542
- lastModified: t.lastModified
6502
+ name: e.name,
6503
+ lastModified: e.lastModified
6543
6504
  });
6544
6505
  }), n.addEventListener("error", function () {
6545
6506
  r(n.error);
6546
- }), n.readAsArrayBuffer(t);
6507
+ }), n.readAsArrayBuffer(e);
6547
6508
  });
6548
6509
  }
6549
6510
  }
6550
6511
  },
6551
- C = {
6552
- file: E.file,
6512
+ _ = {
6513
+ file: N.file,
6553
6514
  filelist: {
6554
6515
  test: function test(e) {
6555
6516
  return "FileList" === toStringTag(e);
6556
6517
  },
6557
6518
  replace: function replace(e) {
6558
6519
  var t = [];
6559
- for (var _r2 = 0; _r2 < e.length; _r2++) t[_r2] = e.item(_r2);
6520
+ for (var _r0 = 0; _r0 < e.length; _r0++) t[_r0] = e.item(_r0);
6560
6521
  return t;
6561
6522
  },
6562
6523
  revive: function revive(e) {
6563
6524
  var FileList = /*#__PURE__*/function () {
6564
6525
  function FileList() {
6565
- _classCallCheck$1(this, FileList);
6526
+ _classCallCheck(this, FileList);
6566
6527
  this._files = arguments[0], this.length = this._files.length;
6567
6528
  }
6568
- return _createClass$1(FileList, [{
6529
+ return _createClass(FileList, [{
6569
6530
  key: "item",
6570
6531
  value: function item(e) {
6571
6532
  return this._files[e];
@@ -6602,44 +6563,43 @@
6602
6563
  r.drawImage(n, 0, 0);
6603
6564
  }), n.src = e.dataURL, "undefined" == typeof OffscreenCanvas ? t : t.transferToImageBitmap();
6604
6565
  },
6605
- reviveAsync: function reviveAsync(t) {
6606
- var r = document.createElement("canvas"),
6607
- n = r.getContext("2d"),
6608
- a = document.createElement("img");
6609
- return a.addEventListener("load", function () {
6610
- n.drawImage(a, 0, 0);
6611
- }), a.src = t.dataURL, new e(/*#__PURE__*/function () {
6612
- var _ref0 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(e, t) {
6613
- var _t2, _t3, _t4;
6614
- return _regenerator().w(function (_context2) {
6615
- while (1) switch (_context2.n) {
6566
+ reviveAsync: function reviveAsync(e) {
6567
+ var t = document.createElement("canvas"),
6568
+ r = t.getContext("2d"),
6569
+ n = document.createElement("img");
6570
+ return n.addEventListener("load", function () {
6571
+ r.drawImage(n, 0, 0);
6572
+ }), n.src = e.dataURL, new TypesonPromise(/*#__PURE__*/function () {
6573
+ var _ref19 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(e, r) {
6574
+ var _t7, _t8;
6575
+ return _regenerator().w(function (_context4) {
6576
+ while (1) switch (_context4.p = _context4.n) {
6616
6577
  case 0:
6617
- _context2.p = 0;
6618
- _t2 = e;
6619
- _context2.n = 1;
6620
- return createImageBitmap(r);
6578
+ _context4.p = 0;
6579
+ _t7 = e;
6580
+ _context4.n = 1;
6581
+ return createImageBitmap(t);
6621
6582
  case 1:
6622
- _t3 = _context2.v;
6623
- _t2(_t3);
6624
- _context2.n = 3;
6583
+ _t7(_context4.v);
6584
+ _context4.n = 3;
6625
6585
  break;
6626
6586
  case 2:
6627
- _context2.p = 2;
6628
- _t4 = _context2.v;
6629
- t(_t4);
6587
+ _context4.p = 2;
6588
+ _t8 = _context4.v;
6589
+ r(_t8);
6630
6590
  case 3:
6631
- return _context2.a(2);
6591
+ return _context4.a(2);
6632
6592
  }
6633
- }, _callee2, null, [[0, 2]]);
6593
+ }, _callee4, null, [[0, 2]]);
6634
6594
  }));
6635
- return function (_x3, _x4) {
6636
- return _ref0.apply(this, arguments);
6595
+ return function (_x6, _x7) {
6596
+ return _ref19.apply(this, arguments);
6637
6597
  };
6638
6598
  }());
6639
6599
  }
6640
6600
  }
6641
6601
  },
6642
- k = {
6602
+ E = {
6643
6603
  imagedata: {
6644
6604
  test: function test(e) {
6645
6605
  return "ImageData" === toStringTag(e);
@@ -6656,33 +6616,33 @@
6656
6616
  }
6657
6617
  }
6658
6618
  },
6659
- U = {
6619
+ C = {
6660
6620
  infinity: {
6661
6621
  test: function test(e) {
6662
- return e === Number.POSITIVE_INFINITY;
6622
+ return e === 1 / 0;
6663
6623
  },
6664
6624
  replace: function replace() {
6665
6625
  return "Infinity";
6666
6626
  },
6667
6627
  revive: function revive() {
6668
- return Number.POSITIVE_INFINITY;
6628
+ return 1 / 0;
6669
6629
  }
6670
6630
  }
6671
6631
  },
6672
- D = {
6632
+ U = {
6673
6633
  map: {
6674
6634
  test: function test(e) {
6675
6635
  return "Map" === toStringTag(e);
6676
6636
  },
6677
6637
  replace: function replace(e) {
6678
- return _toConsumableArray(e.entries());
6638
+ return e.entries().toArray();
6679
6639
  },
6680
6640
  revive: function revive(e) {
6681
6641
  return new Map(e);
6682
6642
  }
6683
6643
  }
6684
6644
  },
6685
- K = {
6645
+ M = {
6686
6646
  nan: {
6687
6647
  test: function test(e) {
6688
6648
  return Number.isNaN(e);
@@ -6691,24 +6651,24 @@
6691
6651
  return "NaN";
6692
6652
  },
6693
6653
  revive: function revive() {
6694
- return Number.NaN;
6654
+ return NaN;
6695
6655
  }
6696
6656
  }
6697
6657
  },
6698
- F = {
6658
+ L = {
6699
6659
  negativeInfinity: {
6700
6660
  test: function test(e) {
6701
- return e === Number.NEGATIVE_INFINITY;
6661
+ return e === -1 / 0;
6702
6662
  },
6703
6663
  replace: function replace() {
6704
6664
  return "-Infinity";
6705
6665
  },
6706
6666
  revive: function revive() {
6707
- return Number.NEGATIVE_INFINITY;
6667
+ return -1 / 0;
6708
6668
  }
6709
6669
  }
6710
6670
  },
6711
- $ = {
6671
+ D = {
6712
6672
  negativeZero: {
6713
6673
  test: function test(e) {
6714
6674
  return Object.is(e, -0);
@@ -6721,10 +6681,10 @@
6721
6681
  }
6722
6682
  }
6723
6683
  },
6724
- J = {
6684
+ k = {
6725
6685
  StringObject: {
6726
6686
  test: function test(e) {
6727
- return "String" === toStringTag(e) && "object" == _typeof$2(e);
6687
+ return "String" === toStringTag(e) && "object" == _typeof$1(e);
6728
6688
  },
6729
6689
  replace: String,
6730
6690
  revive: function revive(e) {
@@ -6733,7 +6693,7 @@
6733
6693
  },
6734
6694
  BooleanObject: {
6735
6695
  test: function test(e) {
6736
- return "Boolean" === toStringTag(e) && "object" == _typeof$2(e);
6696
+ return "Boolean" === toStringTag(e) && "object" == _typeof$1(e);
6737
6697
  },
6738
6698
  replace: function replace(e) {
6739
6699
  return e.valueOf();
@@ -6744,7 +6704,7 @@
6744
6704
  },
6745
6705
  NumberObject: {
6746
6706
  test: function test(e) {
6747
- return "Number" === toStringTag(e) && "object" == _typeof$2(e);
6707
+ return "Number" === toStringTag(e) && "object" == _typeof$1(e);
6748
6708
  },
6749
6709
  replace: Number,
6750
6710
  revive: function revive(e) {
@@ -6752,7 +6712,7 @@
6752
6712
  }
6753
6713
  }
6754
6714
  },
6755
- q = {
6715
+ $ = {
6756
6716
  regexp: {
6757
6717
  test: function test(e) {
6758
6718
  return "RegExp" === toStringTag(e);
@@ -6760,34 +6720,34 @@
6760
6720
  replace: function replace(e) {
6761
6721
  return {
6762
6722
  source: e.source,
6763
- flags: (e.global ? "g" : "") + (e.ignoreCase ? "i" : "") + (e.multiline ? "m" : "") + (e.sticky ? "y" : "") + (e.unicode ? "u" : "")
6723
+ flags: (e.global ? "g" : "") + (e.ignoreCase ? "i" : "") + (e.multiline ? "m" : "") + (e.sticky ? "y" : "") + (e.unicode ? "u" : "") + (e.unicodeSets ? "v" : "") + (e.hasIndices ? "d" : "") + (e.dotAll ? "s" : "")
6764
6724
  };
6765
6725
  },
6766
- revive: function revive(_ref10) {
6767
- var e = _ref10.source,
6768
- t = _ref10.flags;
6726
+ revive: function revive(_ref21) {
6727
+ var e = _ref21.source,
6728
+ t = _ref21.flags;
6769
6729
  return new RegExp(e, t);
6770
6730
  }
6771
6731
  }
6772
6732
  },
6773
- G = {
6733
+ J = {
6774
6734
  set: {
6775
6735
  test: function test(e) {
6776
6736
  return "Set" === toStringTag(e);
6777
6737
  },
6778
6738
  replace: function replace(e) {
6779
- return _toConsumableArray(e.values());
6739
+ return e.values().toArray();
6780
6740
  },
6781
6741
  revive: function revive(e) {
6782
6742
  return new Set(e);
6783
6743
  }
6784
6744
  }
6785
6745
  },
6786
- Q = {};
6746
+ V = {};
6787
6747
  "function" == typeof Int8Array && [Int8Array, Uint8Array, Uint8ClampedArray, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array].concat(_toConsumableArray("function" == typeof BigInt64Array ? [BigInt64Array, BigUint64Array] : [])).forEach(function (e) {
6788
6748
  return function create$1(e) {
6789
6749
  var t = e.name;
6790
- Q[t.toLowerCase()] = {
6750
+ V[t.toLowerCase()] = {
6791
6751
  test: function test(e) {
6792
6752
  return toStringTag(e) === t;
6793
6753
  },
@@ -6800,28 +6760,28 @@
6800
6760
  };
6801
6761
  }(e);
6802
6762
  });
6803
- var X = {};
6763
+ var W = {};
6804
6764
  "function" == typeof Int8Array && [Int8Array, Uint8Array, Uint8ClampedArray, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array].concat(_toConsumableArray("function" == typeof BigInt64Array ? [BigInt64Array, BigUint64Array] : [])).forEach(function (e) {
6805
6765
  return function create(e) {
6806
6766
  var t = e.name;
6807
- X[t.toLowerCase()] = {
6767
+ W[t.toLowerCase()] = {
6808
6768
  test: function test(e) {
6809
6769
  return toStringTag(e) === t;
6810
6770
  },
6811
- replace: function replace(_ref11, n) {
6812
- var e = _ref11.buffer,
6813
- t = _ref11.byteOffset,
6814
- r = _ref11.length;
6771
+ replace: function replace(_ref22, n) {
6772
+ var e = _ref22.buffer,
6773
+ t = _ref22.byteOffset,
6774
+ r = _ref22.length;
6815
6775
  n.buffers || (n.buffers = []);
6816
- var a = n.buffers.indexOf(e);
6817
- return a > -1 ? {
6818
- index: a,
6776
+ var o = n.buffers.indexOf(e);
6777
+ return -1 !== o ? {
6778
+ index: o,
6819
6779
  byteOffset: t,
6820
6780
  length: r
6821
6781
  } : (n.buffers.push(e), {
6822
6782
  maxByteLength: e.maxByteLength,
6823
6783
  resizable: e.resizable,
6824
- encoded: p(e),
6784
+ encoded: l(e),
6825
6785
  byteOffset: t,
6826
6786
  length: r
6827
6787
  });
@@ -6829,20 +6789,20 @@
6829
6789
  revive: function revive(t, r) {
6830
6790
  r.buffers || (r.buffers = []);
6831
6791
  var n = t.byteOffset,
6832
- a = t.length,
6833
- o = t.encoded,
6834
- i = t.index,
6835
- c = t.maxByteLength,
6836
- s = t.resizable;
6837
- var u;
6838
- return "index" in t ? u = r.buffers[i] : (u = d(o, s ? {
6839
- maxByteLength: c
6840
- } : void 0), r.buffers.push(u)), new e(u, n, a);
6792
+ o = t.length,
6793
+ s = t.encoded,
6794
+ a = t.index,
6795
+ i = t.maxByteLength,
6796
+ c = t.resizable;
6797
+ var y;
6798
+ return "index" in t ? y = r.buffers[a] : (y = u(s, c ? {
6799
+ maxByteLength: i
6800
+ } : void 0), r.buffers.push(y)), new e(y, n, o);
6841
6801
  }
6842
6802
  };
6843
6803
  }(e);
6844
6804
  });
6845
- var Z = {
6805
+ var Q = {
6846
6806
  undef: {
6847
6807
  test: function test(e, t) {
6848
6808
  return void 0 === e && (t.ownKeys || !("ownKeys" in t));
@@ -6851,29 +6811,29 @@
6851
6811
  return 0;
6852
6812
  },
6853
6813
  revive: function revive() {
6854
- return new s();
6814
+ return new Undefined();
6855
6815
  }
6856
6816
  }
6857
6817
  },
6858
- ee = {
6818
+ G = {
6859
6819
  userObject: {
6860
6820
  test: function test(e) {
6861
6821
  return isUserObject(e);
6862
6822
  },
6863
6823
  replace: function replace(e) {
6864
- return _objectSpread2$1({}, e);
6824
+ return _objectSpread2({}, e);
6865
6825
  },
6866
6826
  revive: function revive(e) {
6867
6827
  return e;
6868
6828
  }
6869
6829
  }
6870
6830
  },
6871
- te = [{
6831
+ H = [{
6872
6832
  arrayNonindexKeys: {
6873
6833
  testPlainObjects: true,
6874
6834
  test: function test(e, t) {
6875
6835
  return !!Array.isArray(e) && (Object.keys(e).some(function (e) {
6876
- return String(Number.parseInt(e)) !== e;
6836
+ return String(Number(e)) !== e;
6877
6837
  }) && (t.iterateIn = "object", t.addLength = true), true);
6878
6838
  },
6879
6839
  replace: function replace(e, t) {
@@ -6882,10 +6842,10 @@
6882
6842
  revive: function revive(e) {
6883
6843
  if (Array.isArray(e)) return e;
6884
6844
  var t = [];
6885
- return Object.entries(e).forEach(function (_ref12) {
6886
- var _ref13 = _slicedToArray$1(_ref12, 2),
6887
- e = _ref13[0],
6888
- r = _ref13[1];
6845
+ return Object.entries(e).forEach(function (_ref23) {
6846
+ var _ref24 = _slicedToArray(_ref23, 2),
6847
+ e = _ref24[0],
6848
+ r = _ref24[1];
6889
6849
  t[e] = r;
6890
6850
  }), t;
6891
6851
  }
@@ -6901,21 +6861,21 @@
6901
6861
  revive: function revive() {}
6902
6862
  }
6903
6863
  }],
6904
- re = [K, U, F, $],
6905
- ce = [ee, Z, te, J, re, A, q, k, B, E, C, h, P, x].concat("function" == typeof Map ? D : [], "function" == typeof Set ? G : [], "function" == typeof ArrayBuffer ? v : [], "function" == typeof Uint8Array ? X : [], "function" == typeof DataView ? _ : [], "undefined" != typeof crypto ? w : [], "undefined" != typeof BigInt ? [m, b] : [], "undefined" != typeof DOMException ? S : [], "undefined" != typeof DOMRect ? N : [], "undefined" != typeof DOMPoint ? T : [], "undefined" != typeof DOMQuad ? I : [], "undefined" != typeof DOMMatrix ? j : []),
6906
- se = ce.concat({
6864
+ X = [M, C, L, D],
6865
+ re = [G, Q, H, k, X, O, $, E, B, N, _, m, x, j].concat("function" == typeof Map ? U : [], "function" == typeof Set ? J : [], "function" == typeof ArrayBuffer ? p : [], "function" == typeof Uint8Array ? W : [], "function" == typeof DataView ? v : [], "undefined" != typeof crypto ? b : [], "undefined" != typeof BigInt ? [d, f] : [], "undefined" != typeof DOMException ? w : [], "undefined" != typeof DOMRect ? S : [], "undefined" != typeof DOMPoint ? A : [], "undefined" != typeof DOMQuad ? P : [], "undefined" != typeof DOMMatrix ? T : []),
6866
+ ne = re.concat({
6907
6867
  checkDataCloneException: {
6908
6868
  test: function test(e) {
6909
6869
  var t = {}.toString.call(e).slice(8, -1);
6910
- if (["symbol", "function"].includes(_typeof$2(e)) || ["Arguments", "Module", "Promise", "WeakMap", "WeakSet", "Event", "MessageChannel"].includes(t) || e && "object" == _typeof$2(e) && "number" == typeof e.nodeType && "function" == typeof e.insertBefore) throw new DOMException("The object cannot be cloned.", "DataCloneError");
6870
+ if (["symbol", "function"].includes(_typeof$1(e)) || ["Arguments", "Module", "Promise", "WeakMap", "WeakSet", "Event", "MessageChannel"].includes(t) || e && "object" == _typeof$1(e) && "number" == typeof e.nodeType && "function" == typeof e.insertBefore) throw new DOMException("The object cannot be cloned.", "DataCloneError");
6911
6871
  return false;
6912
6872
  }
6913
6873
  }
6914
6874
  });
6915
6875
 
6916
- // See: http://stackoverflow.com/questions/42170826/categories-for-rejection-by-the-structured-cloning-algorithm
6876
+ // See: https://stackoverflow.com/questions/42170826/categories-for-rejection-by-the-structured-cloning-algorithm
6917
6877
 
6918
- var typeson = new c().register(se);
6878
+ var typeson = new Typeson().register(ne);
6919
6879
 
6920
6880
  /**
6921
6881
  * @param {(preset: import('typeson-registry').Preset) =>
@@ -6923,7 +6883,8 @@
6923
6883
  * @returns {void}
6924
6884
  */
6925
6885
  function register(func) {
6926
- typeson = new c().register(func(se));
6886
+ // eslint-disable-next-line unicorn/no-top-level-assignment-in-function -- Should be one-time cache
6887
+ typeson = new Typeson().register(func(ne));
6927
6888
  }
6928
6889
 
6929
6890
  /**
@@ -7011,7 +6972,8 @@
7011
6972
 
7012
6973
  /**
7013
6974
  * IDB Index.
7014
- * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBIndex
6975
+ * @see https://www.w3.org/TR/IndexedDB/#idl-def-IDBIndex
6976
+ * @throws {TypeError}
7015
6977
  * @class
7016
6978
  */
7017
6979
  function IDBIndex() {
@@ -7065,67 +7027,69 @@
7065
7027
  me.__unique = Boolean(optionalParams && optionalParams.unique);
7066
7028
  me.__deleted = Boolean(indexProperties.__deleted);
7067
7029
  me.__objectStore.__cursors = indexProperties.cursors || [];
7068
- Object.defineProperty(me, '__currentName', {
7069
- /**
7070
- * @this {IDBIndexFull}
7071
- * @returns {string}
7072
- */
7073
- get: function get() {
7074
- return '__pendingName' in me ? (/** @type {string} */me.__pendingName) : me.name;
7075
- }
7076
- });
7077
- Object.defineProperty(me, 'name', {
7078
- enumerable: false,
7079
- configurable: false,
7080
- /**
7081
- * @this {IDBIndexFull}
7082
- * @returns {string}
7083
- */
7084
- get: function get() {
7085
- return this.__name;
7086
- },
7087
- /**
7088
- * @param {string} newName
7089
- * @this {IDBIndexFull}
7090
- * @returns {void}
7091
- */
7092
- set: function set(newName) {
7093
- var me = this;
7094
- newName = convertToDOMString(newName);
7095
- var oldName = me.name;
7096
- IDBTransaction.__assertVersionChange(me.objectStore.transaction);
7097
- IDBTransaction.__assertActive(me.objectStore.transaction);
7098
- IDBIndexAlias.__invalidStateIfDeleted(me);
7099
- IDBObjectStore.__invalidStateIfDeleted(me);
7100
- if (newName === oldName) {
7101
- return;
7102
- }
7103
- if (me.objectStore.__indexes[newName] && !me.objectStore.__indexes[newName].__deleted && !me.objectStore.__indexes[newName].__pendingDelete) {
7104
- throw createDOMException('ConstraintError', 'Index "' + newName + '" already exists on ' + me.objectStore.__currentName);
7030
+ Object.defineProperties(me, {
7031
+ __currentName: {
7032
+ /**
7033
+ * @this {IDBIndexFull}
7034
+ * @returns {string}
7035
+ */
7036
+ get: function get() {
7037
+ return '__pendingName' in me ? (/** @type {string} */me.__pendingName) : me.name;
7105
7038
  }
7106
- me.__name = newName;
7107
- var objectStore = me.objectStore;
7108
- delete objectStore.__indexes[oldName];
7109
- objectStore.__indexes[newName] = me;
7110
- objectStore.indexNames.splice(objectStore.indexNames.indexOf(oldName), 1, newName);
7111
- var storeHandle = /** @type {import('./IDBTransaction.js').IDBTransactionFull} */objectStore.transaction.__storeHandles[objectStore.name];
7112
- var oldIndexHandle = storeHandle.__indexHandles[oldName];
7113
- oldIndexHandle.__name = newName; // Fix old references
7114
- storeHandle.__indexHandles[newName] = oldIndexHandle; // Ensure new reference accessible
7115
- me.__pendingName = oldName;
7116
- var colInfoToPreserveArr = [['key', 'BLOB ' + (objectStore.autoIncrement ? 'UNIQUE, inc INTEGER PRIMARY KEY AUTOINCREMENT' : 'PRIMARY KEY')], ['value', 'BLOB']].concat(
7117
- // @ts-expect-error Has numeric indexes instead of iterator
7118
- _toConsumableArray(objectStore.indexNames).filter(function (indexName) {
7119
- return indexName !== newName;
7120
- }).map(function (indexName) {
7121
- return [escapeIndexNameForSQL(indexName), 'BLOB'];
7122
- }));
7123
- me.__renameIndex(objectStore, oldName, newName, colInfoToPreserveArr, function (tx, success) {
7124
- IDBIndexAlias.__updateIndexList(store, tx, function (store) {
7125
- delete storeHandle.__pendingName;
7126
- success(store);
7039
+ },
7040
+ name: {
7041
+ enumerable: false,
7042
+ configurable: false,
7043
+ /**
7044
+ * @this {IDBIndexFull}
7045
+ * @returns {string}
7046
+ */
7047
+ get: function get() {
7048
+ return this.__name;
7049
+ },
7050
+ /**
7051
+ * @param {string} newName
7052
+ * @this {IDBIndexFull}
7053
+ * @returns {void}
7054
+ */
7055
+ set: function set(newName) {
7056
+ var me = this;
7057
+ newName = convertToDOMString(newName);
7058
+ var oldName = me.name;
7059
+ IDBTransaction.__assertVersionChange(me.objectStore.transaction);
7060
+ IDBTransaction.__assertActive(me.objectStore.transaction);
7061
+ IDBIndexAlias.__invalidStateIfDeleted(me);
7062
+ IDBObjectStore.__invalidStateIfDeleted(me);
7063
+ if (newName === oldName) {
7064
+ return;
7065
+ }
7066
+ if (Object.hasOwn(me.objectStore.__indexes, newName) && !me.objectStore.__indexes[newName].__deleted && !me.objectStore.__indexes[newName].__pendingDelete) {
7067
+ throw createDOMException('ConstraintError', 'Index "' + newName + '" already exists on ' + me.objectStore.__currentName);
7068
+ }
7069
+ me.__name = newName;
7070
+ var objectStore = me.objectStore;
7071
+ delete objectStore.__indexes[oldName];
7072
+ objectStore.__indexes[newName] = me;
7073
+ objectStore.indexNames.splice(objectStore.indexNames.indexOf(oldName), 1, newName);
7074
+ var storeHandle = /** @type {import('./IDBTransaction.js').IDBTransactionFull} */objectStore.transaction.__storeHandles[objectStore.name];
7075
+ var oldIndexHandle = storeHandle.__indexHandles[oldName];
7076
+ oldIndexHandle.__name = newName; // Fix old references
7077
+ storeHandle.__indexHandles[newName] = oldIndexHandle; // Ensure new reference accessible
7078
+ me.__pendingName = oldName;
7079
+ var colInfoToPreserveArr = [['key', 'BLOB ' + (objectStore.autoIncrement ? 'UNIQUE, inc INTEGER PRIMARY KEY AUTOINCREMENT' : 'PRIMARY KEY')], ['value', 'BLOB']].concat(
7080
+ // @ts-expect-error Has numeric indexes instead of iterator
7081
+ _toConsumableArray(objectStore.indexNames).filter(function (indexName) {
7082
+ return indexName !== newName;
7083
+ }).map(function (indexName) {
7084
+ return [escapeIndexNameForSQL(indexName), 'BLOB'];
7085
+ }));
7086
+ me.__renameIndex(objectStore, oldName, newName, colInfoToPreserveArr, function (tx, success) {
7087
+ IDBIndexAlias.__updateIndexList(store, tx, function (store) {
7088
+ delete storeHandle.__pendingName;
7089
+ success(store);
7090
+ });
7127
7091
  });
7128
- });
7092
+ }
7129
7093
  }
7130
7094
  });
7131
7095
  }
@@ -7240,7 +7204,7 @@
7240
7204
  var indexKeyStr = /** @type {string} */
7241
7205
  _encode(indexKey.value, index.multiEntry);
7242
7206
  if (index.unique) {
7243
- if (indexValues[indexKeyStr]) {
7207
+ if (Object.hasOwn(indexValues, indexKeyStr)) {
7244
7208
  indexValues = {};
7245
7209
  failure(createDOMException('ConstraintError', 'Duplicate values already exist within the store'));
7246
7210
  return;
@@ -7572,7 +7536,7 @@
7572
7536
  var listColInfoToPreserve = colInfoToPreserve.length ? colInfoToPreserve.join(', ') + ', ' : '';
7573
7537
  var listColsToPreserve = colNamesToPreserve.length ? colNamesToPreserve.join(', ') + ', ' : '';
7574
7538
 
7575
- // We could adapt the approach at http://stackoverflow.com/a/8430746/271577
7539
+ // We could adapt the approach at https://stackoverflow.com/a/8430746/271577
7576
7540
  // to make the approach reusable without passing column names, but it is a bit fragile
7577
7541
  /** @type {import('./IDBTransaction.js').IDBTransactionFull} */
7578
7542
  store.transaction.__addNonRequestToTransactionQueue(function renameIndex(tx, args, success, error) {
@@ -7663,7 +7627,7 @@
7663
7627
  });
7664
7628
  }));
7665
7629
  SyncPromise.all(indexCreations).then(finish, /** @type {(reason: any) => PromiseLike<never>} */
7666
- error)["catch"](function (err) {
7630
+ error).catch(function (err) {
7667
7631
  console.log('Index rename error');
7668
7632
  throw err;
7669
7633
  });
@@ -7678,6 +7642,7 @@
7678
7642
  * @typedef {any} AnyValue
7679
7643
  */
7680
7644
 
7645
+ /* eslint-disable unicorn/no-top-level-side-effects -- Would be good */
7681
7646
  Object.defineProperty(IDBIndex, Symbol.hasInstance, {
7682
7647
  /**
7683
7648
  * @param {AnyValue} obj
@@ -7693,6 +7658,7 @@
7693
7658
  Object.defineProperty(IDBIndex, 'prototype', {
7694
7659
  writable: false
7695
7660
  });
7661
+ /* eslint-enable unicorn/no-top-level-side-effects -- Would be good */
7696
7662
 
7697
7663
  /**
7698
7664
  * @param {number|null} count
@@ -7869,8 +7835,9 @@
7869
7835
 
7870
7836
  /**
7871
7837
  * IndexedDB Object Store.
7872
- * @see http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#idl-def-IDBObjectStore
7838
+ * @see https://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#idl-def-IDBObjectStore
7873
7839
  * @class
7840
+ * @throws {TypeError}
7874
7841
  */
7875
7842
  function IDBObjectStore() {
7876
7843
  throw new TypeError('Illegal constructor');
@@ -7935,84 +7902,87 @@
7935
7902
  me.__indexNames = DOMStringList.__createInstance();
7936
7903
  var indexList = storeProperties.indexList;
7937
7904
  for (var indexName in indexList) {
7938
- if (Object.hasOwn(indexList, indexName)) {
7939
- var index = IDBIndex.__createInstance(me, indexList[indexName]);
7940
- me.__indexes[index.name] = index;
7941
- if (!index.__deleted) {
7942
- me.indexNames.push(index.name);
7943
- }
7905
+ if (!Object.hasOwn(indexList, indexName)) {
7906
+ continue;
7907
+ }
7908
+ var index = IDBIndex.__createInstance(me, indexList[indexName]);
7909
+ me.__indexes[index.name] = index;
7910
+ if (!index.__deleted) {
7911
+ me.indexNames.push(index.name);
7944
7912
  }
7945
7913
  }
7946
7914
  me.__oldIndexNames = me.indexNames.clone();
7947
- Object.defineProperty(this, '__currentName', {
7948
- get: function get() {
7949
- return '__pendingName' in this ? this.__pendingName : this.name;
7950
- }
7951
- });
7952
- Object.defineProperty(this, 'name', {
7953
- enumerable: false,
7954
- configurable: false,
7955
- /**
7956
- * @this {IDBObjectStoreFull}
7957
- * @returns {string}
7958
- */
7959
- get: function get() {
7960
- return this.__name;
7961
- },
7962
- /**
7963
- * @param {string} name
7964
- * @this {IDBObjectStoreFull}
7965
- * @returns {void}
7966
- */
7967
- set: function set(name) {
7968
- var me = this;
7969
- name = convertToDOMString(name);
7970
- var oldName = me.name;
7971
- IDBObjectStoreAlias.__invalidStateIfDeleted(me);
7972
- IDBTransaction.__assertVersionChange(me.transaction);
7973
- IDBTransaction.__assertActive(me.transaction);
7974
- if (oldName === name) {
7975
- return;
7976
- }
7977
- if (me.__idbdb.__objectStores[name] && !me.__idbdb.__objectStores[name].__pendingDelete) {
7978
- throw createDOMException('ConstraintError', 'Object store "' + name + '" already exists in ' + me.__idbdb.name);
7979
- }
7980
- me.__name = name;
7981
- var oldStore = me.__idbdb.__objectStores[oldName];
7982
- oldStore.__name = name; // Fix old references
7983
- me.__idbdb.__objectStores[name] = oldStore; // Ensure new reference accessible
7984
- delete me.__idbdb.__objectStores[oldName]; // Ensure won't be found
7985
-
7986
- me.__idbdb.objectStoreNames.splice(me.__idbdb.objectStoreNames.indexOf(oldName), 1, name);
7987
- var oldHandle = /** @type {IDBObjectStoreFull} */
7988
- /** @type {import('./IDBTransaction.js').IDBTransactionFull} */me.transaction.__storeHandles[oldName];
7989
- oldHandle.__name = name; // Fix old references
7990
- /** @type {import('./IDBTransaction.js').IDBTransactionFull} */
7991
- me.transaction.__storeHandles[name] = oldHandle; // Ensure new reference accessible
7992
-
7993
- me.__pendingName = oldName;
7994
- var sql = 'UPDATE __sys__ SET "name" = ? WHERE "name" = ?';
7995
- var sqlValues = [escapeSQLiteStatement(name), escapeSQLiteStatement(oldName)];
7996
- if (CFG.DEBUG) {
7997
- console.log(sql, sqlValues);
7915
+ Object.defineProperties(this, {
7916
+ __currentName: {
7917
+ get: function get() {
7918
+ return '__pendingName' in this ? this.__pendingName : this.name;
7998
7919
  }
7999
- /** @type {import('./IDBTransaction.js').IDBTransactionFull} */
8000
- me.transaction.__addNonRequestToTransactionQueue(function objectStoreClear(tx, args, success, error) {
8001
- tx.executeSql(sql, sqlValues, function (tx) {
8002
- // This SQL preserves indexes per https://www.sqlite.org/lang_altertable.html
8003
- var sql = 'ALTER TABLE ' + escapeStoreNameForSQL(oldName) + ' RENAME TO ' + escapeStoreNameForSQL(name);
8004
- if (CFG.DEBUG) {
8005
- console.log(sql);
8006
- }
8007
- tx.executeSql(sql, [], function () {
8008
- delete me.__pendingName;
8009
- success();
7920
+ },
7921
+ name: {
7922
+ enumerable: false,
7923
+ configurable: false,
7924
+ /**
7925
+ * @this {IDBObjectStoreFull}
7926
+ * @returns {string}
7927
+ */
7928
+ get: function get() {
7929
+ return this.__name;
7930
+ },
7931
+ /**
7932
+ * @param {string} name
7933
+ * @this {IDBObjectStoreFull}
7934
+ * @returns {void}
7935
+ */
7936
+ set: function set(name) {
7937
+ var me = this;
7938
+ name = convertToDOMString(name);
7939
+ var oldName = me.name;
7940
+ IDBObjectStoreAlias.__invalidStateIfDeleted(me);
7941
+ IDBTransaction.__assertVersionChange(me.transaction);
7942
+ IDBTransaction.__assertActive(me.transaction);
7943
+ if (oldName === name) {
7944
+ return;
7945
+ }
7946
+ if (Object.hasOwn(me.__idbdb.__objectStores, name) && !me.__idbdb.__objectStores[name].__pendingDelete) {
7947
+ throw createDOMException('ConstraintError', 'Object store "' + name + '" already exists in ' + me.__idbdb.name);
7948
+ }
7949
+ me.__name = name;
7950
+ var oldStore = me.__idbdb.__objectStores[oldName];
7951
+ oldStore.__name = name; // Fix old references
7952
+ me.__idbdb.__objectStores[name] = oldStore; // Ensure new reference accessible
7953
+ delete me.__idbdb.__objectStores[oldName]; // Ensure won't be found
7954
+
7955
+ me.__idbdb.objectStoreNames.splice(me.__idbdb.objectStoreNames.indexOf(oldName), 1, name);
7956
+ var oldHandle = /** @type {IDBObjectStoreFull} */
7957
+ /** @type {import('./IDBTransaction.js').IDBTransactionFull} */me.transaction.__storeHandles[oldName];
7958
+ oldHandle.__name = name; // Fix old references
7959
+ /** @type {import('./IDBTransaction.js').IDBTransactionFull} */
7960
+ me.transaction.__storeHandles[name] = oldHandle; // Ensure new reference accessible
7961
+
7962
+ me.__pendingName = oldName;
7963
+ var sql = 'UPDATE __sys__ SET "name" = ? WHERE "name" = ?';
7964
+ var sqlValues = [escapeSQLiteStatement(name), escapeSQLiteStatement(oldName)];
7965
+ if (CFG.DEBUG) {
7966
+ console.log(sql, sqlValues);
7967
+ }
7968
+ /** @type {import('./IDBTransaction.js').IDBTransactionFull} */
7969
+ me.transaction.__addNonRequestToTransactionQueue(function objectStoreClear(tx, args, success, error) {
7970
+ tx.executeSql(sql, sqlValues, function (tx) {
7971
+ // This SQL preserves indexes per https://www.sqlite.org/lang_altertable.html
7972
+ var sql = 'ALTER TABLE ' + escapeStoreNameForSQL(oldName) + ' RENAME TO ' + escapeStoreNameForSQL(name);
7973
+ if (CFG.DEBUG) {
7974
+ console.log(sql);
7975
+ }
7976
+ tx.executeSql(sql, [], function () {
7977
+ delete me.__pendingName;
7978
+ success();
7979
+ });
7980
+ }, function (tx, err) {
7981
+ error(err);
7982
+ return false;
8010
7983
  });
8011
- }, function (tx, err) {
8012
- error(err);
8013
- return false;
8014
7984
  });
8015
- });
7985
+ }
8016
7986
  }
8017
7987
  });
8018
7988
  }
@@ -8076,7 +8046,7 @@
8076
8046
  var transaction = /** @type {import('./IDBTransaction.js').IDBTransactionFull} */
8077
8047
  db.__versionTransaction;
8078
8048
  var storeHandles = transaction.__storeHandles;
8079
- if (!storeHandles[storeName] ||
8049
+ if (!Object.hasOwn(storeHandles, storeName) ||
8080
8050
  // These latter conditions are to allow store
8081
8051
  // recreation to create new clone object
8082
8052
  storeHandles[storeName].__pendingDelete || storeHandles[storeName].__deleted) {
@@ -8399,7 +8369,7 @@
8399
8369
  insertSqlValues.push(escapeSQLiteStatement(/** @type {string} */_encode(clonedKeyOrCurrentNumber)));
8400
8370
  }
8401
8371
  Object.entries(paramMap).forEach(function (_ref) {
8402
- var _ref2 = _slicedToArray$1(_ref, 2),
8372
+ var _ref2 = _slicedToArray(_ref, 2),
8403
8373
  key = _ref2[0],
8404
8374
  stmt = _ref2[1];
8405
8375
  sqlStart.push(escapeIndexNameForSQL(key) + ',');
@@ -8422,8 +8392,7 @@
8422
8392
  return false;
8423
8393
  });
8424
8394
  return undefined;
8425
- // eslint-disable-next-line sonarjs/no-invariant-returns -- Convenient
8426
- })["catch"](function (err) {
8395
+ }).catch(function (err) {
8427
8396
  /**
8428
8397
  * @returns {void}
8429
8398
  */
@@ -8463,7 +8432,7 @@
8463
8432
  me.transaction.__assertWritable();
8464
8433
  var request = /** @type {import('./IDBTransaction.js').IDBTransactionFull} */me.transaction.__createRequest(me);
8465
8434
  var _me$__validateKeyAndV = me.__validateKeyAndValueAndCloneValue(value, key, false),
8466
- _me$__validateKeyAndV2 = _slicedToArray$1(_me$__validateKeyAndV, 2),
8435
+ _me$__validateKeyAndV2 = _slicedToArray(_me$__validateKeyAndV, 2),
8467
8436
  ky = _me$__validateKeyAndV2[0],
8468
8437
  clonedValue = _me$__validateKeyAndV2[1];
8469
8438
  IDBObjectStore.__storingRecordObjectStore(request, me, true, clonedValue, true, ky);
@@ -8493,7 +8462,7 @@
8493
8462
  me.transaction.__assertWritable();
8494
8463
  var request = /** @type {import('./IDBTransaction.js').IDBTransactionFull} */me.transaction.__createRequest(me);
8495
8464
  var _me$__validateKeyAndV3 = me.__validateKeyAndValueAndCloneValue(value, key, false),
8496
- _me$__validateKeyAndV4 = _slicedToArray$1(_me$__validateKeyAndV3, 2),
8465
+ _me$__validateKeyAndV4 = _slicedToArray(_me$__validateKeyAndV3, 2),
8497
8466
  ky = _me$__validateKeyAndV4[0],
8498
8467
  clonedValue = _me$__validateKeyAndV4[1];
8499
8468
  IDBObjectStore.__storingRecordObjectStore(request, me, true, clonedValue, false, ky);
@@ -8708,7 +8677,7 @@
8708
8677
  * @this {IDBObjectStoreFull}
8709
8678
  * @returns {import('./IDBRequest.js').IDBRequestFull}
8710
8679
  */
8711
- IDBObjectStore.prototype["delete"] = function (query) {
8680
+ IDBObjectStore.prototype.delete = function (query) {
8712
8681
  var me = this;
8713
8682
  if (!(this instanceof IDBObjectStore)) {
8714
8683
  throw new TypeError('Illegal invocation');
@@ -8853,7 +8822,7 @@
8853
8822
  if (!index || index.__deleted) {
8854
8823
  throw createDOMException('NotFoundError', 'Index "' + indexName + '" does not exist on ' + me.__currentName);
8855
8824
  }
8856
- if (!me.__indexHandles[indexName] || me.__indexes[indexName].__pendingDelete || me.__indexes[indexName].__deleted) {
8825
+ if (!Object.hasOwn(me.__indexHandles, indexName) || me.__indexes[indexName].__pendingDelete || me.__indexes[indexName].__deleted) {
8857
8826
  me.__indexHandles[indexName] = IDBIndex.__clone(index, me);
8858
8827
  }
8859
8828
  return me.__indexHandles[indexName];
@@ -8883,7 +8852,7 @@
8883
8852
  IDBTransaction.__assertVersionChange(me.transaction);
8884
8853
  IDBObjectStore.__invalidStateIfDeleted(me);
8885
8854
  IDBTransaction.__assertActive(me.transaction);
8886
- if (me.__indexes[indexName] && !me.__indexes[indexName].__deleted && !me.__indexes[indexName].__pendingDelete) {
8855
+ if (Object.hasOwn(me.__indexes, indexName) && !me.__indexes[indexName].__deleted && !me.__indexes[indexName].__pendingDelete) {
8887
8856
  throw createDOMException('ConstraintError', 'Index "' + indexName + '" already exists on ' + me.__currentName);
8888
8857
  }
8889
8858
  keyPath = convertToSequenceDOMString(keyPath);
@@ -8893,7 +8862,7 @@
8893
8862
  if (Array.isArray(keyPath) && optionalParameters && optionalParameters.multiEntry) {
8894
8863
  throw createDOMException('InvalidAccessError', 'The keyPath argument was an array and the multiEntry option is true.');
8895
8864
  }
8896
- optionalParameters = optionalParameters || {};
8865
+ optionalParameters || (optionalParameters = {});
8897
8866
  /** @type {import('./IDBIndex.js').IDBIndexProperties} */
8898
8867
  var indexProperties = {
8899
8868
  columnName: indexName,
@@ -8931,6 +8900,8 @@
8931
8900
  }
8932
8901
  IDBIndex.__deleteIndex(me, index);
8933
8902
  };
8903
+
8904
+ /* eslint-disable unicorn/no-top-level-side-effects -- Would be good */
8934
8905
  defineReadonlyOuterInterface(IDBObjectStore.prototype, readonlyProperties$1);
8935
8906
  defineOuterInterface(IDBObjectStore.prototype, ['name']);
8936
8907
  IDBObjectStore.prototype[Symbol.toStringTag] = 'IDBObjectStorePrototype';
@@ -9165,8 +9136,9 @@
9165
9136
 
9166
9137
  /**
9167
9138
  * IDB Database Object.
9168
- * @see http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#database-interface
9139
+ * @see https://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#database-interface
9169
9140
  * @class
9141
+ * @throws {TypeError}
9170
9142
  */
9171
9143
  function IDBDatabase() {
9172
9144
  this.__versionTransaction = null;
@@ -9303,14 +9275,14 @@
9303
9275
  IDBTransaction.__assertVersionChange(this.__versionTransaction); // this.__versionTransaction may not exist if called mistakenly by user in onsuccess
9304
9276
  this.throwIfUpgradeTransactionNull();
9305
9277
  IDBTransaction.__assertActive(this.__versionTransaction);
9306
- createOptions = _objectSpread2$1({}, createOptions);
9278
+ createOptions = _objectSpread2({}, createOptions);
9307
9279
  var _createOptions = createOptions,
9308
9280
  keyPath = _createOptions.keyPath;
9309
9281
  keyPath = keyPath === undefined ? null : convertToSequenceDOMString(keyPath);
9310
9282
  if (keyPath !== null && !isValidKeyPath(keyPath)) {
9311
9283
  throw createDOMException('SyntaxError', 'The keyPath argument contains an invalid key path.');
9312
9284
  }
9313
- if (this.__objectStores[storeName] && !this.__objectStores[storeName].__pendingDelete) {
9285
+ if (Object.hasOwn(this.__objectStores, storeName) && !this.__objectStores[storeName].__pendingDelete) {
9314
9286
  throw createDOMException('ConstraintError', 'Object store "' + storeName + '" already exists in ' + this.name);
9315
9287
  }
9316
9288
  var autoInc = createOptions.autoIncrement;
@@ -9388,7 +9360,8 @@
9388
9360
  ? _toConsumableArray(new Set(
9389
9361
  // to be unique
9390
9362
  convertToSequenceDOMString(storeNames) // iterables have `ToString` applied (and we convert to array for convenience)
9391
- )).sort() // must be sorted
9363
+ // eslint-disable-next-line unicorn/require-array-sort-compare -- IndexedDB requires code unit comparison (default behavior)
9364
+ )).toSorted() // must be sorted
9392
9365
  : [convertToDOMString(storeNames)];
9393
9366
 
9394
9367
  /* (function () {
@@ -9402,7 +9375,7 @@
9402
9375
  // prioritizing readonly but not starving readwrite).
9403
9376
  // Even for readonly transactions, due to [issue 17](https://github.com/nolanlawson/node-websql/issues/17),
9404
9377
  // we're not currently actually running the SQL requests in parallel.
9405
- mode = mode || 'readonly';
9378
+ mode || (mode = 'readonly');
9406
9379
  IDBTransaction.__assertNotVersionChange(this.__versionTransaction);
9407
9380
  if (this.__closePending) {
9408
9381
  throw createDOMException('InvalidStateError', 'An attempt was made to start a new transaction on a database connection that is not open');
@@ -9461,13 +9434,14 @@
9461
9434
  var evt = createEvent('close');
9462
9435
  setTimeout(function () {
9463
9436
  me.dispatchEvent(evt);
9464
- });
9437
+ }, 0);
9465
9438
  }
9466
9439
  };
9467
9440
  trans.__abortTransaction(createDOMException('AbortError', 'The connection was force-closed: ' + (msg || '')));
9468
9441
  });
9469
9442
  me.__transactions = [];
9470
9443
  };
9444
+ /* eslint-disable unicorn/no-top-level-side-effects -- Would be good */
9471
9445
  defineOuterInterface(IDBDatabase.prototype, listeners);
9472
9446
  defineReadonlyOuterInterface(IDBDatabase.prototype, readonlyProperties);
9473
9447
  Object.defineProperty(IDBDatabase.prototype, 'constructor', {
@@ -9497,6 +9471,7 @@
9497
9471
  * @returns {void}
9498
9472
  */
9499
9473
  var setFS = function setFS(_fs) {
9474
+ // eslint-disable-next-line unicorn/no-top-level-assignment-in-function -- Necessary?
9500
9475
  fs = _fs;
9501
9476
  };
9502
9477
 
@@ -9504,8 +9479,7 @@
9504
9479
  * @returns {string}
9505
9480
  */
9506
9481
  var getOrigin = function getOrigin() {
9507
- // eslint-disable-next-line no-undef -- If browser/polyfilled
9508
- return (typeof location === "undefined" ? "undefined" : _typeof$2(location)) !== 'object' || !location ? 'null' : location.origin;
9482
+ return (typeof location === "undefined" ? "undefined" : _typeof$1(location)) !== 'object' || !location ? 'null' : location.origin;
9509
9483
  };
9510
9484
  var hasNullOrigin = function hasNullOrigin() {
9511
9485
  return CFG.checkOrigin !== false && getOrigin() === 'null';
@@ -9568,7 +9542,7 @@
9568
9542
  var origin = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : getOrigin();
9569
9543
  var cb = arguments.length > 3 ? arguments[3] : undefined;
9570
9544
  /* eslint-enable default-param-last -- Keep cb at end */
9571
- if (!connectionQueue[origin][name]) {
9545
+ if (!Object.hasOwn(connectionQueue[origin], name)) {
9572
9546
  connectionQueue[origin][name] = [];
9573
9547
  }
9574
9548
  connectionQueue[origin][name].push({
@@ -9623,7 +9597,7 @@
9623
9597
  setTimeout(function () {
9624
9598
  entry.dispatchEvent(e); // No need to catch errors
9625
9599
  resolve(undefined);
9626
- });
9600
+ }, 0);
9627
9601
  });
9628
9602
  });
9629
9603
  }, SyncPromise.resolve(undefined)).then(function () {
@@ -9654,7 +9628,7 @@
9654
9628
  } else {
9655
9629
  resolve(undefined);
9656
9630
  }
9657
- });
9631
+ }, 0);
9658
9632
  });
9659
9633
  });
9660
9634
  }
@@ -9711,7 +9685,7 @@
9711
9685
  function cleanupDatabaseResources(__openDatabase, name, escapedDatabaseName, databaseDeleted, dbError) {
9712
9686
  var useMemoryDatabase = typeof CFG.memoryDatabase === 'string';
9713
9687
  if (useMemoryDatabase) {
9714
- var latestSQLiteDBCached = websqlDBCache[name] ? getLatestCachedWebSQLDB(name) : null;
9688
+ var latestSQLiteDBCached = Object.hasOwn(websqlDBCache, name) ? getLatestCachedWebSQLDB(name) : null;
9715
9689
  if (!latestSQLiteDBCached) {
9716
9690
  console.warn('Could not find a memory database instance to delete.');
9717
9691
  databaseDeleted();
@@ -9809,6 +9783,7 @@
9809
9783
  if (sysdb) {
9810
9784
  success();
9811
9785
  } else {
9786
+ // eslint-disable-next-line unicorn/no-top-level-assignment-in-function -- Necessary?
9812
9787
  sysdb = __openDatabase(typeof CFG.memoryDatabase === 'string' ? CFG.memoryDatabase : path.join(typeof CFG.sysDatabaseBasePath === 'string' ? CFG.sysDatabaseBasePath : CFG.databaseBasePath || '', '__sysdb__' + (CFG.addSQLiteExtension !== false ? '.sqlite' : '')), '1', 'System Database', CFG.DEFAULT_DB_SIZE);
9813
9788
  sysdb.transaction(function (systx) {
9814
9789
  systx.executeSql('CREATE TABLE IF NOT EXISTS dbVersions (name BLOB, version INT);', [], function (systx) {
@@ -9825,6 +9800,7 @@
9825
9800
  /**
9826
9801
  * IDBFactory Class.
9827
9802
  * @see https://w3c.github.io/IndexedDB/#idl-def-IDBFactory
9803
+ * @throws {TypeError}
9828
9804
  * @class
9829
9805
  */
9830
9806
  function IDBFactory() {
@@ -9893,6 +9869,7 @@
9893
9869
  var req = IDBOpenDBRequest.__createInstance();
9894
9870
  var calledDbCreateError = false;
9895
9871
  if (CFG.autoName && name === '') {
9872
+ // eslint-disable-next-line unicorn/no-top-level-assignment-in-function -- Necessary?
9896
9873
  name = 'autoNamedDatabase_' + nameCounter++;
9897
9874
  }
9898
9875
  name = String(name); // cast to a string
@@ -9951,7 +9928,7 @@
9951
9928
  req.__done = true;
9952
9929
  }
9953
9930
  var connection = IDBDatabase.__createInstance(db, name, oldVersion, version, data);
9954
- if (!me.__connections[name]) {
9931
+ if (!Object.hasOwn(me.__connections, name)) {
9955
9932
  me.__connections[name] = [];
9956
9933
  }
9957
9934
  me.__connections[name].push(connection);
@@ -10046,7 +10023,7 @@
10046
10023
  connection.__upgradeTransaction = null;
10047
10024
  // We ensure any cache is deleted before any request error events fire and try to reopen
10048
10025
  if (useDatabaseCache) {
10049
- if (name in websqlDBCache) {
10026
+ if (Object.hasOwn(websqlDBCache, name)) {
10050
10027
  delete websqlDBCache[name][version];
10051
10028
  }
10052
10029
  }
@@ -10071,7 +10048,7 @@
10071
10048
  dbCreateError(err);
10072
10049
  return false;
10073
10050
  });
10074
- });
10051
+ }, 0);
10075
10052
  };
10076
10053
 
10077
10054
  // eslint-disable-next-line camelcase -- Clear API
@@ -10124,7 +10101,7 @@
10124
10101
  return false;
10125
10102
  });
10126
10103
  return undefined;
10127
- })["catch"](function (err) {
10104
+ }).catch(function (err) {
10128
10105
  console.log('Error within `triggerAnyVersionChangeAndBlockedEvents`');
10129
10106
  throw err;
10130
10107
  });
@@ -10144,12 +10121,12 @@
10144
10121
  function openDB(oldVersion) {
10145
10122
  /** @type {DatabaseFull} */
10146
10123
  var db;
10147
- if ((useMemoryDatabase || useDatabaseCache) && name in websqlDBCache && websqlDBCache[name][version]) {
10124
+ if ((useMemoryDatabase || useDatabaseCache) && Object.hasOwn(websqlDBCache, name) && Object.hasOwn(websqlDBCache[name], version)) {
10148
10125
  db = websqlDBCache[name][version];
10149
10126
  } else {
10150
10127
  db = me.__openDatabase(useMemoryDatabase ? CFG.memoryDatabase : path.join(CFG.databaseBasePath || '', escapedDatabaseName), '1', name, CFG.DEFAULT_DB_SIZE);
10151
10128
  if (useDatabaseCache) {
10152
- if (!(name in websqlDBCache)) {
10129
+ if (!Object.hasOwn(websqlDBCache, name)) {
10153
10130
  websqlDBCache[name] = {};
10154
10131
  }
10155
10132
  websqlDBCache[name][version] = db;
@@ -10163,7 +10140,7 @@
10163
10140
  if (useDatabaseCache) {
10164
10141
  setTimeout(function () {
10165
10142
  dbCreateError(err);
10166
- });
10143
+ }, 0);
10167
10144
  } else {
10168
10145
  dbCreateError(err);
10169
10146
  }
@@ -10188,7 +10165,7 @@
10188
10165
  addRequestToConnectionQueue(req, name, /* origin */undefined, function () {
10189
10166
  var latestCachedVersion;
10190
10167
  if (useDatabaseCache) {
10191
- if (!(name in websqlDBCache)) {
10168
+ if (!Object.hasOwn(websqlDBCache, name)) {
10192
10169
  websqlDBCache[name] = {};
10193
10170
  }
10194
10171
  latestCachedVersion = getLatestCachedWebSQLVersion(name);
@@ -10308,7 +10285,7 @@
10308
10285
  /** @type {DatabaseDeleted} */
10309
10286
  function databaseDeleted() {
10310
10287
  sysdbFinishedCbDelete(false, function () {
10311
- if (useDatabaseCache && name in websqlDBCache) {
10288
+ if (useDatabaseCache && Object.hasOwn(websqlDBCache, name)) {
10312
10289
  delete websqlDBCache[name]; // New calls will treat as though never existed
10313
10290
  }
10314
10291
  delete me.__connections[name];
@@ -10443,7 +10420,7 @@
10443
10420
  * @todo forceClose: Test
10444
10421
  * This is provided to facilitate unit-testing of the
10445
10422
  * closing of a database connection with a forced flag:
10446
- * <http://w3c.github.io/IndexedDB/#steps-for-closing-a-database-connection>
10423
+ * <https://w3c.github.io/IndexedDB/#steps-for-closing-a-database-connection>
10447
10424
  * @param {string} dbName
10448
10425
  * @param {Integer} connIdx
10449
10426
  * @param {string} msg
@@ -10467,12 +10444,13 @@
10467
10444
  forceClose(connection);
10468
10445
  });
10469
10446
  });
10470
- } else if (!me.__connections[dbName]) {
10447
+ } else if (!Object.hasOwn(me.__connections, dbName)) {
10471
10448
  console.log('No database connections with that name to force close');
10472
10449
  } else if (isNullish(connIdx)) {
10473
10450
  me.__connections[dbName].forEach(function (conn) {
10474
10451
  forceClose(conn);
10475
10452
  });
10453
+ // eslint-disable-next-line unicorn/prefer-number-is-safe-integer -- Ok
10476
10454
  } else if (!Number.isInteger(connIdx) || connIdx < 0 || connIdx > me.__connections[dbName].length - 1) {
10477
10455
  throw new TypeError('If providing an argument, __forceClose must be called with a ' + 'numeric index to indicate a specific connection to close');
10478
10456
  } else {
@@ -10490,9 +10468,13 @@
10490
10468
  connectionQueue[origin] = {};
10491
10469
  };
10492
10470
  IDBFactory.prototype[Symbol.toStringTag] = 'IDBFactoryPrototype';
10471
+
10472
+ /* eslint-disable unicorn/no-top-level-side-effects -- Would be good */
10493
10473
  Object.defineProperty(IDBFactory, 'prototype', {
10494
10474
  writable: false
10495
10475
  });
10476
+ /* eslint-enable unicorn/no-top-level-side-effects -- Would be good */
10477
+
10496
10478
  var shimIndexedDB = IDBFactory.__createInstance();
10497
10479
 
10498
10480
  /**
@@ -10543,6 +10525,7 @@
10543
10525
 
10544
10526
  /**
10545
10527
  * @class
10528
+ * @throws {TypeError}
10546
10529
  */
10547
10530
  function IDBCursor() {
10548
10531
  throw new TypeError('Illegal constructor');
@@ -10552,7 +10535,7 @@
10552
10535
  /* eslint-disable func-name-matching -- API */
10553
10536
  /**
10554
10537
  * The IndexedDB Cursor Object.
10555
- * @see http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#idl-def-IDBCursor
10538
+ * @see https://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#idl-def-IDBCursor
10556
10539
  * @param {IDBKeyRange} query
10557
10540
  * @param {string} direction
10558
10541
  * @param {import('./IDBObjectStore.js').IDBObjectStoreFull} store
@@ -10612,7 +10595,7 @@
10612
10595
  range.__upperCached = range.upper !== undefined && _encode(range.upper, this.__multiEntryIndex);
10613
10596
  }
10614
10597
  this.__gotValue = true;
10615
- this["continue"]();
10598
+ this.continue();
10616
10599
  };
10617
10600
 
10618
10601
  /**
@@ -10641,21 +10624,16 @@
10641
10624
  for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
10642
10625
  args[_key2] = arguments[_key2];
10643
10626
  }
10627
+ var key = args[0],
10628
+ primaryKey = args[1],
10629
+ tx = args[2],
10630
+ success = args[3],
10631
+ error = args[4],
10632
+ recordsToLoad = args[5];
10644
10633
  if (this.__multiEntryIndex) {
10645
- var key = args[0],
10646
- primaryKey = args[1],
10647
- tx = args[2],
10648
- success = args[3],
10649
- error = args[4];
10650
- this.__findMultiEntry(key, primaryKey, tx, success, error);
10634
+ this.__findMultiEntry(key, primaryKey, tx, success, error, recordsToLoad);
10651
10635
  } else {
10652
- var _key3 = args[0],
10653
- _primaryKey = args[1],
10654
- _tx = args[2],
10655
- _success = args[3],
10656
- _error = args[4],
10657
- recordsToLoad = args[5];
10658
- this.__findBasic(_key3, _primaryKey, _tx, _success, _error, recordsToLoad);
10636
+ this.__findBasic(key, primaryKey, tx, success, error, recordsToLoad);
10659
10637
  }
10660
10638
  };
10661
10639
 
@@ -10684,7 +10662,7 @@
10684
10662
  */
10685
10663
  IDBCursor.prototype.__findBasic = function (key, primaryKey, tx, success, error, recordsToLoad) {
10686
10664
  var continueCall = recordsToLoad !== undefined;
10687
- recordsToLoad = recordsToLoad || 1;
10665
+ recordsToLoad || (recordsToLoad = 1);
10688
10666
  var me = this;
10689
10667
  var quotedKeyColumnName = sqlQuote(me.__keyColumnName);
10690
10668
  var quotedKey = sqlQuote('key');
@@ -10771,10 +10749,11 @@
10771
10749
  * @param {SQLTransaction} tx
10772
10750
  * @param {KeySuccess} success
10773
10751
  * @param {FindError} error
10752
+ * @param {Integer|undefined} recordsToLoad
10774
10753
  * @this {IDBCursorFull}
10775
10754
  * @returns {void}
10776
10755
  */
10777
- IDBCursor.prototype.__findMultiEntry = function (key, primaryKey, tx, success, error) {
10756
+ IDBCursor.prototype.__findMultiEntry = function (key, primaryKey, tx, success, error, recordsToLoad) {
10778
10757
  var me = this;
10779
10758
  if (me.__prefetchedData && me.__prefetchedData.length === me.__prefetchedIndex) {
10780
10759
  if (CFG.DEBUG) {
@@ -10829,6 +10808,7 @@
10829
10808
  // 4. Sort by object store position (if defined and not unique)
10830
10809
  sql.push(',', sqlQuote(me.__valueColumnName), direction);
10831
10810
  }
10811
+ sql.push('LIMIT', String(recordsToLoad));
10832
10812
  }
10833
10813
  var sqlStr = sql.join(' ');
10834
10814
  if (CFG.DEBUG) {
@@ -10861,13 +10841,11 @@
10861
10841
  /**
10862
10842
  * @type {RowItemNonNull}
10863
10843
  */
10864
- var clone = {
10844
+ var clone = _defineProperty(_defineProperty({
10865
10845
  matchingKey: (/** @type {string} */
10866
10846
  _encode(matchingKey, true)),
10867
10847
  key: _rowItem.key
10868
- };
10869
- clone[me.__keyColumnName] = _rowItem[me.__keyColumnName];
10870
- clone[me.__valueColumnName] = _rowItem[me.__valueColumnName];
10848
+ }, me.__keyColumnName, _rowItem[me.__keyColumnName]), me.__valueColumnName, _rowItem[me.__valueColumnName]);
10871
10849
  rows.push(clone);
10872
10850
  }
10873
10851
  } catch (err) {
@@ -11008,7 +10986,7 @@
11008
10986
  if (!me.__matchedKeys) {
11009
10987
  me.__matchedKeys = {};
11010
10988
  }
11011
- if (me.__matchedKeys[rowItem.matchingKey]) {
10989
+ if (me.__matchedKeys[rowItem.matchingKey] === true) {
11012
10990
  callback(undefined, undefined, undefined);
11013
10991
  return;
11014
10992
  }
@@ -11118,9 +11096,11 @@
11118
11096
  triggerSuccess(k, val, primKey);
11119
11097
  return;
11120
11098
  }
11099
+ // @ts-expect-error Todo: Our bug to fix
11121
11100
  cursorContinue(tx, args, success, error);
11122
11101
  }
11123
11102
  if (me.__unique && !me.__multiEntryIndex && encKey === _encode(me.key, me.__multiEntryIndex)) {
11103
+ // @ts-expect-error Todo: Our bug to fix
11124
11104
  cursorContinue(tx, args, success, error);
11125
11105
  return;
11126
11106
  }
@@ -11134,8 +11114,8 @@
11134
11114
  me.__find(key, primaryKey, tx, triggerSuccess, /** @type {FindError} */
11135
11115
  function () {
11136
11116
  me.__advanceCount = undefined;
11137
- for (var _len3 = arguments.length, args = new Array(_len3), _key4 = 0; _key4 < _len3; _key4++) {
11138
- args[_key4] = arguments[_key4];
11117
+ for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
11118
+ args[_key3] = arguments[_key3];
11139
11119
  }
11140
11120
  var t = args[0],
11141
11121
  err = args[1];
@@ -11148,7 +11128,7 @@
11148
11128
  * @this {IDBCursorFull}
11149
11129
  * @returns {void}
11150
11130
  */
11151
- IDBCursor.prototype["continue"] = function /* key */
11131
+ IDBCursor.prototype.continue = function /* key */
11152
11132
  () {
11153
11133
  // eslint-disable-next-line prefer-rest-params -- API
11154
11134
  this.__continue(arguments[0]);
@@ -11258,12 +11238,13 @@
11258
11238
  }
11259
11239
  if (me.__store.keyPath !== null) {
11260
11240
  var _me$__store$__validat = me.__store.__validateKeyAndValueAndCloneValue(valueToUpdate, undefined, true),
11261
- _me$__store$__validat2 = _slicedToArray$1(_me$__store$__validat, 2),
11241
+ _me$__store$__validat2 = _slicedToArray(_me$__store$__validat, 2),
11262
11242
  evaluatedKey = _me$__store$__validat2[0],
11263
11243
  clonedValue = _me$__store$__validat2[1];
11264
11244
  if (cmp(me.primaryKey, evaluatedKey) !== 0) {
11265
11245
  throw createDOMException('DataError', 'The key of the supplied value to `update` is not equal to the cursor\'s effective key');
11266
11246
  }
11247
+ // eslint-disable-next-line unicorn/prefer-hoisting-branch-code -- Different
11267
11248
  addToQueue(clonedValue);
11268
11249
  } else {
11269
11250
  var _clonedValue = clone(valueToUpdate);
@@ -11276,7 +11257,7 @@
11276
11257
  * @this {IDBCursorFull}
11277
11258
  * @returns {IDBRequest}
11278
11259
  */
11279
- IDBCursor.prototype["delete"] = function () {
11260
+ IDBCursor.prototype.delete = function () {
11280
11261
  var me = this;
11281
11262
  IDBTransaction.__assertActive(me.__store.transaction);
11282
11263
  /** @type {import('./IDBTransaction.js').IDBTransactionFull} */
@@ -11313,18 +11294,23 @@
11313
11294
  }, undefined, me);
11314
11295
  };
11315
11296
  IDBCursor.prototype[Symbol.toStringTag] = 'IDBCursorPrototype';
11297
+
11298
+ /* eslint-disable unicorn/no-top-level-side-effects -- Would be good */
11316
11299
  defineReadonlyOuterInterface(IDBCursor.prototype, ['source', 'direction', 'key', 'primaryKey', 'request']);
11317
11300
  Object.defineProperty(IDBCursor, 'prototype', {
11318
11301
  writable: false
11319
11302
  });
11303
+ /* eslint-enable unicorn/no-top-level-side-effects -- Would be good */
11320
11304
 
11321
11305
  /**
11322
11306
  * @class
11307
+ * @throws {TypeError}
11323
11308
  */
11324
11309
  function IDBCursorWithValue() {
11325
11310
  throw new TypeError('Illegal constructor');
11326
11311
  }
11327
11312
 
11313
+ /* eslint-disable unicorn/no-top-level-side-effects -- Would be good */
11328
11314
  // @ts-expect-error It's ok
11329
11315
  IDBCursorWithValue.prototype = Object.create(IDBCursor.prototype);
11330
11316
  Object.defineProperty(IDBCursorWithValue.prototype, 'constructor', {
@@ -11333,6 +11319,8 @@
11333
11319
  configurable: true,
11334
11320
  value: IDBCursorWithValue
11335
11321
  });
11322
+ /* eslint-enable unicorn/no-top-level-side-effects -- Would be good */
11323
+
11336
11324
  var IDBCursorWithValueAlias = IDBCursorWithValue;
11337
11325
  /**
11338
11326
  *
@@ -11340,8 +11328,8 @@
11340
11328
  * @returns {IDBCursorWithValueFull}
11341
11329
  */
11342
11330
  IDBCursorWithValue.__createInstance = function () {
11343
- for (var _len4 = arguments.length, args = new Array(_len4), _key5 = 0; _key5 < _len4; _key5++) {
11344
- args[_key5] = arguments[_key5];
11331
+ for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
11332
+ args[_key4] = arguments[_key4];
11345
11333
  }
11346
11334
  /**
11347
11335
  * @class
@@ -11365,6 +11353,8 @@
11365
11353
  // @ts-expect-error It's ok
11366
11354
  return new IDBCursorWithValue();
11367
11355
  };
11356
+
11357
+ /* eslint-disable unicorn/no-top-level-side-effects -- Would be good */
11368
11358
  defineReadonlyOuterInterface(IDBCursorWithValue.prototype, ['value']);
11369
11359
  IDBCursorWithValue.prototype[Symbol.toStringTag] = 'IDBCursorWithValuePrototype';
11370
11360
  Object.defineProperty(IDBCursorWithValue, 'prototype', {
@@ -11386,9 +11376,9 @@
11386
11376
 
11387
11377
  /** @type {SetConfig} */
11388
11378
  function setConfig(prop, val) {
11389
- if (prop && _typeof$2(prop) === 'object') {
11379
+ if (prop && _typeof$1(prop) === 'object') {
11390
11380
  Object.entries(prop).forEach(function (_ref) {
11391
- var _ref2 = _slicedToArray$1(_ref, 2),
11381
+ var _ref2 = _slicedToArray(_ref, 2),
11392
11382
  p = _ref2[0],
11393
11383
  val = _ref2[1];
11394
11384
  setConfig(/** @type {import('./CFG.js').KeyofConfigValues} */
@@ -11396,7 +11386,7 @@
11396
11386
  });
11397
11387
  return;
11398
11388
  }
11399
- if (!(prop in CFG)) {
11389
+ if (!Object.hasOwn(CFG, prop)) {
11400
11390
  throw new Error(prop + ' is not a valid configuration property');
11401
11391
  }
11402
11392
  // @ts-expect-error Should not be `never` here!
@@ -11583,7 +11573,7 @@
11583
11573
  });
11584
11574
  /** @type {[string, any][]} */
11585
11575
  [['IDBFactory', shimIDBFactory], ['IDBDatabase', IDBDatabase], ['IDBObjectStore', IDBObjectStore], ['IDBIndex', IDBIndex], ['IDBTransaction', IDBTransaction], ['IDBCursor', IDBCursor], ['IDBCursorWithValue', IDBCursorWithValue], ['IDBKeyRange', IDBKeyRange], ['IDBRequest', IDBRequest], ['IDBOpenDBRequest', IDBOpenDBRequest], ['IDBVersionChangeEvent', IDBVersionChangeEvent]].forEach(function (_ref3) {
11586
- var _ref4 = _slicedToArray$1(_ref3, 2),
11576
+ var _ref4 = _slicedToArray(_ref3, 2),
11587
11577
  prop = _ref4[0],
11588
11578
  obj = _ref4[1];
11589
11579
  shim(prop, obj, {
@@ -11596,7 +11586,7 @@
11596
11586
  setFS(CFG.fs);
11597
11587
  }
11598
11588
  if (CFG.fullIDLSupport) {
11599
- // Slow per MDN so off by default! Though apparently needed for WebIDL: http://stackoverflow.com/questions/41927589/rationales-consequences-of-webidl-class-inheritance-requirements
11589
+ // Slow per MDN so off by default! Though apparently needed for WebIDL: https://stackoverflow.com/questions/41927589/rationales-consequences-of-webidl-class-inheritance-requirements
11600
11590
 
11601
11591
  Object.setPrototypeOf(IDB.IDBOpenDBRequest, IDB.IDBRequest);
11602
11592
  Object.setPrototypeOf(IDB.IDBCursorWithValue, IDB.IDBCursor);
@@ -11633,7 +11623,7 @@
11633
11623
 
11634
11624
  /** @type {GetConfig} */
11635
11625
  IDB.shimIndexedDB.__getConfig = function (prop) {
11636
- if (!(prop in CFG)) {
11626
+ if (!Object.hasOwn(CFG, prop)) {
11637
11627
  throw new Error(prop + ' is not a valid configuration property');
11638
11628
  }
11639
11629
  return CFG[prop];
@@ -11664,12 +11654,12 @@
11664
11654
  // Workaround to prevent an error in Firefox
11665
11655
  if (!('indexedDB' in IDB) && typeof window !== 'undefined') {
11666
11656
  // 2nd condition avoids problems in Node
11667
- IDB.indexedDB = /** @type {IDBFactory} */IDB.indexedDB || 'webkitIndexedDB' in IDB && IDB.webkitIndexedDB || 'mozIndexedDB' in IDB && IDB.mozIndexedDB || 'oIndexedDB' in IDB && IDB.oIndexedDB || 'msIndexedDB' in IDB && IDB.msIndexedDB;
11657
+ IDB.indexedDB || (IDB.indexedDB = /** @type {IDBFactory} */
11658
+ 'webkitIndexedDB' in IDB && IDB.webkitIndexedDB || 'mozIndexedDB' in IDB && IDB.mozIndexedDB || 'oIndexedDB' in IDB && IDB.oIndexedDB || 'msIndexedDB' in IDB && IDB.msIndexedDB);
11668
11659
  }
11669
11660
 
11670
11661
  // Detect browsers with known IndexedDB issues (e.g. Android pre-4.4)
11671
- var poorIndexedDbSupport = false;
11672
- if (typeof navigator !== 'undefined' &&
11662
+ var poorIndexedDbSupport = typeof navigator !== 'undefined' &&
11673
11663
  // Not apparently defined in React Native
11674
11664
  navigator.userAgent && (
11675
11665
  // Ignore Node or other environments
@@ -11677,15 +11667,11 @@
11677
11667
  /Android (?:2|3|4\.[0-3])/.test(navigator.userAgent) && !navigator.userAgent.includes('Chrome') ||
11678
11668
  // Bad non-Safari iOS9 support (see <https://github.com/axemclion/IndexedDBShim/issues/252>)
11679
11669
  (!navigator.userAgent.includes('Safari') || navigator.userAgent.includes('Chrome')) &&
11680
- // Exclude genuine Safari: http://stackoverflow.com/a/7768006/271577
11681
- // Detect iOS: http://stackoverflow.com/questions/9038625/detect-if-device-is-ios/9039885#9039885
11682
- // and detect version 9: http://stackoverflow.com/a/26363560/271577
11683
- /(iPad|iPhone|iPod)(?:[\0-\t\x0B\f\x0E-\u2027\u202A-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])* o[s\u017F] 9_/i.test(navigator.userAgent) && typeof window !== 'undefined' &&
11684
- // eslint-disable-next-line no-undef -- Extra check
11685
- !('MSStream' in window) // But avoid IE11
11686
- )) {
11687
- poorIndexedDbSupport = true;
11688
- }
11670
+ // Exclude genuine Safari: https://stackoverflow.com/a/7768006/271577
11671
+ // Detect iOS: https://stackoverflow.com/questions/9038625/detect-if-device-is-ios/9039885#9039885
11672
+ // and detect version 9: https://stackoverflow.com/a/26363560/271577
11673
+ /(iPad|iPhone|iPod)(?:[\0-\t\x0B\f\x0E-\u2027\u202A-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])* o[s\u017F] 9_/i.test(navigator.userAgent) && typeof window !== 'undefined' && !('MSStream' in window) // But avoid IE11
11674
+ );
11689
11675
  if (!CFG.DEFAULT_DB_SIZE) {
11690
11676
  CFG.DEFAULT_DB_SIZE = (
11691
11677
  // Safari currently requires larger size: (We don't need a larger size for Node as node-websql doesn't use this info)
@@ -11698,15 +11684,16 @@
11698
11684
  if (!CFG.avoidAutoShim && (!IDB.indexedDB || poorIndexedDbSupport) && CFG.win.openDatabase !== undefined) {
11699
11685
  IDB.shimIndexedDB.__useShim();
11700
11686
  } else {
11687
+ /* eslint-disable unicorn/logical-assignment-operators -- TS */
11701
11688
  IDB.IDBDatabase = IDB.IDBDatabase || 'webkitIDBDatabase' in IDB && IDB.webkitIDBDatabase;
11702
11689
  IDB.IDBTransaction = IDB.IDBTransaction || 'webkitIDBTransaction' in IDB && IDB.webkitIDBTransaction || {};
11703
11690
  IDB.IDBCursor = IDB.IDBCursor || 'webkitIDBCursor' in IDB && IDB.webkitIDBCursor;
11704
11691
  IDB.IDBKeyRange = IDB.IDBKeyRange || 'webkitIDBKeyRange' in IDB && IDB.webkitIDBKeyRange;
11692
+ /* eslint-enable unicorn/logical-assignment-operators -- TS */
11705
11693
  }
11706
11694
  return /** @type {ShimmedObject} */IDB;
11707
11695
  }
11708
11696
 
11709
- /* eslint-env browser, worker */
11710
11697
  CFG.win = typeof window !== 'undefined' ? window : self; // For Web Workers
11711
11698
  setGlobalVars();
11712
11699