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,23 +285,21 @@
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 _taggedTemplateLiteral(e, t) {
304
305
  return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, {
@@ -308,7 +309,7 @@
308
309
  }));
309
310
  }
310
311
  function _toConsumableArray(r) {
311
- return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray$1(r) || _nonIterableSpread();
312
+ return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread();
312
313
  }
313
314
  function _toPrimitive(t, r) {
314
315
  if ("object" != typeof t || !t) return t;
@@ -320,24 +321,24 @@
320
321
  }
321
322
  return ("string" === r ? String : Number)(t);
322
323
  }
323
- function _toPropertyKey$1(t) {
324
+ function _toPropertyKey(t) {
324
325
  var i = _toPrimitive(t, "string");
325
326
  return "symbol" == typeof i ? i : i + "";
326
327
  }
327
- function _typeof$2(o) {
328
+ function _typeof$1(o) {
328
329
  "@babel/helpers - typeof";
329
330
 
330
- return _typeof$2 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
331
+ return _typeof$1 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
331
332
  return typeof o;
332
333
  } : function (o) {
333
334
  return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
334
- }, _typeof$2(o);
335
+ }, _typeof$1(o);
335
336
  }
336
- function _unsupportedIterableToArray$1(r, a) {
337
+ function _unsupportedIterableToArray(r, a) {
337
338
  if (r) {
338
- if ("string" == typeof r) return _arrayLikeToArray$1(r, a);
339
+ if ("string" == typeof r) return _arrayLikeToArray(r, a);
339
340
  var t = {}.toString.call(r).slice(8, -1);
340
- 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;
341
+ 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;
341
342
  }
342
343
  }
343
344
 
@@ -354,14 +355,14 @@
354
355
  UnicodeIDStart: UnicodeIDStart
355
356
  });
356
357
 
357
- function _typeof$1(obj) {
358
+ function _typeof(obj) {
358
359
  "@babel/helpers - typeof";
359
360
 
360
- return _typeof$1 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
361
+ return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
361
362
  return typeof obj;
362
363
  } : function (obj) {
363
364
  return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
364
- }, _typeof$1(obj);
365
+ }, _typeof(obj);
365
366
  }
366
367
 
367
368
  /* eslint-disable n/no-sync -- Want sync naming */
@@ -1189,7 +1190,7 @@
1189
1190
  }
1190
1191
  var triggerGlobalErrorEvent;
1191
1192
  var useNodeImpl = false;
1192
- if (typeof window === 'undefined' || typeof ErrorEvent === 'undefined' || window && (typeof window === "undefined" ? "undefined" : _typeof$1(window)) === 'object' && !window.dispatchEvent) {
1193
+ if (typeof window === 'undefined' || typeof ErrorEvent === 'undefined' || window && (typeof window === "undefined" ? "undefined" : _typeof(window)) === 'object' && !window.dispatchEvent) {
1193
1194
  useNodeImpl = true;
1194
1195
  triggerGlobalErrorEvent = function triggerGlobalErrorEvent() {
1195
1196
  setTimeout(function () {
@@ -1282,12 +1283,10 @@
1282
1283
  Object.setPrototypeOf(ShimCustomEvent.prototype, ShimEvent.prototype);
1283
1284
  }
1284
1285
 
1285
- /* eslint-disable jsdoc/valid-types -- https://github.com/jsdoc-type-pratt-parser/jsdoc-type-pratt-parser/issues/147 */
1286
1286
  /**
1287
1287
  * @typedef {T[keyof T]} ValueOf<T>
1288
1288
  * @template T
1289
1289
  */
1290
- /* eslint-enable jsdoc/valid-types -- https://github.com/jsdoc-type-pratt-parser/jsdoc-type-pratt-parser/issues/147 */
1291
1290
 
1292
1291
  /**
1293
1292
  * @typedef {{unlink: (path: string, cb: import('fs').NoParamCallback) => void}} FSApi
@@ -1349,6 +1348,7 @@
1349
1348
  */
1350
1349
 
1351
1350
  /** @type {Config} */
1351
+ // eslint-disable-next-line unicorn/no-top-level-side-effects -- Would be good
1352
1352
  [
1353
1353
  // Boolean for verbose reporting
1354
1354
  'DEBUG',
@@ -1366,7 +1366,7 @@
1366
1366
  // calls required for full WebIDL compliance will be used. Probably
1367
1367
  // only needed for testing or environments where full introspection
1368
1368
  // on class relationships is required; see
1369
- // http://stackoverflow.com/questions/41927589/rationales-consequences-of-webidl-class-inheritance-requirements
1369
+ // https://stackoverflow.com/questions/41927589/rationales-consequences-of-webidl-class-inheritance-requirements
1370
1370
  'fullIDLSupport',
1371
1371
  // Effectively defaults to false (ignored unless `true`)
1372
1372
 
@@ -1487,7 +1487,7 @@
1487
1487
  var validator;
1488
1488
  if (Array.isArray(prop)) {
1489
1489
  var _prop = prop;
1490
- var _prop2 = _slicedToArray$1(_prop, 2);
1490
+ var _prop2 = _slicedToArray(_prop, 2);
1491
1491
  prop = _prop2[0];
1492
1492
  validator = _prop2[1];
1493
1493
  }
@@ -1514,7 +1514,7 @@
1514
1514
  function requireRegex() {
1515
1515
  if (hasRequiredRegex) return regex$1;
1516
1516
  hasRequiredRegex = 1;
1517
- 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]/;
1517
+ 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]/;
1518
1518
  return regex$1;
1519
1519
  }
1520
1520
  var regexExports = requireRegex();
@@ -1529,9 +1529,9 @@
1529
1529
  * @returns {string}
1530
1530
  */
1531
1531
  function escapeUnmatchedSurrogates(arg) {
1532
- // http://stackoverflow.com/a/6701665/271577
1532
+ // https://stackoverflow.com/a/6701665/271577
1533
1533
  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) {
1534
- // Could add a corresponding surrogate for compatibility with `node-sqlite3`: http://bugs.python.org/issue12569 and http://stackoverflow.com/a/6701665/271577
1534
+ // Could add a corresponding surrogate for compatibility with `node-sqlite3`: https://bugs.python.org/issue12569 and https://stackoverflow.com/a/6701665/271577
1535
1535
  // but Chrome having problems
1536
1536
  if (unmatchedHighSurrogate) {
1537
1537
  return '^2' + unmatchedHighSurrogate.codePointAt().toString(16).padStart(4, '0');
@@ -1545,14 +1545,14 @@
1545
1545
  * @returns {string}
1546
1546
  */
1547
1547
  function escapeNameForSQLiteIdentifier(arg) {
1548
- // http://stackoverflow.com/a/6701665/271577
1548
+ // https://stackoverflow.com/a/6701665/271577
1549
1549
  return '_' +
1550
1550
  // Prevent empty string
1551
1551
  escapeUnmatchedSurrogates(arg.replaceAll('^', '^^') // Escape our escape
1552
- // http://www.sqlite.org/src/tktview?name=57c971fc74
1552
+ // https://www.sqlite.org/src/tktview?name=57c971fc74
1553
1553
  .replaceAll('\0', '^0')
1554
1554
  // We need to avoid identifiers being treated as duplicates based on SQLite's ASCII-only case-insensitive table and column names
1555
- // (For SQL in general, however, see http://stackoverflow.com/a/17215009/271577
1555
+ // (For SQL in general, however, see https://stackoverflow.com/a/17215009/271577
1556
1556
  // See also https://www.sqlite.org/faq.html#q18 re: Unicode (non-ASCII) case-insensitive not working
1557
1557
  .replaceAll(/([A-Z])/g, '^$1'));
1558
1558
  }
@@ -1582,7 +1582,7 @@
1582
1582
  */
1583
1583
  function sqlEscape(arg) {
1584
1584
  // https://www.sqlite.org/lang_keywords.html
1585
- // http://stackoverflow.com/a/6701665/271577
1585
+ // https://stackoverflow.com/a/6701665/271577
1586
1586
  // There is no need to escape ', `, or [], as
1587
1587
  // we should always be within double quotes
1588
1588
  // NUL should have already been stripped
@@ -1698,7 +1698,7 @@
1698
1698
  * @returns {obj is object}
1699
1699
  */
1700
1700
  function isObj(obj) {
1701
- return obj !== null && _typeof$2(obj) === 'object';
1701
+ return obj !== null && _typeof$1(obj) === 'object';
1702
1702
  }
1703
1703
 
1704
1704
  /**
@@ -1746,7 +1746,9 @@
1746
1746
  * @returns {boolean}
1747
1747
  */
1748
1748
  function isIterable(obj) {
1749
- return isObj(obj) && Symbol.iterator in obj && typeof obj[Symbol.iterator] === 'function';
1749
+ return isObj(obj) &&
1750
+ // eslint-disable-next-line unicorn/no-computed-property-existence-check -- May not be "own"
1751
+ Symbol.iterator in obj && typeof obj[Symbol.iterator] === 'function';
1750
1752
  }
1751
1753
 
1752
1754
  /**
@@ -1826,7 +1828,7 @@
1826
1828
  props = typeof props === 'string' ? [props] : props;
1827
1829
  props.forEach(function (prop) {
1828
1830
  var o;
1829
- if (getter && prop in getter) {
1831
+ if (getter && Object.hasOwn(getter, prop)) {
1830
1832
  o = getter[prop];
1831
1833
  } else {
1832
1834
  Object.defineProperty(obj, '__' + prop, {
@@ -1884,7 +1886,7 @@
1884
1886
  */
1885
1887
  function isValidKeyPath(keyPath) {
1886
1888
  return isValidKeyPathString(keyPath) || Array.isArray(keyPath) && Boolean(keyPath.length) &&
1887
- // Convert array from sparse to dense http://www.2ality.com/2012/06/dense-arrays.html
1889
+ // Convert array from sparse to dense https://www.2ality.com/2012/06/dense-arrays.html
1888
1890
  // See also https://heycam.github.io/webidl/#idl-DOMString
1889
1891
  _toConsumableArray(keyPath).every(function (pathComponent) {
1890
1892
  return isValidKeyPathString(pathComponent);
@@ -1990,8 +1992,10 @@
1990
1992
  return ev;
1991
1993
  }
1992
1994
 
1995
+ /* eslint-disable unicorn/no-top-level-side-effects -- Would be good */
1993
1996
  // We don't add within polyfill repo as might not always be the desired implementation
1994
1997
  Object.defineProperty(ShimEvent, Symbol.hasInstance, {
1998
+ /* eslint-enable unicorn/no-top-level-side-effects -- Would be good */
1995
1999
  /**
1996
2000
  * @typedef {any} AnyValue
1997
2001
  */
@@ -2033,6 +2037,7 @@
2033
2037
  * @typedef {number} Integer
2034
2038
  */
2035
2039
 
2040
+ /* eslint-disable unicorn/no-top-level-side-effects -- Would be good */
2036
2041
  readonlyProperties$6.forEach(function (prop) {
2037
2042
  // Ensure for proper interface testing that "get <name>" is the function name
2038
2043
  var o = _defineAccessor("get", {}, prop, function () {
@@ -2183,7 +2188,7 @@
2183
2188
  function DOMException(message, name) {
2184
2189
  // const err = Error.prototype.constructor.call(this, message); // Any use to this? Won't set this.message
2185
2190
  this[Symbol.toStringTag] = 'DOMException';
2186
- this._code = name in codes ? codes[(/** @type {Code} */name)] : legacyCodes[(/** @type {LegacyCode} */name)] || 0;
2191
+ this._code = Object.hasOwn(codes, name) ? codes[(/** @type {Code} */name)] : legacyCodes[(/** @type {LegacyCode} */name)] || 0;
2187
2192
  this._name = name || 'Error';
2188
2193
  // We avoid `String()` in this next line as it converts Symbols
2189
2194
  this._message = message === undefined ? '' : '' + message; // eslint-disable-line no-implicit-coercion -- Don't convert symbols
@@ -2319,13 +2324,14 @@
2319
2324
  * @returns {void}
2320
2325
  */
2321
2326
  function logError(name, message, error) {
2322
- if (CFG.DEBUG) {
2323
- var msg = error && _typeof$2(error) === 'object' && error.message ? error.message : (/** @type {string} */error);
2324
- var method = typeof console.error === 'function' ? 'error' : 'log';
2325
- console[method](name + ': ' + message + '. ' + (msg || ''));
2326
- if (console.trace) {
2327
- console.trace();
2328
- }
2327
+ if (!CFG.DEBUG) {
2328
+ return;
2329
+ }
2330
+ var msg = error && _typeof$1(error) === 'object' && error.message ? error.message : (/** @type {string} */error);
2331
+ var method = typeof console.error === 'function' ? 'error' : 'log';
2332
+ console[method](name + ': ' + message + '. ' + (msg || ''));
2333
+ if (console.trace) {
2334
+ console.trace();
2329
2335
  }
2330
2336
  }
2331
2337
 
@@ -2338,7 +2344,7 @@
2338
2344
  * @returns {boolean}
2339
2345
  */
2340
2346
  function isErrorOrDOMErrorOrDOMException(obj) {
2341
- return obj && _typeof$2(obj) === 'object' &&
2347
+ return obj && _typeof$1(obj) === 'object' &&
2342
2348
  // We don't use util.isObj here as mutual dependency causing problems in Babel with browser
2343
2349
  typeof obj.name === 'string';
2344
2350
  }
@@ -2465,8 +2471,9 @@
2465
2471
 
2466
2472
  /**
2467
2473
  * The IDBRequest Object that is returns for all async calls.
2468
- * @see http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#request-api
2474
+ * @see https://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#request-api
2469
2475
  * @class
2476
+ * @throws {TypeError}
2470
2477
  */
2471
2478
  function IDBRequest() {
2472
2479
  throw new TypeError('Illegal constructor');
@@ -2506,12 +2513,11 @@
2506
2513
  legacyOutputDidListenersThrowFlag: true // Event hook for IndexedB
2507
2514
  });
2508
2515
  doneFlagGetters.forEach(function (prop) {
2509
- Object.defineProperty(_this, '__' + prop, {
2516
+ Object.defineProperties(_this, _defineProperty(_defineProperty({}, '__' + prop, {
2510
2517
  enumerable: false,
2511
2518
  configurable: false,
2512
2519
  writable: true
2513
- });
2514
- Object.defineProperty(_this, prop, {
2520
+ }), prop, {
2515
2521
  enumerable: true,
2516
2522
  configurable: true,
2517
2523
  get: function get() {
@@ -2520,7 +2526,7 @@
2520
2526
  }
2521
2527
  return this['__' + prop];
2522
2528
  }
2523
- });
2529
+ }));
2524
2530
  });
2525
2531
  defineReadonlyProperties(this, readonlyProperties$5, {
2526
2532
  readyState: {
@@ -2565,6 +2571,7 @@
2565
2571
  return this.__transaction;
2566
2572
  };
2567
2573
 
2574
+ /* eslint-disable unicorn/no-top-level-side-effects -- Would be good */
2568
2575
  // Illegal invocations
2569
2576
  defineReadonlyOuterInterface(IDBRequest.prototype, readonlyProperties$5);
2570
2577
  defineReadonlyOuterInterface(IDBRequest.prototype, doneFlagGetters);
@@ -2579,15 +2586,18 @@
2579
2586
  Object.defineProperty(IDBRequest, 'prototype', {
2580
2587
  writable: false
2581
2588
  });
2589
+ /* eslint-enable unicorn/no-top-level-side-effects -- Would be good */
2590
+
2582
2591
  var openListeners = ['onblocked', 'onupgradeneeded'];
2583
2592
 
2584
2593
  /**
2585
- * @typedef {IDBRequestFull & IDBOpenDBRequest & {}} IDBOpenDBRequestFull
2594
+ * @typedef {IDBRequestFull & IDBOpenDBRequest} IDBOpenDBRequestFull
2586
2595
  */
2587
2596
 
2588
2597
  /**
2589
2598
  * The IDBOpenDBRequest called when a database is opened.
2590
2599
  * @class
2600
+ * @throws {TypeError}
2591
2601
  */
2592
2602
  function IDBOpenDBRequest() {
2593
2603
  throw new TypeError('Illegal constructor');
@@ -2595,12 +2605,16 @@
2595
2605
 
2596
2606
  // @ts-expect-error It's ok
2597
2607
  IDBOpenDBRequest.prototype = Object.create(IDBRequest.prototype);
2608
+
2609
+ /* eslint-disable unicorn/no-top-level-side-effects -- Would be good */
2598
2610
  Object.defineProperty(IDBOpenDBRequest.prototype, 'constructor', {
2599
2611
  enumerable: false,
2600
2612
  writable: true,
2601
2613
  configurable: true,
2602
2614
  value: IDBOpenDBRequest
2603
2615
  });
2616
+ /* eslint-enable unicorn/no-top-level-side-effects -- Would be good */
2617
+
2604
2618
  var IDBOpenDBRequestAlias = IDBOpenDBRequest;
2605
2619
  /**
2606
2620
  * @returns {IDBRequestFull & IDBOpenDBRequest}
@@ -2628,6 +2642,8 @@
2628
2642
  // @ts-expect-error It's ok
2629
2643
  return new IDBOpenDBRequest();
2630
2644
  };
2645
+
2646
+ /* eslint-disable unicorn/no-top-level-side-effects -- Would be good */
2631
2647
  defineOuterInterface(IDBOpenDBRequest.prototype, openListeners);
2632
2648
  IDBOpenDBRequest.prototype[Symbol.toStringTag] = 'IDBOpenDBRequestPrototype';
2633
2649
  Object.defineProperty(IDBOpenDBRequest, 'prototype', {
@@ -2806,7 +2822,7 @@
2806
2822
  * @param {(reason: any) => PromiseLike<never>|null|undefined} cb
2807
2823
  * @returns {SyncPromise}
2808
2824
  */
2809
- SyncPromise.prototype["catch"] = function (cb) {
2825
+ SyncPromise.prototype.catch = function (cb) {
2810
2826
  var that = this;
2811
2827
  return new SyncPromise(/** @type {ResolveReject} */
2812
2828
  function (resolve, reject) {
@@ -2924,11 +2940,11 @@
2924
2940
  // verify that the keys encoded correctly
2925
2941
  var decodedKey1 = _decode(encodedKey1);
2926
2942
  var decodedKey2 = _decode(encodedKey2);
2927
- if (_typeof$2(first) === 'object') {
2943
+ if (_typeof$1(first) === 'object') {
2928
2944
  first = JSON.stringify(first);
2929
2945
  decodedKey1 = JSON.stringify(decodedKey1);
2930
2946
  }
2931
- if (_typeof$2(second) === 'object') {
2947
+ if (_typeof$1(second) === 'object') {
2932
2948
  second = JSON.stringify(second);
2933
2949
  decodedKey2 = JSON.stringify(decodedKey2);
2934
2950
  }
@@ -3006,10 +3022,14 @@
3006
3022
  binary: 500,
3007
3023
  array: 600
3008
3024
  };
3025
+
3026
+ /* eslint-disable unicorn/no-top-level-side-effects -- Would be good */
3009
3027
  var keyTypes = /** @type {(KeyType|"invalid")[]} */Object.keys(keyTypeToEncodedChar);
3010
3028
  keyTypes.forEach(function (k) {
3011
3029
  keyTypeToEncodedChar[k] = String.fromCodePoint(/** @type {number} */keyTypeToEncodedChar[k]);
3012
3030
  });
3031
+ /* eslint-enable unicorn/no-top-level-side-effects -- Would be good */
3032
+
3013
3033
  var encodedCharToKeyType = keyTypes.reduce(function (o, k) {
3014
3034
  o[keyTypeToEncodedChar[k]] = k;
3015
3035
  return o;
@@ -3095,13 +3115,12 @@
3095
3115
  if (key > -1) {
3096
3116
  sign = signValues.indexOf('smallNegative');
3097
3117
  exponent = padBase32Exponent(significantDigitIndex);
3098
- mantissa = flipBase32(padBase32Mantissa(key32));
3099
3118
  // Non-negative exponent case:
3100
3119
  } else {
3101
3120
  sign = signValues.indexOf('bigNegative');
3102
3121
  exponent = flipBase32(padBase32Exponent(decimalIndex !== -1 ? decimalIndex : key32.length));
3103
- mantissa = flipBase32(padBase32Mantissa(key32));
3104
3122
  }
3123
+ mantissa = flipBase32(padBase32Mantissa(key32));
3105
3124
  // Non-negative cases:
3106
3125
  // Negative exponent case:
3107
3126
  } else if (key < 1) {
@@ -3135,9 +3154,9 @@
3135
3154
  var mantissa = key.slice(5, 16);
3136
3155
  switch (signValues[sign]) {
3137
3156
  case 'negativeInfinity':
3138
- return Number.NEGATIVE_INFINITY;
3157
+ return -Infinity;
3139
3158
  case 'positiveInfinity':
3140
- return Number.POSITIVE_INFINITY;
3159
+ return Infinity;
3141
3160
  case 'bigPositive':
3142
3161
  return pow32(mantissa, exponent);
3143
3162
  case 'smallPositive':
@@ -3205,7 +3224,7 @@
3205
3224
  _step;
3206
3225
  try {
3207
3226
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
3208
- var _step$value = _slicedToArray$1(_step.value, 2),
3227
+ var _step$value = _slicedToArray(_step.value, 2),
3209
3228
  i = _step$value[0],
3210
3229
  item = _step$value[1];
3211
3230
  var encodedItem = _encode(item, true); // encode the array item
@@ -3270,9 +3289,7 @@
3270
3289
  decode: function decode(key) {
3271
3290
  // Set the entries in buffer's [[ArrayBufferData]] to those in `value`
3272
3291
  var k = key.slice(2);
3273
- var arr = k.length ? k.split(',').map(function (s) {
3274
- return Number.parseInt(s);
3275
- }) : [];
3292
+ var arr = k.length ? k.split(',').map(Number) : [];
3276
3293
  var buffer = new ArrayBuffer(arr.length);
3277
3294
  var uint8 = new Uint8Array(buffer);
3278
3295
  uint8.set(arr);
@@ -3361,7 +3378,7 @@
3361
3378
  */
3362
3379
  function roundToPrecision(num) {
3363
3380
  var precision = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 16;
3364
- return Number.parseFloat(num.toPrecision(precision));
3381
+ return Number(num.toPrecision(precision));
3365
3382
  }
3366
3383
 
3367
3384
  /**
@@ -3396,7 +3413,7 @@
3396
3413
  if (isBinary(key)) {
3397
3414
  return 'binary';
3398
3415
  }
3399
- var keyType = _typeof$2(key);
3416
+ var keyType = _typeof$1(key);
3400
3417
  return ['string', 'number'].includes(keyType) ? (/** @type {"string"|"number"} */keyType) : 'invalid';
3401
3418
  }
3402
3419
 
@@ -3429,7 +3446,7 @@
3429
3446
  */
3430
3447
  function getCopyBytesHeldByBufferSource(O) {
3431
3448
  var offset = 0;
3432
- var length = 0;
3449
+ var length;
3433
3450
  if (ArrayBuffer.isView(O)) {
3434
3451
  // Has [[ViewedArrayBuffer]] internal slot
3435
3452
  var arrayBuffer = O.buffer;
@@ -3462,7 +3479,7 @@
3462
3479
  * @returns {KeyValueObject}
3463
3480
  */
3464
3481
  function convertValueToKeyValueDecoded(input, seen, multiEntry, fullKeys) {
3465
- seen = seen || [];
3482
+ seen || (seen = []);
3466
3483
  if (seen.includes(input)) {
3467
3484
  return {
3468
3485
  type: 'array',
@@ -3594,7 +3611,7 @@
3594
3611
  {
3595
3612
  // Other `typeof` types which are not valid keys:
3596
3613
  // 'undefined', 'boolean', 'object' (including `null`), 'symbol', 'function'
3597
- var _type = input === null ? 'null' : _typeof$2(input); // Convert `null` for convenience of consumers in reporting errors
3614
+ var _type = input === null ? 'null' : _typeof$1(input); // Convert `null` for convenience of consumers in reporting errors
3598
3615
  return {
3599
3616
  type: _type,
3600
3617
  invalid: true,
@@ -3866,7 +3883,6 @@
3866
3883
  continue;
3867
3884
  }
3868
3885
  if (key.length === 1) {
3869
- // eslint-disable-next-line sonarjs/updated-loop-counter -- Convenient
3870
3886
  key = key[0];
3871
3887
  } else {
3872
3888
  var nested = findMultiEntryMatches(key, range);
@@ -4049,8 +4065,13 @@
4049
4065
  * @returns {void}
4050
4066
  */
4051
4067
  function setCurrentNumber(tx, store, num, successCb, failCb) {
4052
- 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
4053
- : num + 1;
4068
+ num = 1 + (num === MAX_ALLOWED_CURRENT_NUMBER
4069
+ // Since incrementing by one will have no effect in JavaScript on this
4070
+ // unsafe max, we represent the max as a number incremented by two.
4071
+ // The getting of the current number is never returned to the user and
4072
+ // is only used in safe comparisons, so it is safe for us to represent
4073
+ // it in this manner
4074
+ ? num + 1 : num);
4054
4075
  return assignCurrentNumber(tx, store, num, successCb, failCb);
4055
4076
  }
4056
4077
 
@@ -4163,7 +4184,7 @@
4163
4184
 
4164
4185
  /**
4165
4186
  * The IndexedDB KeyRange object.
4166
- * @see http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#dfn-key-range
4187
+ * @see https://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#dfn-key-range
4167
4188
  * @throws {TypeError}
4168
4189
  * @class
4169
4190
  */
@@ -4184,6 +4205,7 @@
4184
4205
  IDBKeyRange.__createInstance = function (lower, upper, lowerOpen, upperOpen) {
4185
4206
  /**
4186
4207
  * @class
4208
+ * @throws {DOMException|Error}
4187
4209
  */
4188
4210
  function IDBKeyRange() {
4189
4211
  this[Symbol.toStringTag] = 'IDBKeyRange';
@@ -4280,6 +4302,8 @@
4280
4302
  return IDBKeyRange.__createInstance(lower, upper, arguments[2], arguments[3]);
4281
4303
  };
4282
4304
  IDBKeyRange.prototype[Symbol.toStringTag] = 'IDBKeyRangePrototype';
4305
+
4306
+ /* eslint-disable unicorn/no-top-level-side-effects -- Would be good */
4283
4307
  readonlyProperties$4.forEach(function (prop) {
4284
4308
  Object.defineProperty(IDBKeyRange.prototype, '__' + prop, {
4285
4309
  enumerable: false,
@@ -4300,7 +4324,7 @@
4300
4324
  // desc.configurable = true; // Default
4301
4325
  Object.defineProperty(IDBKeyRange.prototype, prop, desc);
4302
4326
  });
4303
- Object.defineProperty(IDBKeyRange, Symbol.hasInstance, {
4327
+ Object.defineProperties(IDBKeyRange, _defineProperty(_defineProperty({}, Symbol.hasInstance, {
4304
4328
  value:
4305
4329
  /**
4306
4330
  * @param {object} obj
@@ -4309,10 +4333,11 @@
4309
4333
  function value(obj) {
4310
4334
  return isObj(obj) && 'upper' in obj && 'lowerOpen' in obj && typeof obj.lowerOpen === 'boolean';
4311
4335
  }
4312
- });
4313
- Object.defineProperty(IDBKeyRange, 'prototype', {
4336
+ }), "prototype", {
4314
4337
  writable: false
4315
- });
4338
+ }));
4339
+
4340
+ /* eslint-enable unicorn/no-top-level-side-effects -- Would be good */
4316
4341
 
4317
4342
  /**
4318
4343
  * @param {IDBKeyRangeFull|undefined} range
@@ -4324,34 +4349,35 @@
4324
4349
  * @returns {void}
4325
4350
  */
4326
4351
  function setSQLForKeyRange(range, quotedKeyColumnName, sql, sqlValues, addAnd, checkCached) {
4327
- if (range && (range.lower !== undefined || range.upper !== undefined)) {
4328
- if (addAnd) {
4329
- sql.push('AND');
4330
- }
4331
- var encodedLowerKey, encodedUpperKey;
4332
- var hasLower = range.lower !== undefined;
4333
- var hasUpper = range.upper !== undefined;
4334
- if (hasLower) {
4335
- encodedLowerKey = checkCached ? range.__lowerCached : _encode(range.lower);
4336
- }
4337
- if (hasUpper) {
4338
- encodedUpperKey = checkCached ? range.__upperCached : _encode(range.upper);
4339
- }
4340
- if (hasLower) {
4341
- sqlValues.push(escapeSQLiteStatement(/** @type {string} */encodedLowerKey));
4342
- if (hasUpper && encodedLowerKey === encodedUpperKey && !range.lowerOpen && !range.upperOpen) {
4343
- sql.push(quotedKeyColumnName, '=', '?');
4344
- return;
4345
- }
4346
- sql.push(quotedKeyColumnName, range.lowerOpen ? '>' : '>=', '?');
4347
- }
4348
- if (hasLower && hasUpper) {
4349
- sql.push('AND');
4350
- }
4351
- if (hasUpper) {
4352
- sql.push(quotedKeyColumnName, range.upperOpen ? '<' : '<=', '?');
4353
- sqlValues.push(escapeSQLiteStatement(/** @type {string} */encodedUpperKey));
4352
+ if (!(range && (range.lower !== undefined || range.upper !== undefined))) {
4353
+ return;
4354
+ }
4355
+ if (addAnd) {
4356
+ sql.push('AND');
4357
+ }
4358
+ var encodedLowerKey, encodedUpperKey;
4359
+ var hasLower = range.lower !== undefined;
4360
+ var hasUpper = range.upper !== undefined;
4361
+ if (hasLower) {
4362
+ encodedLowerKey = checkCached ? range.__lowerCached : _encode(range.lower);
4363
+ }
4364
+ if (hasUpper) {
4365
+ encodedUpperKey = checkCached ? range.__upperCached : _encode(range.upper);
4366
+ }
4367
+ if (hasLower) {
4368
+ sqlValues.push(escapeSQLiteStatement(/** @type {string} */encodedLowerKey));
4369
+ if (hasUpper && encodedLowerKey === encodedUpperKey && !range.lowerOpen && !range.upperOpen) {
4370
+ sql.push(quotedKeyColumnName, '=', '?');
4371
+ return;
4354
4372
  }
4373
+ sql.push(quotedKeyColumnName, range.lowerOpen ? '>' : '>=', '?');
4374
+ }
4375
+ if (hasLower && hasUpper) {
4376
+ sql.push('AND');
4377
+ }
4378
+ if (hasUpper) {
4379
+ sql.push(quotedKeyColumnName, range.upperOpen ? '<' : '<=', '?');
4380
+ sqlValues.push(escapeSQLiteStatement(/** @type {string} */encodedUpperKey));
4355
4381
  }
4356
4382
  }
4357
4383
 
@@ -4431,7 +4457,7 @@
4431
4457
  };
4432
4458
 
4433
4459
  // @ts-expect-error It's ok
4434
- DOMStringList.prototype = _defineProperty$1(_defineProperty$1({
4460
+ DOMStringList.prototype = _defineProperty(_defineProperty({
4435
4461
  constructor: DOMStringList,
4436
4462
  // Interface.
4437
4463
  /**
@@ -4452,7 +4478,9 @@
4452
4478
  if (!arguments.length) {
4453
4479
  throw new TypeError('DOMStringList.item must be supplied a value');
4454
4480
  }
4455
- if (key < 0 || key >= this.length || !Number.isInteger(key)) {
4481
+ if (key < 0 || key >= this.length ||
4482
+ // eslint-disable-next-line unicorn/prefer-number-is-safe-integer -- We want all
4483
+ !Number.isInteger(key)) {
4456
4484
  return null;
4457
4485
  }
4458
4486
  return this._items[key];
@@ -4482,8 +4510,9 @@
4482
4510
  * @returns {string[]}
4483
4511
  */
4484
4512
  sortList: function sortList() {
4485
- // http://w3c.github.io/IndexedDB/#sorted-list
4513
+ // https://w3c.github.io/IndexedDB/#sorted-list
4486
4514
  // https://tc39.github.io/ecma262/#sec-abstract-relational-comparison
4515
+ // eslint-disable-next-line unicorn/require-array-sort-compare -- IndexedDB requires code unit comparison (default behavior)
4487
4516
  this._items.sort();
4488
4517
  this.addIndexes();
4489
4518
  return this._items;
@@ -4536,7 +4565,7 @@
4536
4565
  (_this$_items = this._items).splice.apply(_this$_items, arguments);
4537
4566
  this._length = this._items.length;
4538
4567
  for (var i in this) {
4539
- if (i === String(Number.parseInt(i))) {
4568
+ if (i === String(Math.trunc(Number(i)))) {
4540
4569
  delete this[i];
4541
4570
  }
4542
4571
  }
@@ -4564,6 +4593,7 @@
4564
4593
  }, _callee, this);
4565
4594
  }));
4566
4595
 
4596
+ /* eslint-disable unicorn/no-top-level-side-effects -- Would be good */
4567
4597
  /**
4568
4598
  * @typedef {any} AnyValue
4569
4599
  */
@@ -4578,6 +4608,7 @@
4578
4608
  });
4579
4609
  var DOMStringListAlias = DOMStringList;
4580
4610
  Object.defineProperty(DOMStringList, '__createInstance', {
4611
+ /* eslint-enable unicorn/no-top-level-side-effects -- Would be good */
4581
4612
  /**
4582
4613
  * @returns {DOMStringListFull}
4583
4614
  */
@@ -4711,8 +4742,9 @@
4711
4742
 
4712
4743
  /**
4713
4744
  * The IndexedDB Transaction.
4714
- * @see http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#idl-def-IDBTransaction
4745
+ * @see https://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#idl-def-IDBTransaction
4715
4746
  * @class
4747
+ * @throws {TypeError}
4716
4748
  */
4717
4749
  function IDBTransaction() {
4718
4750
  throw new TypeError('Illegal constructor');
@@ -4735,6 +4767,7 @@
4735
4767
  // @ts-expect-error It's ok
4736
4768
  me[Symbol.toStringTag] = 'IDBTransaction';
4737
4769
  defineReadonlyProperties(me, readonlyProperties$3);
4770
+ // eslint-disable-next-line unicorn/no-top-level-assignment-in-function -- Debugging only
4738
4771
  me.__id = ++uniqueID; // for debugging simultaneous transactions
4739
4772
  me.__active = true;
4740
4773
  me.__running = false;
@@ -5145,7 +5178,7 @@
5145
5178
  if (!store) {
5146
5179
  throw createDOMException('NotFoundError', objectStoreName + ' does not exist in ' + me.db.name);
5147
5180
  }
5148
- if (!me.__storeHandles[objectStoreName] ||
5181
+ if (!Object.hasOwn(me.__storeHandles, objectStoreName) ||
5149
5182
  // These latter conditions are to allow store
5150
5183
  // recreation to create new clone object
5151
5184
  me.__storeHandles[objectStoreName].__pendingDelete || me.__storeHandles[objectStoreName].__deleted) {
@@ -5253,7 +5286,7 @@
5253
5286
  }
5254
5287
  q.req.dispatchEvent(reqEvt); // No need to catch errors
5255
5288
  resolve();
5256
- });
5289
+ }, 0);
5257
5290
  });
5258
5291
  });
5259
5292
  }, SyncPromise.resolve(undefined)).then(function () {
@@ -5267,9 +5300,9 @@
5267
5300
  me.dispatchEvent(evt);
5268
5301
  me.__storeHandles = {};
5269
5302
  me.dispatchEvent(createEvent('__abort'));
5270
- });
5303
+ }, 0);
5271
5304
  return undefined;
5272
- })["catch"](function (err) {
5305
+ }).catch(function (err) {
5273
5306
  console.log('Abort error');
5274
5307
  throw err;
5275
5308
  });
@@ -5390,6 +5423,8 @@
5390
5423
  IDBTransaction.prototype.__getParent = function () {
5391
5424
  return this.db;
5392
5425
  };
5426
+
5427
+ /* eslint-disable unicorn/no-top-level-side-effects -- Would be good */
5393
5428
  defineOuterInterface(IDBTransaction.prototype, listeners$1);
5394
5429
  defineReadonlyOuterInterface(IDBTransaction.prototype, readonlyProperties$3);
5395
5430
  Object.defineProperty(IDBTransaction.prototype, 'constructor', {
@@ -5402,183 +5437,77 @@
5402
5437
  writable: false
5403
5438
  });
5404
5439
 
5405
- function ownKeys(e, t) {
5406
- var r = Object.keys(e);
5407
- if (Object.getOwnPropertySymbols) {
5408
- var n = Object.getOwnPropertySymbols(e);
5409
- t && (n = n.filter(function (t) {
5410
- return Object.getOwnPropertyDescriptor(e, t).enumerable;
5411
- })), r.push.apply(r, n);
5412
- }
5413
- return r;
5414
- }
5415
- function _objectSpread2(e) {
5416
- for (var t = 1; t < arguments.length; t++) {
5417
- var r = null != arguments[t] ? arguments[t] : {};
5418
- t % 2 ? ownKeys(Object(r), true).forEach(function (t) {
5419
- _defineProperty(e, t, r[t]);
5420
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : ownKeys(Object(r)).forEach(function (t) {
5421
- Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t));
5422
- });
5423
- }
5424
- return e;
5425
- }
5426
- function _typeof(e) {
5427
- return _typeof = "function" == typeof Symbol && "symbol" == _typeof$2(Symbol.iterator) ? function (e) {
5428
- return _typeof$2(e);
5429
- } : function (e) {
5430
- return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : _typeof$2(e);
5431
- }, _typeof(e);
5432
- }
5433
- function _classCallCheck(e, t) {
5434
- if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");
5435
- }
5436
- function _createClass(e, t, r) {
5437
- return t && function _defineProperties(e, t) {
5438
- for (var r = 0; r < t.length; r++) {
5439
- var n = t[r];
5440
- n.enumerable = n.enumerable || false, n.configurable = true, "value" in n && (n.writable = true), Object.defineProperty(e, _toPropertyKey(n.key), n);
5441
- }
5442
- }(e.prototype, t), Object.defineProperty(e, "prototype", {
5443
- writable: false
5444
- }), e;
5445
- }
5446
- function _defineProperty(e, t, r) {
5447
- return (t = _toPropertyKey(t)) in e ? Object.defineProperty(e, t, {
5448
- value: r,
5449
- enumerable: true,
5450
- configurable: true,
5451
- writable: true
5452
- }) : e[t] = r, e;
5453
- }
5454
- function _slicedToArray(e, t) {
5455
- return function _arrayWithHoles(e) {
5456
- if (Array.isArray(e)) return e;
5457
- }(e) || function _iterableToArrayLimit(e, t) {
5458
- var r = null == e ? null : "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"];
5459
- if (null != r) {
5460
- var n,
5461
- a,
5462
- o,
5463
- i,
5464
- c = [],
5465
- s = true,
5466
- u = false;
5467
- try {
5468
- if (o = (r = r.call(e)).next, 0 === t) {
5469
- if (Object(r) !== r) return;
5470
- s = !1;
5471
- } else for (; !(s = (n = o.call(r)).done) && (c.push(n.value), c.length !== t); s = !0);
5472
- } catch (e) {
5473
- u = true, a = e;
5474
- } finally {
5475
- try {
5476
- if (!s && null != r["return"] && (i = r["return"](), Object(i) !== i)) return;
5477
- } finally {
5478
- if (u) throw a;
5479
- }
5480
- }
5481
- return c;
5482
- }
5483
- }(e, t) || _unsupportedIterableToArray(e, t) || function _nonIterableRest() {
5484
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
5485
- }();
5486
- }
5487
- function _unsupportedIterableToArray(e, t) {
5488
- if (e) {
5489
- if ("string" == typeof e) return _arrayLikeToArray(e, t);
5490
- var r = Object.prototype.toString.call(e).slice(8, -1);
5491
- 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;
5492
- }
5493
- }
5494
- function _arrayLikeToArray(e, t) {
5495
- (null == t || t > e.length) && (t = e.length);
5496
- for (var r = 0, n = new Array(t); r < t; r++) n[r] = e[r];
5497
- return n;
5498
- }
5499
- function _toPropertyKey(e) {
5500
- var t = function _toPrimitive(e, t) {
5501
- if ("object" != _typeof$2(e) || null === e) return e;
5502
- var r = e[Symbol.toPrimitive];
5503
- if (void 0 !== r) {
5504
- var n = r.call(e, t);
5505
- if ("object" != _typeof$2(n)) return n;
5506
- throw new TypeError("@@toPrimitive must return a primitive value.");
5507
- }
5508
- return (String )(e);
5509
- }(e, "string");
5510
- return "symbol" == _typeof$2(t) ? t : String(t);
5511
- }
5512
- var e = _createClass(function TypesonPromise(e) {
5513
- _classCallCheck(this, TypesonPromise), this.p = new Promise(e);
5440
+ var TypesonPromise = /*#__PURE__*/_createClass(function TypesonPromise(e) {
5441
+ _classCallCheck(this, TypesonPromise);
5442
+ this.p = new Promise(e);
5514
5443
  });
5515
- e.__typeson__type__ = "TypesonPromise", "undefined" != typeof Symbol && Object.defineProperty(e.prototype, Symbol.toStringTag, {
5444
+ TypesonPromise.__typeson__type__ = "TypesonPromise", "undefined" != typeof Symbol && Object.defineProperty(TypesonPromise.prototype, Symbol.toStringTag, {
5516
5445
  get: function get() {
5517
5446
  return "TypesonPromise";
5518
5447
  }
5519
- }), e.prototype.then = function (t, r) {
5520
- var n = this;
5521
- return new e(function (e, a) {
5522
- n.p.then(function (r) {
5523
- e(t ? t(r) : r);
5524
- })["catch"](function (e) {
5525
- return r ? r(e) : Promise.reject(e);
5526
- }).then(e, a);
5448
+ }), TypesonPromise.prototype.then = function (e, t) {
5449
+ var _this = this;
5450
+ return new TypesonPromise(function (r, n) {
5451
+ _this.p.then(function (t) {
5452
+ r(e ? e(t) : t);
5453
+ }).catch(function (e) {
5454
+ return t ? t(e) : Promise.reject(e);
5455
+ }).then(r, n);
5527
5456
  });
5528
- }, e.prototype["catch"] = function (e) {
5457
+ }, TypesonPromise.prototype.catch = function (e) {
5529
5458
  return this.then(function () {}, e);
5530
- }, e.resolve = function (t) {
5531
- return new e(function (e) {
5532
- e(t);
5459
+ }, TypesonPromise.resolve = function (e) {
5460
+ return new TypesonPromise(function (t) {
5461
+ t(e);
5533
5462
  });
5534
- }, e.reject = function (t) {
5535
- return new e(function (e, r) {
5536
- r(t);
5463
+ }, TypesonPromise.reject = function (e) {
5464
+ return new TypesonPromise(function (t, r) {
5465
+ r(e);
5537
5466
  });
5538
- }, e.all = function (t) {
5539
- return new e(function (e, r) {
5540
- Promise.all(t.map(function (e) {
5541
- return null != e && e.constructor && "__typeson__type__" in e.constructor && "TypesonPromise" === e.constructor.__typeson__type__ ? e.p : e;
5542
- })).then(e, r);
5467
+ }, TypesonPromise.all = function (e) {
5468
+ return new TypesonPromise(function (t, r) {
5469
+ Promise.all(e.map(function (e) {
5470
+ return e !== null && e !== void 0 && e.constructor && "__typeson__type__" in e.constructor && "TypesonPromise" === e.constructor.__typeson__type__ ? e.p : e;
5471
+ })).then(t, r);
5543
5472
  });
5544
- }, e.race = function (t) {
5545
- return new e(function (e, r) {
5546
- Promise.race(t.map(function (e) {
5547
- return null != e && e.constructor && "__typeson__type__" in e.constructor && "TypesonPromise" === e.constructor.__typeson__type__ ? e.p : e;
5548
- })).then(e, r);
5473
+ }, TypesonPromise.race = function (e) {
5474
+ return new TypesonPromise(function (t, r) {
5475
+ Promise.race(e.map(function (e) {
5476
+ return e !== null && e !== void 0 && e.constructor && "__typeson__type__" in e.constructor && "TypesonPromise" === e.constructor.__typeson__type__ ? e.p : e;
5477
+ })).then(t, r);
5549
5478
  });
5550
- }, e.allSettled = function (t) {
5551
- return new e(function (e, r) {
5552
- Promise.allSettled(t.map(function (e) {
5553
- return null != e && e.constructor && "__typeson__type__" in e.constructor && "TypesonPromise" === e.constructor.__typeson__type__ ? e.p : e;
5554
- })).then(e, r);
5479
+ }, TypesonPromise.allSettled = function (e) {
5480
+ return new TypesonPromise(function (t, r) {
5481
+ Promise.allSettled(e.map(function (e) {
5482
+ return e !== null && e !== void 0 && e.constructor && "__typeson__type__" in e.constructor && "TypesonPromise" === e.constructor.__typeson__type__ ? e.p : e;
5483
+ })).then(t, r);
5555
5484
  });
5556
5485
  };
5557
- var t = Object.hasOwn,
5558
- r = Object.getPrototypeOf;
5486
+ var e = Object.hasOwn,
5487
+ t = Object.getPrototypeOf;
5559
5488
  function isThenable(e, t) {
5560
- return isObject(e) && "function" == typeof e.then && (true || "function" == typeof e["catch"]);
5489
+ return isObject(e) && "function" == typeof e.then && (true || "function" == typeof e.catch);
5561
5490
  }
5562
5491
  function toStringTag(e) {
5563
5492
  return Object.prototype.toString.call(e).slice(8, -1);
5564
5493
  }
5565
- function hasConstructorOf(e, n) {
5566
- if (!e || "object" !== _typeof(e)) return false;
5567
- var a = r(e);
5568
- if (!a) return null === n;
5569
- var o = t(a, "constructor") && a.constructor;
5570
- 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__;
5494
+ function hasConstructorOf(r, n) {
5495
+ if (!r || "object" != _typeof$1(r)) return false;
5496
+ var o = t(r);
5497
+ if (!o) return null === n;
5498
+ var s = e(o, "constructor") && o.constructor;
5499
+ 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__;
5571
5500
  }
5572
5501
  function isPlainObject(e) {
5573
- return !(!e || "Object" !== toStringTag(e)) && (!r(e) || hasConstructorOf(e, Object));
5502
+ return !(!e || "Object" !== toStringTag(e)) && (!t(e) || hasConstructorOf(e, Object));
5574
5503
  }
5575
5504
  function isUserObject(e) {
5576
5505
  if (!e || "Object" !== toStringTag(e)) return false;
5577
- var t = r(e);
5578
- return !t || hasConstructorOf(e, Object) || isUserObject(t);
5506
+ var r = t(e);
5507
+ return !r || hasConstructorOf(e, Object) || isUserObject(r);
5579
5508
  }
5580
5509
  function isObject(e) {
5581
- return null !== e && "object" === _typeof(e);
5510
+ return null !== e && "object" == _typeof$1(e);
5582
5511
  }
5583
5512
  function escapeKeyPathComponent(e) {
5584
5513
  return e.replaceAll("''", "''''").replace(/^$/, "''").replaceAll("~", "~0").replaceAll(".", "~1");
@@ -5588,563 +5517,595 @@
5588
5517
  }
5589
5518
  function getByKeyPath(e, t) {
5590
5519
  if ("" === t) return e;
5591
- if (null === e || "object" !== _typeof(e)) throw new TypeError("Unexpected non-object type");
5520
+ if (null === e || "object" != _typeof$1(e)) throw new TypeError("Unexpected non-object type");
5592
5521
  var r = t.indexOf(".");
5593
- if (r > -1) {
5594
- var n = e[unescapeKeyPathComponent(t.slice(0, r))];
5595
- return void 0 === n ? void 0 : getByKeyPath(n, t.slice(r + 1));
5522
+ if (-1 !== r) {
5523
+ var _n = e[unescapeKeyPathComponent(t.slice(0, r))];
5524
+ return void 0 === _n ? void 0 : getByKeyPath(_n, t.slice(r + 1));
5596
5525
  }
5597
5526
  return e[unescapeKeyPathComponent(t)];
5598
5527
  }
5599
5528
  function setAtKeyPath(e, t, r) {
5600
5529
  if ("" === t) return r;
5601
- if (!e || "object" !== _typeof(e)) throw new TypeError("Unexpected non-object type");
5602
- var n = t.indexOf(".");
5603
- return n > -1 ? setAtKeyPath(e[unescapeKeyPathComponent(t.slice(0, n))], t.slice(n + 1), r) : (e[unescapeKeyPathComponent(t)] = r, e);
5530
+ var n = e,
5531
+ o = t;
5532
+ for (;;) {
5533
+ if (!n || "object" != _typeof$1(n)) throw new TypeError("Unexpected non-object type");
5534
+ if ("__proto__" === o) throw new TypeError("Invalid property");
5535
+ var _t = o.indexOf(".");
5536
+ if (-1 === _t) return n[unescapeKeyPathComponent(o)] = r, e;
5537
+ n = n[unescapeKeyPathComponent(o.slice(0, _t))], o = o.slice(_t + 1);
5538
+ }
5604
5539
  }
5605
5540
  function getJSONType(e) {
5606
- return null === e ? "null" : Array.isArray(e) ? "array" : _typeof(e);
5607
- }
5608
- function _await(e, t, r) {
5609
- return e && e.then || (e = Promise.resolve(e)), t ? e.then(t) : e;
5541
+ return null === e ? "null" : Array.isArray(e) ? "array" : _typeof$1(e);
5610
5542
  }
5611
- var n = Object.keys,
5612
- a = Object.hasOwn,
5543
+ /**
5544
+ * @file Typeson - JSON with types.
5545
+ * @license The MIT License (MIT)
5546
+ * @copyright (c) 2016-2018 David Fahlander, Brett Zamir
5547
+ */
5548
+ var r = Object.keys,
5549
+ n = Object.hasOwn,
5613
5550
  o = Array.isArray,
5614
- i = ["type", "replaced", "iterateIn", "iterateUnsetNumeric", "addLength"];
5615
- function _async(e) {
5616
- return function () {
5617
- for (var t = [], r = 0; r < arguments.length; r++) t[r] = arguments[r];
5618
- try {
5619
- return Promise.resolve(e.apply(this, t));
5620
- } catch (e) {
5621
- return Promise.reject(e);
5622
- }
5623
- };
5624
- }
5551
+ s = ["type", "replaced", "iterateIn", "iterateUnsetNumeric", "addLength"];
5625
5552
  function nestedPathsFirst(e, t) {
5626
- var r, n;
5553
+ var _e$keypath$match, _t$keypath$match;
5627
5554
  if ("" === e.keypath) return -1;
5628
- var a = null !== (r = e.keypath.match(/\./g)) && void 0 !== r ? r : 0,
5629
- o = null !== (n = t.keypath.match(/\./g)) && void 0 !== n ? n : 0;
5630
- 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;
5631
- }
5632
- var c = function () {
5633
- function Typeson(e) {
5634
- _classCallCheck(this, Typeson), this.options = e, this.plainObjectReplacers = [], this.nonplainObjectReplacers = [], this.revivers = {}, this.types = {};
5635
- }
5636
- return _createClass(Typeson, [{
5637
- key: "stringify",
5638
- value: function stringify(e, t, r, n) {
5639
- n = _objectSpread2(_objectSpread2(_objectSpread2({}, this.options), n), {}, {
5640
- stringification: true
5641
- });
5642
- var a = this.encapsulate(e, null, n);
5643
- return o(a) ? JSON.stringify(a[0], t, r) : a.then(function (e) {
5644
- return JSON.stringify(e, t, r);
5645
- });
5646
- }
5647
- }, {
5648
- key: "stringifySync",
5649
- value: function stringifySync(e, t, r, n) {
5650
- return this.stringify(e, t, r, _objectSpread2(_objectSpread2({
5651
- throwOnBadSyncType: true
5652
- }, n), {}, {
5653
- sync: true
5654
- }));
5655
- }
5656
- }, {
5657
- key: "stringifyAsync",
5658
- value: function stringifyAsync(e, t, r, n) {
5659
- return this.stringify(e, t, r, _objectSpread2(_objectSpread2({
5660
- throwOnBadSyncType: true
5661
- }, n), {}, {
5662
- sync: false
5663
- }));
5664
- }
5665
- }, {
5666
- key: "parse",
5667
- value: function parse(e, t, r) {
5668
- return r = _objectSpread2(_objectSpread2(_objectSpread2({}, this.options), r), {}, {
5669
- parse: true
5670
- }), this.revive(JSON.parse(e, t), r);
5671
- }
5672
- }, {
5673
- key: "parseSync",
5674
- value: function parseSync(e, t, r) {
5675
- return this.parse(e, t, _objectSpread2(_objectSpread2({
5676
- throwOnBadSyncType: true
5677
- }, r), {}, {
5555
+ var r = (_e$keypath$match = e.keypath.match(/\./g)) !== null && _e$keypath$match !== void 0 ? _e$keypath$match : 0,
5556
+ n = (_t$keypath$match = t.keypath.match(/\./g)) !== null && _t$keypath$match !== void 0 ? _t$keypath$match : 0;
5557
+ 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;
5558
+ }
5559
+ var Typeson = /*#__PURE__*/function () {
5560
+ function Typeson(e) {
5561
+ _classCallCheck(this, Typeson);
5562
+ this.options = e, this.plainObjectReplacers = [], this.nonplainObjectReplacers = [], this.revivers = {}, this.types = {};
5563
+ }
5564
+ return _createClass(Typeson, [{
5565
+ key: "stringify",
5566
+ value: function stringify(e, t, r, n) {
5567
+ n = _objectSpread2(_objectSpread2(_objectSpread2({}, this.options), n), {}, {
5568
+ stringification: true
5569
+ });
5570
+ var s = this.encapsulate(e, null, n);
5571
+ return o(s) ? JSON.stringify(s[0], t, r) : s.then(function (e) {
5572
+ return JSON.stringify(e, t, r);
5573
+ });
5574
+ }
5575
+ }, {
5576
+ key: "stringifySync",
5577
+ value: function stringifySync(e, t, r, n) {
5578
+ return this.stringify(e, t, r, _objectSpread2(_objectSpread2({
5579
+ throwOnBadSyncType: true
5580
+ }, n), {}, {
5581
+ sync: true
5582
+ }));
5583
+ }
5584
+ }, {
5585
+ key: "stringifyAsync",
5586
+ value: function stringifyAsync(e, t, r, n) {
5587
+ return this.stringify(e, t, r, _objectSpread2(_objectSpread2({
5588
+ throwOnBadSyncType: true
5589
+ }, n), {}, {
5590
+ sync: false
5591
+ }));
5592
+ }
5593
+ }, {
5594
+ key: "parse",
5595
+ value: function parse(e, t, r) {
5596
+ return r = _objectSpread2(_objectSpread2(_objectSpread2({}, this.options), r), {}, {
5597
+ parse: true
5598
+ }), this.revive(JSON.parse(e, t), r);
5599
+ }
5600
+ }, {
5601
+ key: "parseSync",
5602
+ value: function parseSync(e, t, r) {
5603
+ return this.parse(e, t, _objectSpread2(_objectSpread2({
5604
+ throwOnBadSyncType: true
5605
+ }, r), {}, {
5606
+ sync: true
5607
+ }));
5608
+ }
5609
+ }, {
5610
+ key: "parseAsync",
5611
+ value: function parseAsync(e, t, r) {
5612
+ return this.parse(e, t, _objectSpread2(_objectSpread2({
5613
+ throwOnBadSyncType: true
5614
+ }, r), {}, {
5615
+ sync: false
5616
+ }));
5617
+ }
5618
+ }, {
5619
+ key: "specialTypeNames",
5620
+ value: function specialTypeNames(e, t) {
5621
+ var r = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
5622
+ return r.returnTypeNames = true, this.encapsulate(e, t, r);
5623
+ }
5624
+ }, {
5625
+ key: "rootTypeName",
5626
+ value: function rootTypeName(e, t) {
5627
+ var r = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
5628
+ return r.iterateNone = true, this.encapsulate(e, t, r);
5629
+ }
5630
+ }, {
5631
+ key: "encapsulate",
5632
+ value: function encapsulate(e, t, a) {
5633
+ var _this2 = this;
5634
+ var i = _objectSpread2(_objectSpread2({
5678
5635
  sync: true
5679
- }));
5680
- }
5681
- }, {
5682
- key: "parseAsync",
5683
- value: function parseAsync(e, t, r) {
5684
- return this.parse(e, t, _objectSpread2(_objectSpread2({
5685
- throwOnBadSyncType: true
5686
- }, r), {}, {
5687
- sync: false
5688
- }));
5689
- }
5690
- }, {
5691
- key: "specialTypeNames",
5692
- value: function specialTypeNames(e, t) {
5693
- var r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};
5694
- return r.returnTypeNames = true, this.encapsulate(e, t, r);
5695
- }
5696
- }, {
5697
- key: "rootTypeName",
5698
- value: function rootTypeName(e, t) {
5699
- var r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};
5700
- return r.iterateNone = true, this.encapsulate(e, t, r);
5701
- }
5702
- }, {
5703
- key: "encapsulate",
5704
- value: function encapsulate(t, r, c) {
5705
- var s = this,
5706
- u = _objectSpread2(_objectSpread2({
5707
- sync: true
5708
- }, this.options), c),
5709
- l = u.sync,
5710
- f = {},
5711
- y = [],
5712
- p = [],
5713
- d = [],
5714
- v = !("cyclic" in u) || u.cyclic,
5715
- b = u.encapsulateObserver,
5716
- m = function finish(e) {
5717
- var t = Object.values(f);
5718
- if (u.iterateNone) return t.length ? t[0] : getJSONType(e);
5719
- if (t.length) {
5720
- if (u.returnTypeNames) return function _toConsumableArray(e) {
5721
- return function _arrayWithoutHoles(e) {
5722
- if (Array.isArray(e)) return _arrayLikeToArray(e);
5723
- }(e) || function _iterableToArray(e) {
5724
- if ("undefined" != typeof Symbol && null != e[Symbol.iterator] || null != e["@@iterator"]) return Array.from(e);
5725
- }(e) || _unsupportedIterableToArray(e) || function _nonIterableSpread() {
5726
- throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
5727
- }();
5728
- }(new Set(t));
5729
- e && isPlainObject(e) && !a(e, "$types") ? e.$types = f : e = {
5730
- $: e,
5731
- $types: {
5732
- $: f
5733
- }
5734
- };
5735
- } else isObject(e) && a(e, "$types") && (e = {
5636
+ }, this.options), a),
5637
+ c = i.sync,
5638
+ y = {},
5639
+ l = [],
5640
+ u = [],
5641
+ p = [],
5642
+ f = !("cyclic" in i) || i.cyclic,
5643
+ d = i.encapsulateObserver,
5644
+ finish = function finish(e) {
5645
+ var t = Object.values(y);
5646
+ if (i.iterateNone) return t.length ? t[0] : getJSONType(e);
5647
+ if (t.length) {
5648
+ if (i.returnTypeNames) return _toConsumableArray(new Set(t));
5649
+ e && isPlainObject(e) && !n(e, "$types") ? e.$types = y : e = {
5736
5650
  $: e,
5737
- $types: true
5738
- });
5739
- return !u.returnTypeNames && e;
5740
- },
5741
- h = _async(function (t, r) {
5742
- return _await(Promise.all(r.map(function (e) {
5743
- return e[1].p;
5744
- })), function (n) {
5745
- return _await(Promise.all(n.map(_async(function (n) {
5746
- var a = false,
5747
- o = [],
5748
- i = _slicedToArray(r.splice(0, 1), 1),
5749
- c = _slicedToArray(i[0], 7),
5750
- s = c[0],
5751
- u = c[2],
5752
- l = c[3],
5753
- f = c[4],
5754
- y = c[5],
5755
- p = c[6],
5756
- d = O(s, n, u, l, o, true, p),
5757
- v = hasConstructorOf(d, e);
5758
- return function _invoke(e, t) {
5759
- var r = e();
5760
- return r && r.then ? r.then(t) : t(r);
5761
- }(function () {
5762
- if (s && v) return _await(d.p, function (e) {
5763
- f[y] = e;
5764
- var r = h(t, o);
5765
- return a = true, r;
5766
- });
5767
- }, function (e) {
5768
- return a ? e : (s ? f[y] = d : t = v ? d.p : d, h(t, o));
5769
- });
5770
- }))), function () {
5771
- return t;
5651
+ $types: {
5652
+ $: y
5653
+ }
5654
+ };
5655
+ } else isObject(e) && n(e, "$types") && (e = {
5656
+ $: e,
5657
+ $types: true
5658
+ });
5659
+ return !i.returnTypeNames && e;
5660
+ },
5661
+ _checkPromises = /*#__PURE__*/function () {
5662
+ var _checkPromises2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(e, t) {
5663
+ var r;
5664
+ return _regenerator().w(function (_context2) {
5665
+ while (1) switch (_context2.n) {
5666
+ case 0:
5667
+ _context2.n = 1;
5668
+ return Promise.all(t.map(function (e) {
5669
+ return e[1].p;
5670
+ }));
5671
+ case 1:
5672
+ r = _context2.v;
5673
+ _context2.n = 2;
5674
+ return Promise.all(r.map(/*#__PURE__*/function () {
5675
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(r) {
5676
+ var n, _t$splice, _t$splice2, o, _o, s, a, i, c, y, l, u, p, _t2;
5677
+ return _regenerator().w(function (_context) {
5678
+ while (1) switch (_context.n) {
5679
+ case 0:
5680
+ 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);
5681
+ if (!(s && p)) {
5682
+ _context.n = 2;
5683
+ break;
5684
+ }
5685
+ _context.n = 1;
5686
+ return u.p;
5687
+ case 1:
5688
+ _t2 = _context.v;
5689
+ return _context.a(2, (c[y] = _t2, _checkPromises(e, n)));
5690
+ case 2:
5691
+ return _context.a(2, (s ? c[y] = u : e = p ? u.p : u, _checkPromises(e, n)));
5692
+ }
5693
+ }, _callee);
5694
+ }));
5695
+ return function (_x3) {
5696
+ return _ref.apply(this, arguments);
5697
+ };
5698
+ }()));
5699
+ case 2:
5700
+ return _context2.a(2, e);
5701
+ }
5702
+ }, _callee2);
5703
+ }));
5704
+ function checkPromises(_x, _x2) {
5705
+ return _checkPromises2.apply(this, arguments);
5706
+ }
5707
+ return checkPromises;
5708
+ }(),
5709
+ _adaptBuiltinStateObjectProperties = function _adaptBuiltinStateObjectProperties(e, t, r) {
5710
+ Object.assign(e, t);
5711
+ var n = s.map(function (t) {
5712
+ var r = e[t];
5713
+ return delete e[t], r;
5714
+ });
5715
+ r(), s.forEach(function (t, r) {
5716
+ e[t] = n[r];
5717
+ });
5718
+ },
5719
+ _encapsulate2 = function _encapsulate(e, t, s, a, c, p, f) {
5720
+ var m,
5721
+ h = {};
5722
+ var g = d ? function (r) {
5723
+ var _ref2;
5724
+ var n = (_ref2 = f !== null && f !== void 0 ? f : a.type) !== null && _ref2 !== void 0 ? _ref2 : getJSONType(t);
5725
+ d(Object.assign(r !== null && r !== void 0 ? r : h, {
5726
+ keypath: e,
5727
+ value: t,
5728
+ cyclic: s,
5729
+ stateObj: a,
5730
+ promisesData: c,
5731
+ resolvingTypesonPromise: p,
5732
+ awaitingTypesonPromise: hasConstructorOf(t, TypesonPromise)
5733
+ }, {
5734
+ type: n
5735
+ }));
5736
+ } : null;
5737
+ 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 = {
5738
+ replaced: m
5739
+ })) : m = t, g && g(), m;
5740
+ if (null === t) return g && g(), t;
5741
+ if (s && t && "object" == _typeof$1(t) && !a.iterateIn && !a.iterateUnsetNumeric) {
5742
+ var _r = l.indexOf(t);
5743
+ if (-1 !== _r) return y[e] = "#", g && g({
5744
+ cyclicKeypath: u[_r]
5745
+ }), "#" + u[_r];
5746
+ true === s && (l.push(t), u.push(e));
5747
+ }
5748
+ var b = isPlainObject(t),
5749
+ v = o(t),
5750
+ O = (b || v) && (!_this2.plainObjectReplacers.length || a.replaced) || a.iterateIn ? t : replace(e, t, a, c, b || v, null, g);
5751
+ var w;
5752
+ if (O !== t ? (m = O, h = {
5753
+ replaced: O
5754
+ }) : "" === 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 = {
5755
+ clone: w
5756
+ }) : !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 = {
5757
+ clone: w
5758
+ }), g && g(), i.iterateNone) return w !== null && w !== void 0 ? w : m;
5759
+ if (!w) return m;
5760
+ if (a.iterateIn) {
5761
+ var _loop = function _loop(_r2) {
5762
+ var o = {
5763
+ ownKeys: n(t, _r2)
5764
+ };
5765
+ _adaptBuiltinStateObjectProperties(a, o, function () {
5766
+ var n = e + (e ? "." : "") + escapeKeyPathComponent(_r2),
5767
+ o = _encapsulate2(n, t[_r2], Boolean(s), a, c, p);
5768
+ hasConstructorOf(o, TypesonPromise) ? c.push([n, o, Boolean(s), a, w, _r2, a.type]) : void 0 !== o && (w[_r2] = o);
5772
5769
  });
5770
+ };
5771
+ for (var _r2 in t) {
5772
+ _loop(_r2);
5773
+ }
5774
+ g && g({
5775
+ endIterateIn: true,
5776
+ end: true
5773
5777
  });
5774
- }),
5775
- g = function _adaptBuiltinStateObjectProperties(e, t, r) {
5776
- Object.assign(e, t);
5777
- var n = i.map(function (t) {
5778
- var r = e[t];
5779
- return delete e[t], r;
5780
- });
5781
- r(), i.forEach(function (t, r) {
5782
- e[t] = n[r];
5778
+ } else r(t).forEach(function (r) {
5779
+ var n = e + (e ? "." : "") + escapeKeyPathComponent(r);
5780
+ _adaptBuiltinStateObjectProperties(a, {
5781
+ ownKeys: true
5782
+ }, function () {
5783
+ var e = _encapsulate2(n, t[r], Boolean(s), a, c, p);
5784
+ hasConstructorOf(e, TypesonPromise) ? c.push([n, e, Boolean(s), a, w, r, a.type]) : void 0 !== e && (w[r] = e);
5783
5785
  });
5784
- },
5785
- O = function _encapsulate(t, r, i, c, l, d, v) {
5786
- var m,
5787
- h = {},
5788
- O = _typeof(r),
5789
- _ = b ? function (n) {
5790
- var a,
5791
- o = null !== (a = null != v ? v : c.type) && void 0 !== a ? a : getJSONType(r);
5792
- b(Object.assign(null != n ? n : h, {
5793
- keypath: t,
5794
- value: r,
5795
- cyclic: i,
5796
- stateObj: c,
5797
- promisesData: l,
5798
- resolvingTypesonPromise: d,
5799
- awaitingTypesonPromise: hasConstructorOf(r, e)
5800
- }, {
5801
- type: o
5802
- }));
5803
- } : null;
5804
- 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 = {
5805
- replaced: m
5806
- }) : m = r, _ && _(), m;
5807
- if (null === r) return _ && _(), r;
5808
- if (i && !c.iterateIn && !c.iterateUnsetNumeric && r && "object" === _typeof(r)) {
5809
- var A = y.indexOf(r);
5810
- if (!(A < 0)) return f[t] = "#", _ && _({
5811
- cyclicKeypath: p[A]
5812
- }), "#" + p[A];
5813
- true === i && (y.push(r), p.push(t));
5814
- }
5815
- var S,
5816
- j,
5817
- T = isPlainObject(r),
5818
- I = o(r),
5819
- N = (T || I) && (!s.plainObjectReplacers.length || c.replaced) || c.iterateIn ? r : w(t, r, c, l, T || I, null, _);
5820
- if (N !== r ? (m = N, h = {
5821
- replaced: N
5822
- }) : "" === 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 = {
5823
- clone: S
5824
- }) : (["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 = {
5825
- clone: S
5826
- }), _ && _(), u.iterateNone) return null !== (j = S) && void 0 !== j ? j : m;
5827
- if (!S) return m;
5828
- if (c.iterateIn) {
5829
- var P = function _loop(n) {
5830
- var o = {
5831
- ownKeys: a(r, n)
5832
- };
5833
- g(c, o, function () {
5834
- var a = t + (t ? "." : "") + escapeKeyPathComponent(n),
5835
- o = _encapsulate(a, r[n], Boolean(i), c, l, d);
5836
- hasConstructorOf(o, e) ? l.push([a, o, Boolean(i), c, S, n, c.type]) : void 0 !== o && (S[n] = o);
5837
- });
5838
- };
5839
- for (var x in r) P(x);
5840
- _ && _({
5841
- endIterateIn: true,
5842
- end: true
5843
- });
5844
- } else n(r).forEach(function (n) {
5845
- var a = t + (t ? "." : "") + escapeKeyPathComponent(n);
5846
- g(c, {
5847
- ownKeys: true
5786
+ }), g && g({
5787
+ endIterateOwn: true,
5788
+ end: true
5789
+ });
5790
+ if (a.iterateUnsetNumeric) {
5791
+ var _r3 = t.length;
5792
+ var _loop2 = function _loop2(_n2) {
5793
+ if (_n2 in t) return 1; // continue
5794
+ var r = "".concat(e).concat(e ? "." : "").concat(String(_n2));
5795
+ _adaptBuiltinStateObjectProperties(a, {
5796
+ ownKeys: false
5848
5797
  }, function () {
5849
- var t = _encapsulate(a, r[n], Boolean(i), c, l, d);
5850
- hasConstructorOf(t, e) ? l.push([a, t, Boolean(i), c, S, n, c.type]) : void 0 !== t && (S[n] = t);
5798
+ var e = _encapsulate2(r, void 0, Boolean(s), a, c, p);
5799
+ hasConstructorOf(e, TypesonPromise) ? c.push([r, e, Boolean(s), a, w, _n2, a.type]) : void 0 !== e && (w[_n2] = e);
5851
5800
  });
5852
- }), _ && _({
5853
- endIterateOwn: true,
5801
+ };
5802
+ for (var _n2 = 0; _n2 < _r3; _n2++) {
5803
+ if (_loop2(_n2)) continue;
5804
+ }
5805
+ g && g({
5806
+ endIterateUnsetNumeric: true,
5854
5807
  end: true
5855
5808
  });
5856
- if (c.iterateUnsetNumeric) {
5857
- for (var E = r.length, C = function _loop2(n) {
5858
- if (!(n in r)) {
5859
- var a = "".concat(t).concat(t ? "." : "").concat(n);
5860
- g(c, {
5861
- ownKeys: false
5862
- }, function () {
5863
- var t = _encapsulate(a, void 0, Boolean(i), c, l, d);
5864
- hasConstructorOf(t, e) ? l.push([a, t, Boolean(i), c, S, n, c.type]) : void 0 !== t && (S[n] = t);
5865
- });
5866
- }
5867
- }, B = 0; B < E; B++) C(B);
5868
- _ && _({
5869
- endIterateUnsetNumeric: true,
5870
- end: true
5871
- });
5872
- }
5873
- return S;
5874
- },
5875
- w = function replace(e, t, r, n, a, o, i) {
5876
- for (var c = a ? s.plainObjectReplacers : s.nonplainObjectReplacers, u = c.length; u--;) {
5877
- var y = c[u];
5878
- if (y.test(t, r)) {
5879
- var p = y.type;
5880
- if (s.revivers[p]) {
5881
- var d = f[e];
5882
- f[e] = d ? [p].concat(d) : p;
5883
- }
5884
- if (Object.assign(r, {
5885
- type: p,
5886
- replaced: true
5887
- }), (l || !y.replaceAsync) && !y.replace) return i && i({
5888
- typeDetected: true
5889
- }), O(e, t, v && "readonly", r, n, o, p);
5890
- i && i({
5891
- replacing: true
5892
- });
5893
- var b = void 0;
5894
- if (l || !y.replaceAsync) {
5895
- if (void 0 === y.replace) throw new TypeError("Missing replacer");
5896
- b = y.replace(t, r);
5897
- } else b = y.replaceAsync(t, r);
5898
- return O(e, b, v && "readonly", r, n, o, p);
5809
+ }
5810
+ return w;
5811
+ },
5812
+ replace = function replace(e, t, r, n, o, s, a) {
5813
+ var i = o ? _this2.plainObjectReplacers : _this2.nonplainObjectReplacers;
5814
+ var l = i.length;
5815
+ for (; l--;) {
5816
+ var _o2 = i[l];
5817
+ if (_o2.test(t, r)) {
5818
+ var _i = _o2.type;
5819
+ if (Object.hasOwn(_this2.revivers, _i)) {
5820
+ var _t3 = y[e];
5821
+ y[e] = _t3 ? [_i].concat(_t3) : _i;
5899
5822
  }
5823
+ if (Object.assign(r, {
5824
+ type: _i,
5825
+ replaced: true
5826
+ }), (c || !_o2.replaceAsync) && !_o2.replace) return a && a({
5827
+ typeDetected: true
5828
+ }), _encapsulate2(e, t, f && "readonly", r, n, s, _i);
5829
+ var _l = void 0;
5830
+ if (a && a({
5831
+ replacing: true
5832
+ }), c || !_o2.replaceAsync) {
5833
+ if (void 0 === _o2.replace) throw new TypeError("Missing replacer");
5834
+ _l = _o2.replace(t, r);
5835
+ } else _l = _o2.replaceAsync(t, r);
5836
+ return _encapsulate2(e, _l, f && "readonly", r, n, s, _i);
5900
5837
  }
5901
- return t;
5902
- },
5903
- _ = O("", t, v, null != r ? r : {}, d);
5904
- if (d.length) return l && u.throwOnBadSyncType ? function () {
5905
- throw new TypeError("Sync method requested but async result obtained");
5906
- }() : Promise.resolve(h(_, d)).then(m);
5907
- if (!l && u.throwOnBadSyncType) throw new TypeError("Async method requested but sync result obtained");
5908
- return u.stringification && l ? [m(_)] : l ? m(_) : Promise.resolve(m(_));
5909
- }
5910
- }, {
5911
- key: "encapsulateSync",
5912
- value: function encapsulateSync(e, t, r) {
5913
- return this.encapsulate(e, t, _objectSpread2(_objectSpread2({
5914
- throwOnBadSyncType: true
5915
- }, r), {}, {
5838
+ }
5839
+ return t;
5840
+ },
5841
+ m = _encapsulate2("", e, f, t !== null && t !== void 0 ? t : {}, p);
5842
+ if (p.length) return c && i.throwOnBadSyncType ? function () {
5843
+ throw new TypeError("Sync method requested but async result obtained");
5844
+ }() : Promise.resolve(_checkPromises(m, p)).then(finish);
5845
+ if (!c && i.throwOnBadSyncType) throw new TypeError("Async method requested but sync result obtained");
5846
+ return c && i.stringification ? [finish(m)] : c ? finish(m) : Promise.resolve(finish(m));
5847
+ }
5848
+ }, {
5849
+ key: "encapsulateSync",
5850
+ value: function encapsulateSync(e, t, r) {
5851
+ return this.encapsulate(e, t, _objectSpread2(_objectSpread2({
5852
+ throwOnBadSyncType: true
5853
+ }, r), {}, {
5854
+ sync: true
5855
+ }));
5856
+ }
5857
+ }, {
5858
+ key: "encapsulateAsync",
5859
+ value: function encapsulateAsync(e, t, r) {
5860
+ return this.encapsulate(e, t, _objectSpread2(_objectSpread2({
5861
+ throwOnBadSyncType: true
5862
+ }, r), {}, {
5863
+ sync: false
5864
+ }));
5865
+ }
5866
+ }, {
5867
+ key: "revive",
5868
+ value: function revive(e, t) {
5869
+ var _this3 = this;
5870
+ var s = _objectSpread2(_objectSpread2({
5916
5871
  sync: true
5917
- }));
5918
- }
5919
- }, {
5920
- key: "encapsulateAsync",
5921
- value: function encapsulateAsync(e, t, r) {
5922
- return this.encapsulate(e, t, _objectSpread2(_objectSpread2({
5923
- throwOnBadSyncType: true
5924
- }, r), {}, {
5925
- sync: false
5926
- }));
5927
- }
5928
- }, {
5929
- key: "revive",
5930
- value: function revive(t, r) {
5931
- var a = this,
5932
- i = _objectSpread2(_objectSpread2({
5933
- sync: true
5934
- }, this.options), r),
5935
- c = i.sync;
5936
- function finishRevival(e) {
5937
- if (c) return e;
5938
- if (i.throwOnBadSyncType) throw new TypeError("Async method requested but sync result obtained");
5939
- return Promise.resolve(e);
5872
+ }, this.options), t),
5873
+ a = s.sync;
5874
+ function finishRevival(e) {
5875
+ if (a) return e;
5876
+ if (s.throwOnBadSyncType) throw new TypeError("Async method requested but sync result obtained");
5877
+ return Promise.resolve(e);
5878
+ }
5879
+ if (!e || "object" != _typeof$1(e) || Array.isArray(e)) return finishRevival(e);
5880
+ var i = e.$types;
5881
+ if (true === i) return finishRevival(e.$);
5882
+ if (!i || "object" != _typeof$1(i) || Array.isArray(i)) return finishRevival(e);
5883
+ var c = [],
5884
+ y = Object.create(null),
5885
+ l = {};
5886
+ var u = true;
5887
+ i.$ && isPlainObject(i.$) && (e = e.$, i = i.$, u = false);
5888
+ var executeReviver = function executeReviver(e, t) {
5889
+ var _this3$revivers$e;
5890
+ var _ref3 = (_this3$revivers$e = _this3.revivers[e]) !== null && _this3$revivers$e !== void 0 ? _this3$revivers$e : [],
5891
+ _ref4 = _slicedToArray(_ref3, 1),
5892
+ r = _ref4[0];
5893
+ if (!r) throw new Error("Unregistered type: " + e);
5894
+ if (a && !("revive" in r)) return t;
5895
+ if (!a && r.reviveAsync) return r.reviveAsync(t, l);
5896
+ if (r.revive) return r.revive(t, l);
5897
+ throw new Error("Missing reviver");
5898
+ },
5899
+ p = [];
5900
+ function checkUndefined(e) {
5901
+ return hasConstructorOf(e, Undefined) ? void 0 : e;
5902
+ }
5903
+ var f = function () {
5904
+ if (!i) throw new Error("Found bad `types`");
5905
+ var t = [];
5906
+ if (Object.entries(i).forEach(function (_ref5) {
5907
+ var _ref6 = _slicedToArray(_ref5, 2),
5908
+ e = _ref6[0],
5909
+ r = _ref6[1];
5910
+ "#" !== r && [].concat(r).forEach(function (r) {
5911
+ var _this3$revivers$r;
5912
+ var _ref7 = (_this3$revivers$r = _this3.revivers[r]) !== null && _this3$revivers$r !== void 0 ? _this3$revivers$r : [null, {}],
5913
+ _ref8 = _slicedToArray(_ref7, 2),
5914
+ n = _ref8[1].plain;
5915
+ n && (t.push({
5916
+ keypath: e,
5917
+ type: r
5918
+ }), delete i[e]);
5919
+ });
5920
+ }), t.length) return t.sort(nestedPathsFirst), t.reduce(function reducer(t, _ref9) {
5921
+ var r = _ref9.keypath,
5922
+ n = _ref9.type;
5923
+ if (isThenable(t)) return t.then(function (e) {
5924
+ return reducer(e, {
5925
+ keypath: r,
5926
+ type: n
5927
+ });
5928
+ });
5929
+ var o = getByKeyPath(e, r);
5930
+ if (o = executeReviver(n, o), hasConstructorOf(o, TypesonPromise)) return o.then(function (t) {
5931
+ var n = setAtKeyPath(e, r, t);
5932
+ n === t && (e = n);
5933
+ });
5934
+ var s = setAtKeyPath(e, r, o);
5935
+ s === o && (e = s);
5936
+ }, void 0);
5937
+ }();
5938
+ var d;
5939
+ return hasConstructorOf(f, TypesonPromise) ? d = f.then(function () {
5940
+ return e;
5941
+ }) : (d = function _revive(e, t, s, l, f) {
5942
+ if (u && "$types" === e) return;
5943
+ var d = p.length,
5944
+ m = i[e],
5945
+ h = o(t);
5946
+ if (h || isPlainObject(t)) {
5947
+ var _o3 = h ? new Array(t.length) : {};
5948
+ for (r(t).forEach(function (r) {
5949
+ var n = _revive(e + (e ? "." : "") + escapeKeyPathComponent(r), t[r], s !== null && s !== void 0 ? s : _o3, _o3, r),
5950
+ set = function set(e) {
5951
+ return hasConstructorOf(e, Undefined) ? _o3[r] = void 0 : void 0 !== e && (_o3[r] = e), e;
5952
+ };
5953
+ hasConstructorOf(n, TypesonPromise) ? p.push(n.then(function (e) {
5954
+ return set(e);
5955
+ })) : set(n);
5956
+ }), t = _o3; c.length;) {
5957
+ var _c$ = _slicedToArray(c[0], 4),
5958
+ _e = _c$[0],
5959
+ _t4 = _c$[1],
5960
+ _r4 = _c$[2],
5961
+ _o4 = _c$[3],
5962
+ _s = n(y, _t4),
5963
+ _a = _s ? y[_t4] : getByKeyPath(_e, _t4);
5964
+ if (!_s && void 0 === _a) break;
5965
+ _r4[_o4] = _a, c.shift();
5966
+ }
5940
5967
  }
5941
- if (!t || "object" !== _typeof(t) || Array.isArray(t)) return finishRevival(t);
5942
- var u = t.$types;
5943
- if (true === u) return finishRevival(t.$);
5944
- if (!u || "object" !== _typeof(u) || Array.isArray(u)) return finishRevival(t);
5945
- var l = [],
5946
- f = {},
5947
- y = true;
5948
- u.$ && isPlainObject(u.$) && (t = t.$, u = u.$, y = false);
5949
- var p = function executeReviver(e, t) {
5950
- var r,
5951
- n = _slicedToArray(null !== (r = a.revivers[e]) && void 0 !== r ? r : [], 1)[0];
5952
- if (!n) throw new Error("Unregistered type: " + e);
5953
- if (c && !("revive" in n)) return t;
5954
- if (!c && n.reviveAsync) return n.reviveAsync(t, f);
5955
- if (n.revive) return n.revive(t, f);
5956
- throw new Error("Missing reviver");
5957
- },
5958
- d = [];
5959
- function checkUndefined(e) {
5960
- return hasConstructorOf(e, s) ? void 0 : e;
5968
+ if (!m) return y[e] = t, t;
5969
+ if ("#" === m) {
5970
+ var _e2 = t.slice(1),
5971
+ _r5 = n(y, _e2),
5972
+ _o5 = _r5 ? y[_e2] : getByKeyPath(s, _e2);
5973
+ return _r5 || void 0 !== _o5 || c.push([s, _e2, l, f]), _o5;
5961
5974
  }
5962
- var v,
5963
- b = function revivePlainObjects() {
5964
- var r = [];
5965
- if (!u) throw new Error("Found bad `types`");
5966
- if (Object.entries(u).forEach(function (e) {
5967
- var t = _slicedToArray(e, 2),
5968
- n = t[0],
5969
- o = t[1];
5970
- "#" !== o && [].concat(o).forEach(function (e) {
5971
- var t;
5972
- _slicedToArray(null !== (t = a.revivers[e]) && void 0 !== t ? t : [null, {}], 2)[1].plain && (r.push({
5973
- keypath: n,
5974
- type: e
5975
- }), delete u[n]);
5976
- });
5977
- }), r.length) return r.sort(nestedPathsFirst).reduce(function reducer(r, n) {
5978
- var a = n.keypath,
5979
- o = n.type;
5980
- if (isThenable(r)) return r.then(function (e) {
5981
- return reducer(e, {
5982
- keypath: a,
5983
- type: o
5984
- });
5985
- });
5986
- var i = getByKeyPath(t, a);
5987
- if (hasConstructorOf(i = p(o, i), e)) return i.then(function (e) {
5988
- var r = setAtKeyPath(t, a, e);
5989
- r === e && (t = r);
5975
+ var applyType = function applyType(t) {
5976
+ var r = [].concat(m).reduce(function reducer(e, t) {
5977
+ if (hasConstructorOf(e, TypesonPromise)) return e.then(function (e) {
5978
+ return reducer(e, t);
5979
+ });
5980
+ if ("string" != typeof t) throw new TypeError("Bad type JSON");
5981
+ return executeReviver(t, e);
5982
+ }, t);
5983
+ return hasConstructorOf(r, TypesonPromise) ? r.then(function (t) {
5984
+ return y[e] = t, t;
5985
+ }) : (y[e] = r, r);
5986
+ };
5987
+ return !a && p.length > d ? TypesonPromise.all(p.slice(d)).then(function () {
5988
+ return applyType(t);
5989
+ }) : applyType(t);
5990
+ }("", e, null), p.length && (d = TypesonPromise.resolve(d).then(function (e) {
5991
+ return TypesonPromise.all([e].concat(p));
5992
+ }).then(function (_ref0) {
5993
+ var _ref1 = _slicedToArray(_ref0, 1),
5994
+ e = _ref1[0];
5995
+ return e;
5996
+ }))), isThenable(d) ? a && s.throwOnBadSyncType ? function () {
5997
+ throw new TypeError("Sync method requested but async result obtained");
5998
+ }() : hasConstructorOf(d, TypesonPromise) ? d.p.then(checkUndefined) : d : !a && s.throwOnBadSyncType ? function () {
5999
+ throw new TypeError("Async method requested but sync result obtained");
6000
+ }() : a ? checkUndefined(d) : Promise.resolve(checkUndefined(d));
6001
+ }
6002
+ }, {
6003
+ key: "reviveSync",
6004
+ value: function reviveSync(e, t) {
6005
+ return this.revive(e, _objectSpread2(_objectSpread2({
6006
+ throwOnBadSyncType: true
6007
+ }, t), {}, {
6008
+ sync: true
6009
+ }));
6010
+ }
6011
+ }, {
6012
+ key: "reviveAsync",
6013
+ value: function reviveAsync(e, t) {
6014
+ return this.revive(e, _objectSpread2(_objectSpread2({
6015
+ throwOnBadSyncType: true
6016
+ }, t), {}, {
6017
+ sync: false
6018
+ }));
6019
+ }
6020
+ }, {
6021
+ key: "register",
6022
+ value: function register(e, t) {
6023
+ var _this4 = this;
6024
+ var n = t !== null && t !== void 0 ? t : {},
6025
+ _reg = function reg(e) {
6026
+ o(e) ? e.forEach(function (e) {
6027
+ _reg(e);
6028
+ }) : r(e).forEach(function (t) {
6029
+ var _r8;
6030
+ if ("#" === t) throw new TypeError("# cannot be used as a type name as it is reserved for cyclic objects");
6031
+ if (a.includes(t)) throw new TypeError("Plain JSON object types are reserved as type names");
6032
+ var r = e[t];
6033
+ var s = r && "function" != typeof r && !Array.isArray(r) && r.testPlainObjects ? _this4.plainObjectReplacers : _this4.nonplainObjectReplacers,
6034
+ i = s.filter(function (e) {
6035
+ return e.type === t;
5990
6036
  });
5991
- var c = setAtKeyPath(t, a, i);
5992
- c === i && (t = c);
5993
- }, void 0);
5994
- }();
5995
- return hasConstructorOf(b, e) ? v = b.then(function () {
5996
- return t;
5997
- }) : (v = function _revive(t, r, a, i, c) {
5998
- if (!y || "$types" !== t) {
5999
- var f = u[t],
6000
- v = o(r);
6001
- if (v || isPlainObject(r)) {
6002
- var b = v ? new Array(r.length) : {};
6003
- for (n(r).forEach(function (n) {
6004
- var o = _revive(t + (t ? "." : "") + escapeKeyPathComponent(n), r[n], null != a ? a : b, b, n),
6005
- i = function set(e) {
6006
- return hasConstructorOf(e, s) ? b[n] = void 0 : void 0 !== e && (b[n] = e), e;
6007
- };
6008
- hasConstructorOf(o, e) ? d.push(o.then(function (e) {
6009
- return i(e);
6010
- })) : i(o);
6011
- }), r = b; l.length;) {
6012
- var m = _slicedToArray(l[0], 4),
6013
- h = m[0],
6014
- g = m[1],
6015
- O = m[2],
6016
- w = m[3],
6017
- _ = getByKeyPath(h, g);
6018
- if (void 0 === _) break;
6019
- O[w] = _, l.splice(0, 1);
6020
- }
6037
+ if (i.length && (s.splice(s.indexOf(i[0]), 1), delete _this4.revivers[t], delete _this4.types[t]), "function" == typeof r) {
6038
+ var _e3 = r;
6039
+ r = {
6040
+ test: function test(t) {
6041
+ return t && t.constructor === _e3;
6042
+ },
6043
+ replace: function replace(e) {
6044
+ return _objectSpread2({}, e);
6045
+ },
6046
+ revive: function revive(t) {
6047
+ return Object.assign(Object.create(_e3.prototype), t);
6048
+ }
6049
+ };
6050
+ } else if (o(r)) {
6051
+ var _r6 = r,
6052
+ _r7 = _slicedToArray(_r6, 3),
6053
+ _e4 = _r7[0],
6054
+ _t5 = _r7[1],
6055
+ _n3 = _r7[2];
6056
+ r = {
6057
+ test: _e4,
6058
+ replace: _t5,
6059
+ revive: _n3
6060
+ };
6021
6061
  }
6022
- if (!f) return r;
6023
- if ("#" === f) {
6024
- var A = getByKeyPath(a, r.slice(1));
6025
- return void 0 === A && l.push([a, r.slice(1), i, c]), A;
6062
+ if (!((_r8 = r) !== null && _r8 !== void 0 && _r8.test)) return;
6063
+ var c = {
6064
+ type: t,
6065
+ test: r.test.bind(r)
6066
+ };
6067
+ r.replace && (c.replace = r.replace.bind(r)), r.replaceAsync && (c.replaceAsync = r.replaceAsync.bind(r));
6068
+ var y = "number" == typeof n.fallback ? n.fallback : n.fallback ? 0 : 1 / 0;
6069
+ if (r.testPlainObjects ? _this4.plainObjectReplacers.splice(y, 0, c) : _this4.nonplainObjectReplacers.splice(y, 0, c), r.revive || r.reviveAsync) {
6070
+ var _e5 = {};
6071
+ r.revive && (_e5.revive = r.revive.bind(r)), r.reviveAsync && (_e5.reviveAsync = r.reviveAsync.bind(r)), _this4.revivers[t] = [_e5, {
6072
+ plain: r.testPlainObjects
6073
+ }];
6026
6074
  }
6027
- return [].concat(f).reduce(function reducer(t, r) {
6028
- if (hasConstructorOf(t, e)) return t.then(function (e) {
6029
- return reducer(e, r);
6030
- });
6031
- if ("string" != typeof r) throw new TypeError("Bad type JSON");
6032
- return p(r, t);
6033
- }, r);
6034
- }
6035
- }("", t, null), d.length && (v = e.resolve(v).then(function (t) {
6036
- return e.all([t].concat(d));
6037
- }).then(function (e) {
6038
- return _slicedToArray(e, 1)[0];
6039
- }))), isThenable(v) ? c && i.throwOnBadSyncType ? function () {
6040
- throw new TypeError("Sync method requested but async result obtained");
6041
- }() : hasConstructorOf(v, e) ? v.p.then(checkUndefined) : v : !c && i.throwOnBadSyncType ? function () {
6042
- throw new TypeError("Async method requested but sync result obtained");
6043
- }() : c ? checkUndefined(v) : Promise.resolve(checkUndefined(v));
6044
- }
6045
- }, {
6046
- key: "reviveSync",
6047
- value: function reviveSync(e, t) {
6048
- return this.revive(e, _objectSpread2(_objectSpread2({
6049
- throwOnBadSyncType: true
6050
- }, t), {}, {
6051
- sync: true
6052
- }));
6053
- }
6054
- }, {
6055
- key: "reviveAsync",
6056
- value: function reviveAsync(e, t) {
6057
- return this.revive(e, _objectSpread2(_objectSpread2({
6058
- throwOnBadSyncType: true
6059
- }, t), {}, {
6060
- sync: false
6061
- }));
6062
- }
6063
- }, {
6064
- key: "register",
6065
- value: function register(e, t) {
6066
- var r = this,
6067
- a = null != t ? t : {},
6068
- i = function R(e) {
6069
- o(e) ? e.forEach(function (e) {
6070
- return R(e);
6071
- }) : n(e).forEach(function (t) {
6072
- var n;
6073
- if ("#" === t) throw new TypeError("# cannot be used as a type name as it is reserved for cyclic objects");
6074
- if (u.includes(t)) throw new TypeError("Plain JSON object types are reserved as type names");
6075
- var i = e[t],
6076
- c = i && "function" != typeof i && !Array.isArray(i) && i.testPlainObjects ? r.plainObjectReplacers : r.nonplainObjectReplacers,
6077
- s = c.filter(function (e) {
6078
- return e.type === t;
6079
- });
6080
- if (s.length && (c.splice(c.indexOf(s[0]), 1), delete r.revivers[t], delete r.types[t]), "function" == typeof i) {
6081
- var l = i;
6082
- i = {
6083
- test: function test(e) {
6084
- return e && e.constructor === l;
6085
- },
6086
- replace: function replace(e) {
6087
- return _objectSpread2({}, e);
6088
- },
6089
- revive: function revive(e) {
6090
- return Object.assign(Object.create(l.prototype), e);
6091
- }
6092
- };
6093
- } else if (o(i)) {
6094
- var f = _slicedToArray(i, 3);
6095
- i = {
6096
- test: f[0],
6097
- replace: f[1],
6098
- revive: f[2]
6099
- };
6100
- }
6101
- if (null !== (n = i) && void 0 !== n && n.test) {
6102
- var y = {
6103
- type: t,
6104
- test: i.test.bind(i)
6105
- };
6106
- i.replace && (y.replace = i.replace.bind(i)), i.replaceAsync && (y.replaceAsync = i.replaceAsync.bind(i));
6107
- var p = "number" == typeof a.fallback ? a.fallback : a.fallback ? 0 : Number.POSITIVE_INFINITY;
6108
- if (i.testPlainObjects ? r.plainObjectReplacers.splice(p, 0, y) : r.nonplainObjectReplacers.splice(p, 0, y), i.revive || i.reviveAsync) {
6109
- var d = {};
6110
- i.revive && (d.revive = i.revive.bind(i)), i.reviveAsync && (d.reviveAsync = i.reviveAsync.bind(i)), r.revivers[t] = [d, {
6111
- plain: i.testPlainObjects
6112
- }];
6113
- }
6114
- r.types[t] = i;
6115
- }
6116
- });
6117
- };
6118
- return [].concat(e).forEach(function (e) {
6119
- return i(e);
6120
- }), this;
6121
- }
6122
- }]), Typeson;
6123
- }(),
6124
- s = _createClass(function Undefined() {
6125
- _classCallCheck(this, Undefined);
6126
- });
6127
- s.__typeson__type__ = "TypesonUndefined";
6128
- 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;
6129
- var p = function encode(e, t, r) {
6075
+ _this4.types[t] = r;
6076
+ });
6077
+ };
6078
+ return [].concat(e).forEach(function (e) {
6079
+ _reg(e);
6080
+ }), this;
6081
+ }
6082
+ }]);
6083
+ }();
6084
+ var Undefined = /*#__PURE__*/_createClass(function Undefined() {
6085
+ _classCallCheck(this, Undefined);
6086
+ });
6087
+ Undefined.__typeson__type__ = "TypesonUndefined";
6088
+ var a = ["null", "boolean", "number", "string", "array", "object"];
6089
+ for (var i = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", c = new Uint8Array(256), y = 0; y < 64; y++) c[i.codePointAt(y)] = y;
6090
+ var l = function encode(e, t, r) {
6130
6091
  null == r && (r = e.byteLength);
6131
- 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]];
6132
- return a % 3 == 2 ? o = o.slice(0, -1) + "=" : a % 3 == 1 && (o = o.slice(0, -2) + "=="), o;
6092
+ 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]];
6093
+ return o % 3 == 2 ? s = s.slice(0, -1) + "=" : o % 3 == 1 && (s = s.slice(0, -2) + "=="), s;
6133
6094
  },
6134
- d = function decode(e, t) {
6095
+ u = function decode(e, t) {
6135
6096
  var r = e.length;
6136
6097
  if (r % 4) throw new Error("Bad base64 length: not divisible by four");
6137
6098
  var n,
6138
- a,
6139
6099
  o,
6140
- i,
6141
- c = .75 * e.length,
6142
- s = 0;
6143
- "=" === e[e.length - 1] && (c--, "=" === e[e.length - 2] && c--);
6144
- 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;
6145
- return u;
6100
+ s,
6101
+ a,
6102
+ i = .75 * e.length,
6103
+ y = 0;
6104
+ "=" === e[e.length - 1] && (i--, "=" === e[e.length - 2] && i--);
6105
+ 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;
6106
+ return l;
6146
6107
  };
6147
- var v = {
6108
+ var p = {
6148
6109
  arraybuffer: {
6149
6110
  test: function test(e) {
6150
6111
  return "ArrayBuffer" === toStringTag(e);
@@ -6152,27 +6113,27 @@
6152
6113
  replace: function replace(e, t) {
6153
6114
  t.buffers || (t.buffers = []);
6154
6115
  var r = t.buffers.indexOf(e);
6155
- return r > -1 ? {
6116
+ return -1 !== r ? {
6156
6117
  index: r
6157
6118
  } : (t.buffers.push(e), {
6158
- s: p(e),
6119
+ s: l(e),
6159
6120
  maxByteLength: e.maxByteLength,
6160
6121
  resizable: e.resizable
6161
6122
  });
6162
6123
  },
6163
6124
  revive: function revive(e, t) {
6164
6125
  if (t.buffers || (t.buffers = []), Object.hasOwn(e, "index")) return t.buffers[e.index];
6165
- var r = d(e.s, e.resizable ? {
6126
+ var r = u(e.s, e.resizable ? {
6166
6127
  maxByteLength: e.maxByteLength
6167
6128
  } : void 0);
6168
6129
  return t.buffers.push(r), r;
6169
6130
  }
6170
6131
  }
6171
6132
  },
6172
- b = {
6133
+ f = {
6173
6134
  bigintObject: {
6174
6135
  test: function test(e) {
6175
- return "object" == _typeof$2(e) && hasConstructorOf(e, BigInt);
6136
+ return "object" == _typeof$1(e) && hasConstructorOf(e, BigInt);
6176
6137
  },
6177
6138
  replace: String,
6178
6139
  revive: function revive(e) {
@@ -6180,7 +6141,7 @@
6180
6141
  }
6181
6142
  }
6182
6143
  },
6183
- m = {
6144
+ d = {
6184
6145
  bigint: {
6185
6146
  test: function test(e) {
6186
6147
  return "bigint" == typeof e;
@@ -6198,10 +6159,10 @@
6198
6159
  }
6199
6160
  function string2arraybuffer(e) {
6200
6161
  var t = new Uint8Array(e.length);
6201
- for (var _r = 0; _r < e.length; _r++) t[_r] = e.charCodeAt(_r);
6162
+ for (var _r9 = 0; _r9 < e.length; _r9++) t[_r9] = e.charCodeAt(_r9);
6202
6163
  return t.buffer;
6203
6164
  }
6204
- var h = {
6165
+ var m = {
6205
6166
  blob: {
6206
6167
  test: function test(e) {
6207
6168
  return "Blob" === toStringTag(e);
@@ -6221,57 +6182,57 @@
6221
6182
  type: t
6222
6183
  });
6223
6184
  },
6224
- replaceAsync: function replaceAsync(t) {
6225
- return new e(function (e, r) {
6185
+ replaceAsync: function replaceAsync(e) {
6186
+ return new TypesonPromise(function (t, r) {
6226
6187
  var n = new FileReader();
6227
6188
  n.addEventListener("load", function () {
6228
- e({
6229
- type: t.type,
6189
+ t({
6190
+ type: e.type,
6230
6191
  stringContents: arraybuffer2string(n.result)
6231
6192
  });
6232
6193
  }), n.addEventListener("error", function () {
6233
6194
  r(n.error);
6234
- }), n.readAsArrayBuffer(t);
6195
+ }), n.readAsArrayBuffer(e);
6235
6196
  });
6236
6197
  }
6237
6198
  }
6238
6199
  };
6239
- var w = {
6200
+ var b = {
6240
6201
  cryptokey: {
6241
6202
  test: function test(e) {
6242
6203
  return "CryptoKey" === toStringTag(e) && e.extractable;
6243
6204
  },
6244
- replaceAsync: function replaceAsync(t) {
6245
- return new e(/*#__PURE__*/function () {
6246
- var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(e, r) {
6247
- var n, _t;
6248
- return _regenerator().w(function (_context) {
6249
- while (1) switch (_context.n) {
6205
+ replaceAsync: function replaceAsync(e) {
6206
+ return new TypesonPromise(/*#__PURE__*/function () {
6207
+ var _ref10 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(t, r) {
6208
+ var n, _t6;
6209
+ return _regenerator().w(function (_context3) {
6210
+ while (1) switch (_context3.p = _context3.n) {
6250
6211
  case 0:
6251
- _context.p = 0;
6252
- _context.n = 1;
6253
- return crypto.subtle.exportKey("jwk", t);
6212
+ _context3.p = 0;
6213
+ _context3.n = 1;
6214
+ return crypto.subtle.exportKey("jwk", e);
6254
6215
  case 1:
6255
- n = _context.v;
6256
- _context.n = 3;
6216
+ n = _context3.v;
6217
+ _context3.n = 3;
6257
6218
  break;
6258
6219
  case 2:
6259
- _context.p = 2;
6260
- _t = _context.v;
6261
- return _context.a(2, void r(_t));
6220
+ _context3.p = 2;
6221
+ _t6 = _context3.v;
6222
+ return _context3.a(2, void r(_t6));
6262
6223
  case 3:
6263
- e({
6224
+ t({
6264
6225
  jwk: n,
6265
- algorithm: t.algorithm,
6266
- usages: t.usages
6226
+ algorithm: e.algorithm,
6227
+ usages: e.usages
6267
6228
  });
6268
6229
  case 4:
6269
- return _context.a(2);
6230
+ return _context3.a(2);
6270
6231
  }
6271
- }, _callee, null, [[0, 2]]);
6232
+ }, _callee3, null, [[0, 2]]);
6272
6233
  }));
6273
- return function (_x, _x2) {
6274
- return _ref.apply(this, arguments);
6234
+ return function (_x4, _x5) {
6235
+ return _ref10.apply(this, arguments);
6275
6236
  };
6276
6237
  }());
6277
6238
  },
@@ -6283,23 +6244,23 @@
6283
6244
  }
6284
6245
  }
6285
6246
  },
6286
- _ = {
6247
+ v = {
6287
6248
  dataview: {
6288
6249
  test: function test(e) {
6289
6250
  return "DataView" === toStringTag(e);
6290
6251
  },
6291
- replace: function replace(_ref2, n) {
6292
- var e = _ref2.buffer,
6293
- t = _ref2.byteOffset,
6294
- r = _ref2.byteLength;
6252
+ replace: function replace(_ref11, n) {
6253
+ var e = _ref11.buffer,
6254
+ t = _ref11.byteOffset,
6255
+ r = _ref11.byteLength;
6295
6256
  n.buffers || (n.buffers = []);
6296
- var a = n.buffers.indexOf(e);
6297
- return a > -1 ? {
6298
- index: a,
6257
+ var o = n.buffers.indexOf(e);
6258
+ return -1 !== o ? {
6259
+ index: o,
6299
6260
  byteOffset: t,
6300
6261
  byteLength: r
6301
6262
  } : (n.buffers.push(e), {
6302
- encoded: p(e),
6263
+ encoded: l(e),
6303
6264
  maxByteLength: e.maxByteLength,
6304
6265
  resizable: e.resizable,
6305
6266
  byteOffset: t,
@@ -6310,18 +6271,18 @@
6310
6271
  t.buffers || (t.buffers = []);
6311
6272
  var r = e.byteOffset,
6312
6273
  n = e.byteLength,
6313
- a = e.encoded,
6314
- o = e.index,
6315
- i = e.maxByteLength,
6316
- c = e.resizable;
6317
- var s;
6318
- return "index" in e ? s = t.buffers[o] : (s = d(a, c ? {
6319
- maxByteLength: i
6320
- } : i), t.buffers.push(s)), new DataView(s, r, n);
6274
+ o = e.encoded,
6275
+ s = e.index,
6276
+ a = e.maxByteLength,
6277
+ i = e.resizable;
6278
+ var c;
6279
+ return "index" in e ? c = t.buffers[s] : (c = u(o, i ? {
6280
+ maxByteLength: a
6281
+ } : a), t.buffers.push(c)), new DataView(c, r, n);
6321
6282
  }
6322
6283
  }
6323
6284
  },
6324
- A = {
6285
+ O = {
6325
6286
  date: {
6326
6287
  test: function test(e) {
6327
6288
  return "Date" === toStringTag(e);
@@ -6331,11 +6292,11 @@
6331
6292
  return Number.isNaN(t) ? "NaN" : t;
6332
6293
  },
6333
6294
  revive: function revive(e) {
6334
- return "NaN" === e ? new Date(Number.NaN) : new Date(e);
6295
+ return "NaN" === e ? new Date(NaN) : new Date(e);
6335
6296
  }
6336
6297
  }
6337
6298
  },
6338
- S = {
6299
+ w = {
6339
6300
  domexception: {
6340
6301
  test: function test(e) {
6341
6302
  return "DOMException" === toStringTag(e);
@@ -6346,16 +6307,16 @@
6346
6307
  message: e.message
6347
6308
  };
6348
6309
  },
6349
- revive: function revive(_ref3) {
6350
- var e = _ref3.message,
6351
- t = _ref3.name;
6310
+ revive: function revive(_ref12) {
6311
+ var e = _ref12.message,
6312
+ t = _ref12.name;
6352
6313
  return new DOMException(e, t);
6353
6314
  }
6354
6315
  }
6355
6316
  },
6356
- j = {};
6317
+ T = {};
6357
6318
  function create$5(e) {
6358
- j[e.name.toLowerCase()] = {
6319
+ T[e.name.toLowerCase()] = {
6359
6320
  test: function test(t) {
6360
6321
  return toStringTag(t) === e.name;
6361
6322
  },
@@ -6392,9 +6353,9 @@
6392
6353
  };
6393
6354
  }
6394
6355
  "undefined" != typeof DOMMatrix && create$5(DOMMatrix), "undefined" != typeof DOMMatrixReadOnly && create$5(DOMMatrixReadOnly);
6395
- var T = {};
6356
+ var A = {};
6396
6357
  function create$4(e) {
6397
- T[e.name.toLowerCase()] = {
6358
+ A[e.name.toLowerCase()] = {
6398
6359
  test: function test(t) {
6399
6360
  return toStringTag(t) === e.name;
6400
6361
  },
@@ -6406,17 +6367,17 @@
6406
6367
  w: e.w
6407
6368
  };
6408
6369
  },
6409
- revive: function revive(_ref4) {
6410
- var t = _ref4.x,
6411
- r = _ref4.y,
6412
- n = _ref4.z,
6413
- a = _ref4.w;
6414
- return new e(t, r, n, a);
6370
+ revive: function revive(_ref13) {
6371
+ var t = _ref13.x,
6372
+ r = _ref13.y,
6373
+ n = _ref13.z,
6374
+ o = _ref13.w;
6375
+ return new e(t, r, n, o);
6415
6376
  }
6416
6377
  };
6417
6378
  }
6418
6379
  "undefined" != typeof DOMPoint && create$4(DOMPoint), "undefined" != typeof DOMPointReadOnly && create$4(DOMPointReadOnly);
6419
- var I = {
6380
+ var P = {
6420
6381
  domquad: {
6421
6382
  test: function test(e) {
6422
6383
  return "DOMQuad" === toStringTag(e);
@@ -6429,18 +6390,18 @@
6429
6390
  p4: e.p4
6430
6391
  };
6431
6392
  },
6432
- revive: function revive(_ref5) {
6433
- var e = _ref5.p1,
6434
- t = _ref5.p2,
6435
- r = _ref5.p3,
6436
- n = _ref5.p4;
6393
+ revive: function revive(_ref14) {
6394
+ var e = _ref14.p1,
6395
+ t = _ref14.p2,
6396
+ r = _ref14.p3,
6397
+ n = _ref14.p4;
6437
6398
  return new DOMQuad(e, t, r, n);
6438
6399
  }
6439
6400
  }
6440
6401
  },
6441
- N = {};
6402
+ S = {};
6442
6403
  function create$3(e) {
6443
- N[e.name.toLowerCase()] = {
6404
+ S[e.name.toLowerCase()] = {
6444
6405
  test: function test(t) {
6445
6406
  return toStringTag(t) === e.name;
6446
6407
  },
@@ -6452,37 +6413,37 @@
6452
6413
  height: e.height
6453
6414
  };
6454
6415
  },
6455
- revive: function revive(_ref6) {
6456
- var t = _ref6.x,
6457
- r = _ref6.y,
6458
- n = _ref6.width,
6459
- a = _ref6.height;
6460
- return new e(t, r, n, a);
6416
+ revive: function revive(_ref15) {
6417
+ var t = _ref15.x,
6418
+ r = _ref15.y,
6419
+ n = _ref15.width,
6420
+ o = _ref15.height;
6421
+ return new e(t, r, n, o);
6461
6422
  }
6462
6423
  };
6463
6424
  }
6464
6425
  "undefined" != typeof DOMRect && create$3(DOMRect), "undefined" != typeof DOMRectReadOnly && create$3(DOMRectReadOnly);
6465
- var P = {
6426
+ var x = {
6466
6427
  error: {
6467
6428
  test: function test(e) {
6468
6429
  return "Error" === toStringTag(e);
6469
6430
  },
6470
- replace: function replace(_ref7) {
6471
- var e = _ref7.name,
6472
- t = _ref7.message,
6473
- r = _ref7.cause,
6474
- n = _ref7.stack,
6475
- a = _ref7.fileName,
6476
- o = _ref7.lineNumber,
6477
- i = _ref7.columnNumber;
6431
+ replace: function replace(_ref16) {
6432
+ var e = _ref16.name,
6433
+ t = _ref16.message,
6434
+ r = _ref16.cause,
6435
+ n = _ref16.stack,
6436
+ o = _ref16.fileName,
6437
+ s = _ref16.lineNumber,
6438
+ a = _ref16.columnNumber;
6478
6439
  return {
6479
6440
  name: e,
6480
6441
  message: t,
6481
6442
  cause: r,
6482
6443
  stack: n,
6483
- fileName: a,
6484
- lineNumber: o,
6485
- columnNumber: i
6444
+ fileName: o,
6445
+ lineNumber: s,
6446
+ columnNumber: a
6486
6447
  };
6487
6448
  },
6488
6449
  revive: function revive(e) {
@@ -6491,30 +6452,30 @@
6491
6452
  }
6492
6453
  }
6493
6454
  },
6494
- x = {};
6455
+ j = {};
6495
6456
  function create$2(e) {
6496
- x[e.name.toLowerCase()] = {
6457
+ j[e.name.toLowerCase()] = {
6497
6458
  test: function test(t) {
6498
6459
  return hasConstructorOf(t, e);
6499
6460
  },
6500
- replace: function replace(_ref8) {
6501
- var e = _ref8.name,
6502
- t = _ref8.message,
6503
- r = _ref8.cause,
6504
- n = _ref8.stack,
6505
- a = _ref8.fileName,
6506
- o = _ref8.lineNumber,
6507
- i = _ref8.columnNumber,
6508
- c = _ref8.errors;
6461
+ replace: function replace(_ref17) {
6462
+ var e = _ref17.name,
6463
+ t = _ref17.message,
6464
+ r = _ref17.cause,
6465
+ n = _ref17.stack,
6466
+ o = _ref17.fileName,
6467
+ s = _ref17.lineNumber,
6468
+ a = _ref17.columnNumber,
6469
+ i = _ref17.errors;
6509
6470
  return {
6510
6471
  name: e,
6511
6472
  message: t,
6512
6473
  cause: r,
6513
6474
  stack: n,
6514
- fileName: a,
6515
- lineNumber: o,
6516
- columnNumber: i,
6517
- errors: c
6475
+ fileName: o,
6476
+ lineNumber: s,
6477
+ columnNumber: a,
6478
+ errors: i
6518
6479
  };
6519
6480
  },
6520
6481
  revive: function revive(t) {
@@ -6526,7 +6487,7 @@
6526
6487
  [TypeError, RangeError, SyntaxError, ReferenceError, EvalError, URIError].forEach(function (e) {
6527
6488
  return create$2(e);
6528
6489
  }), "undefined" != typeof AggregateError && create$2(AggregateError), "function" == typeof InternalError && create$2(InternalError);
6529
- var E = {
6490
+ var N = {
6530
6491
  file: {
6531
6492
  test: function test(e) {
6532
6493
  return "File" === toStringTag(e);
@@ -6541,51 +6502,51 @@
6541
6502
  lastModified: e.lastModified
6542
6503
  };
6543
6504
  },
6544
- revive: function revive(_ref9) {
6545
- var e = _ref9.name,
6546
- t = _ref9.type,
6547
- r = _ref9.stringContents,
6548
- n = _ref9.lastModified;
6505
+ revive: function revive(_ref18) {
6506
+ var e = _ref18.name,
6507
+ t = _ref18.type,
6508
+ r = _ref18.stringContents,
6509
+ n = _ref18.lastModified;
6549
6510
  return new File([string2arraybuffer(r)], e, {
6550
6511
  type: t,
6551
6512
  lastModified: n
6552
6513
  });
6553
6514
  },
6554
- replaceAsync: function replaceAsync(t) {
6555
- return new e(function (e, r) {
6515
+ replaceAsync: function replaceAsync(e) {
6516
+ return new TypesonPromise(function (t, r) {
6556
6517
  var n = new FileReader();
6557
6518
  n.addEventListener("load", function () {
6558
- e({
6559
- type: t.type,
6519
+ t({
6520
+ type: e.type,
6560
6521
  stringContents: arraybuffer2string(n.result),
6561
- name: t.name,
6562
- lastModified: t.lastModified
6522
+ name: e.name,
6523
+ lastModified: e.lastModified
6563
6524
  });
6564
6525
  }), n.addEventListener("error", function () {
6565
6526
  r(n.error);
6566
- }), n.readAsArrayBuffer(t);
6527
+ }), n.readAsArrayBuffer(e);
6567
6528
  });
6568
6529
  }
6569
6530
  }
6570
6531
  },
6571
- C = {
6572
- file: E.file,
6532
+ _ = {
6533
+ file: N.file,
6573
6534
  filelist: {
6574
6535
  test: function test(e) {
6575
6536
  return "FileList" === toStringTag(e);
6576
6537
  },
6577
6538
  replace: function replace(e) {
6578
6539
  var t = [];
6579
- for (var _r2 = 0; _r2 < e.length; _r2++) t[_r2] = e.item(_r2);
6540
+ for (var _r0 = 0; _r0 < e.length; _r0++) t[_r0] = e.item(_r0);
6580
6541
  return t;
6581
6542
  },
6582
6543
  revive: function revive(e) {
6583
6544
  var FileList = /*#__PURE__*/function () {
6584
6545
  function FileList() {
6585
- _classCallCheck$1(this, FileList);
6546
+ _classCallCheck(this, FileList);
6586
6547
  this._files = arguments[0], this.length = this._files.length;
6587
6548
  }
6588
- return _createClass$1(FileList, [{
6549
+ return _createClass(FileList, [{
6589
6550
  key: "item",
6590
6551
  value: function item(e) {
6591
6552
  return this._files[e];
@@ -6622,44 +6583,43 @@
6622
6583
  r.drawImage(n, 0, 0);
6623
6584
  }), n.src = e.dataURL, "undefined" == typeof OffscreenCanvas ? t : t.transferToImageBitmap();
6624
6585
  },
6625
- reviveAsync: function reviveAsync(t) {
6626
- var r = document.createElement("canvas"),
6627
- n = r.getContext("2d"),
6628
- a = document.createElement("img");
6629
- return a.addEventListener("load", function () {
6630
- n.drawImage(a, 0, 0);
6631
- }), a.src = t.dataURL, new e(/*#__PURE__*/function () {
6632
- var _ref0 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(e, t) {
6633
- var _t2, _t3, _t4;
6634
- return _regenerator().w(function (_context2) {
6635
- while (1) switch (_context2.n) {
6586
+ reviveAsync: function reviveAsync(e) {
6587
+ var t = document.createElement("canvas"),
6588
+ r = t.getContext("2d"),
6589
+ n = document.createElement("img");
6590
+ return n.addEventListener("load", function () {
6591
+ r.drawImage(n, 0, 0);
6592
+ }), n.src = e.dataURL, new TypesonPromise(/*#__PURE__*/function () {
6593
+ var _ref19 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(e, r) {
6594
+ var _t7, _t8;
6595
+ return _regenerator().w(function (_context4) {
6596
+ while (1) switch (_context4.p = _context4.n) {
6636
6597
  case 0:
6637
- _context2.p = 0;
6638
- _t2 = e;
6639
- _context2.n = 1;
6640
- return createImageBitmap(r);
6598
+ _context4.p = 0;
6599
+ _t7 = e;
6600
+ _context4.n = 1;
6601
+ return createImageBitmap(t);
6641
6602
  case 1:
6642
- _t3 = _context2.v;
6643
- _t2(_t3);
6644
- _context2.n = 3;
6603
+ _t7(_context4.v);
6604
+ _context4.n = 3;
6645
6605
  break;
6646
6606
  case 2:
6647
- _context2.p = 2;
6648
- _t4 = _context2.v;
6649
- t(_t4);
6607
+ _context4.p = 2;
6608
+ _t8 = _context4.v;
6609
+ r(_t8);
6650
6610
  case 3:
6651
- return _context2.a(2);
6611
+ return _context4.a(2);
6652
6612
  }
6653
- }, _callee2, null, [[0, 2]]);
6613
+ }, _callee4, null, [[0, 2]]);
6654
6614
  }));
6655
- return function (_x3, _x4) {
6656
- return _ref0.apply(this, arguments);
6615
+ return function (_x6, _x7) {
6616
+ return _ref19.apply(this, arguments);
6657
6617
  };
6658
6618
  }());
6659
6619
  }
6660
6620
  }
6661
6621
  },
6662
- k = {
6622
+ E = {
6663
6623
  imagedata: {
6664
6624
  test: function test(e) {
6665
6625
  return "ImageData" === toStringTag(e);
@@ -6676,33 +6636,33 @@
6676
6636
  }
6677
6637
  }
6678
6638
  },
6679
- U = {
6639
+ C = {
6680
6640
  infinity: {
6681
6641
  test: function test(e) {
6682
- return e === Number.POSITIVE_INFINITY;
6642
+ return e === 1 / 0;
6683
6643
  },
6684
6644
  replace: function replace() {
6685
6645
  return "Infinity";
6686
6646
  },
6687
6647
  revive: function revive() {
6688
- return Number.POSITIVE_INFINITY;
6648
+ return 1 / 0;
6689
6649
  }
6690
6650
  }
6691
6651
  },
6692
- D = {
6652
+ U = {
6693
6653
  map: {
6694
6654
  test: function test(e) {
6695
6655
  return "Map" === toStringTag(e);
6696
6656
  },
6697
6657
  replace: function replace(e) {
6698
- return _toConsumableArray(e.entries());
6658
+ return e.entries().toArray();
6699
6659
  },
6700
6660
  revive: function revive(e) {
6701
6661
  return new Map(e);
6702
6662
  }
6703
6663
  }
6704
6664
  },
6705
- K = {
6665
+ M = {
6706
6666
  nan: {
6707
6667
  test: function test(e) {
6708
6668
  return Number.isNaN(e);
@@ -6711,24 +6671,24 @@
6711
6671
  return "NaN";
6712
6672
  },
6713
6673
  revive: function revive() {
6714
- return Number.NaN;
6674
+ return NaN;
6715
6675
  }
6716
6676
  }
6717
6677
  },
6718
- F = {
6678
+ L = {
6719
6679
  negativeInfinity: {
6720
6680
  test: function test(e) {
6721
- return e === Number.NEGATIVE_INFINITY;
6681
+ return e === -1 / 0;
6722
6682
  },
6723
6683
  replace: function replace() {
6724
6684
  return "-Infinity";
6725
6685
  },
6726
6686
  revive: function revive() {
6727
- return Number.NEGATIVE_INFINITY;
6687
+ return -1 / 0;
6728
6688
  }
6729
6689
  }
6730
6690
  },
6731
- $ = {
6691
+ D = {
6732
6692
  negativeZero: {
6733
6693
  test: function test(e) {
6734
6694
  return Object.is(e, -0);
@@ -6741,10 +6701,10 @@
6741
6701
  }
6742
6702
  }
6743
6703
  },
6744
- J = {
6704
+ k = {
6745
6705
  StringObject: {
6746
6706
  test: function test(e) {
6747
- return "String" === toStringTag(e) && "object" == _typeof$2(e);
6707
+ return "String" === toStringTag(e) && "object" == _typeof$1(e);
6748
6708
  },
6749
6709
  replace: String,
6750
6710
  revive: function revive(e) {
@@ -6753,7 +6713,7 @@
6753
6713
  },
6754
6714
  BooleanObject: {
6755
6715
  test: function test(e) {
6756
- return "Boolean" === toStringTag(e) && "object" == _typeof$2(e);
6716
+ return "Boolean" === toStringTag(e) && "object" == _typeof$1(e);
6757
6717
  },
6758
6718
  replace: function replace(e) {
6759
6719
  return e.valueOf();
@@ -6764,7 +6724,7 @@
6764
6724
  },
6765
6725
  NumberObject: {
6766
6726
  test: function test(e) {
6767
- return "Number" === toStringTag(e) && "object" == _typeof$2(e);
6727
+ return "Number" === toStringTag(e) && "object" == _typeof$1(e);
6768
6728
  },
6769
6729
  replace: Number,
6770
6730
  revive: function revive(e) {
@@ -6772,7 +6732,7 @@
6772
6732
  }
6773
6733
  }
6774
6734
  },
6775
- q = {
6735
+ $ = {
6776
6736
  regexp: {
6777
6737
  test: function test(e) {
6778
6738
  return "RegExp" === toStringTag(e);
@@ -6780,34 +6740,34 @@
6780
6740
  replace: function replace(e) {
6781
6741
  return {
6782
6742
  source: e.source,
6783
- flags: (e.global ? "g" : "") + (e.ignoreCase ? "i" : "") + (e.multiline ? "m" : "") + (e.sticky ? "y" : "") + (e.unicode ? "u" : "")
6743
+ 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" : "")
6784
6744
  };
6785
6745
  },
6786
- revive: function revive(_ref10) {
6787
- var e = _ref10.source,
6788
- t = _ref10.flags;
6746
+ revive: function revive(_ref21) {
6747
+ var e = _ref21.source,
6748
+ t = _ref21.flags;
6789
6749
  return new RegExp(e, t);
6790
6750
  }
6791
6751
  }
6792
6752
  },
6793
- G = {
6753
+ J = {
6794
6754
  set: {
6795
6755
  test: function test(e) {
6796
6756
  return "Set" === toStringTag(e);
6797
6757
  },
6798
6758
  replace: function replace(e) {
6799
- return _toConsumableArray(e.values());
6759
+ return e.values().toArray();
6800
6760
  },
6801
6761
  revive: function revive(e) {
6802
6762
  return new Set(e);
6803
6763
  }
6804
6764
  }
6805
6765
  },
6806
- Q = {};
6766
+ V = {};
6807
6767
  "function" == typeof Int8Array && [Int8Array, Uint8Array, Uint8ClampedArray, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array].concat(_toConsumableArray("function" == typeof BigInt64Array ? [BigInt64Array, BigUint64Array] : [])).forEach(function (e) {
6808
6768
  return function create$1(e) {
6809
6769
  var t = e.name;
6810
- Q[t.toLowerCase()] = {
6770
+ V[t.toLowerCase()] = {
6811
6771
  test: function test(e) {
6812
6772
  return toStringTag(e) === t;
6813
6773
  },
@@ -6820,28 +6780,28 @@
6820
6780
  };
6821
6781
  }(e);
6822
6782
  });
6823
- var X = {};
6783
+ var W = {};
6824
6784
  "function" == typeof Int8Array && [Int8Array, Uint8Array, Uint8ClampedArray, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array].concat(_toConsumableArray("function" == typeof BigInt64Array ? [BigInt64Array, BigUint64Array] : [])).forEach(function (e) {
6825
6785
  return function create(e) {
6826
6786
  var t = e.name;
6827
- X[t.toLowerCase()] = {
6787
+ W[t.toLowerCase()] = {
6828
6788
  test: function test(e) {
6829
6789
  return toStringTag(e) === t;
6830
6790
  },
6831
- replace: function replace(_ref11, n) {
6832
- var e = _ref11.buffer,
6833
- t = _ref11.byteOffset,
6834
- r = _ref11.length;
6791
+ replace: function replace(_ref22, n) {
6792
+ var e = _ref22.buffer,
6793
+ t = _ref22.byteOffset,
6794
+ r = _ref22.length;
6835
6795
  n.buffers || (n.buffers = []);
6836
- var a = n.buffers.indexOf(e);
6837
- return a > -1 ? {
6838
- index: a,
6796
+ var o = n.buffers.indexOf(e);
6797
+ return -1 !== o ? {
6798
+ index: o,
6839
6799
  byteOffset: t,
6840
6800
  length: r
6841
6801
  } : (n.buffers.push(e), {
6842
6802
  maxByteLength: e.maxByteLength,
6843
6803
  resizable: e.resizable,
6844
- encoded: p(e),
6804
+ encoded: l(e),
6845
6805
  byteOffset: t,
6846
6806
  length: r
6847
6807
  });
@@ -6849,20 +6809,20 @@
6849
6809
  revive: function revive(t, r) {
6850
6810
  r.buffers || (r.buffers = []);
6851
6811
  var n = t.byteOffset,
6852
- a = t.length,
6853
- o = t.encoded,
6854
- i = t.index,
6855
- c = t.maxByteLength,
6856
- s = t.resizable;
6857
- var u;
6858
- return "index" in t ? u = r.buffers[i] : (u = d(o, s ? {
6859
- maxByteLength: c
6860
- } : void 0), r.buffers.push(u)), new e(u, n, a);
6812
+ o = t.length,
6813
+ s = t.encoded,
6814
+ a = t.index,
6815
+ i = t.maxByteLength,
6816
+ c = t.resizable;
6817
+ var y;
6818
+ return "index" in t ? y = r.buffers[a] : (y = u(s, c ? {
6819
+ maxByteLength: i
6820
+ } : void 0), r.buffers.push(y)), new e(y, n, o);
6861
6821
  }
6862
6822
  };
6863
6823
  }(e);
6864
6824
  });
6865
- var Z = {
6825
+ var Q = {
6866
6826
  undef: {
6867
6827
  test: function test(e, t) {
6868
6828
  return void 0 === e && (t.ownKeys || !("ownKeys" in t));
@@ -6871,29 +6831,29 @@
6871
6831
  return 0;
6872
6832
  },
6873
6833
  revive: function revive() {
6874
- return new s();
6834
+ return new Undefined();
6875
6835
  }
6876
6836
  }
6877
6837
  },
6878
- ee = {
6838
+ G = {
6879
6839
  userObject: {
6880
6840
  test: function test(e) {
6881
6841
  return isUserObject(e);
6882
6842
  },
6883
6843
  replace: function replace(e) {
6884
- return _objectSpread2$1({}, e);
6844
+ return _objectSpread2({}, e);
6885
6845
  },
6886
6846
  revive: function revive(e) {
6887
6847
  return e;
6888
6848
  }
6889
6849
  }
6890
6850
  },
6891
- te = [{
6851
+ H = [{
6892
6852
  arrayNonindexKeys: {
6893
6853
  testPlainObjects: true,
6894
6854
  test: function test(e, t) {
6895
6855
  return !!Array.isArray(e) && (Object.keys(e).some(function (e) {
6896
- return String(Number.parseInt(e)) !== e;
6856
+ return String(Number(e)) !== e;
6897
6857
  }) && (t.iterateIn = "object", t.addLength = true), true);
6898
6858
  },
6899
6859
  replace: function replace(e, t) {
@@ -6902,10 +6862,10 @@
6902
6862
  revive: function revive(e) {
6903
6863
  if (Array.isArray(e)) return e;
6904
6864
  var t = [];
6905
- return Object.entries(e).forEach(function (_ref12) {
6906
- var _ref13 = _slicedToArray$1(_ref12, 2),
6907
- e = _ref13[0],
6908
- r = _ref13[1];
6865
+ return Object.entries(e).forEach(function (_ref23) {
6866
+ var _ref24 = _slicedToArray(_ref23, 2),
6867
+ e = _ref24[0],
6868
+ r = _ref24[1];
6909
6869
  t[e] = r;
6910
6870
  }), t;
6911
6871
  }
@@ -6921,21 +6881,21 @@
6921
6881
  revive: function revive() {}
6922
6882
  }
6923
6883
  }],
6924
- re = [K, U, F, $],
6925
- 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 : []),
6926
- se = ce.concat({
6884
+ X = [M, C, L, D],
6885
+ 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 : []),
6886
+ ne = re.concat({
6927
6887
  checkDataCloneException: {
6928
6888
  test: function test(e) {
6929
6889
  var t = {}.toString.call(e).slice(8, -1);
6930
- 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");
6890
+ 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");
6931
6891
  return false;
6932
6892
  }
6933
6893
  }
6934
6894
  });
6935
6895
 
6936
- // See: http://stackoverflow.com/questions/42170826/categories-for-rejection-by-the-structured-cloning-algorithm
6896
+ // See: https://stackoverflow.com/questions/42170826/categories-for-rejection-by-the-structured-cloning-algorithm
6937
6897
 
6938
- var typeson = new c().register(se);
6898
+ var typeson = new Typeson().register(ne);
6939
6899
 
6940
6900
  /**
6941
6901
  * @param {(preset: import('typeson-registry').Preset) =>
@@ -6943,7 +6903,8 @@
6943
6903
  * @returns {void}
6944
6904
  */
6945
6905
  function register(func) {
6946
- typeson = new c().register(func(se));
6906
+ // eslint-disable-next-line unicorn/no-top-level-assignment-in-function -- Should be one-time cache
6907
+ typeson = new Typeson().register(func(ne));
6947
6908
  }
6948
6909
 
6949
6910
  /**
@@ -7031,7 +6992,8 @@
7031
6992
 
7032
6993
  /**
7033
6994
  * IDB Index.
7034
- * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBIndex
6995
+ * @see https://www.w3.org/TR/IndexedDB/#idl-def-IDBIndex
6996
+ * @throws {TypeError}
7035
6997
  * @class
7036
6998
  */
7037
6999
  function IDBIndex() {
@@ -7085,67 +7047,69 @@
7085
7047
  me.__unique = Boolean(optionalParams && optionalParams.unique);
7086
7048
  me.__deleted = Boolean(indexProperties.__deleted);
7087
7049
  me.__objectStore.__cursors = indexProperties.cursors || [];
7088
- Object.defineProperty(me, '__currentName', {
7089
- /**
7090
- * @this {IDBIndexFull}
7091
- * @returns {string}
7092
- */
7093
- get: function get() {
7094
- return '__pendingName' in me ? (/** @type {string} */me.__pendingName) : me.name;
7095
- }
7096
- });
7097
- Object.defineProperty(me, 'name', {
7098
- enumerable: false,
7099
- configurable: false,
7100
- /**
7101
- * @this {IDBIndexFull}
7102
- * @returns {string}
7103
- */
7104
- get: function get() {
7105
- return this.__name;
7106
- },
7107
- /**
7108
- * @param {string} newName
7109
- * @this {IDBIndexFull}
7110
- * @returns {void}
7111
- */
7112
- set: function set(newName) {
7113
- var me = this;
7114
- newName = convertToDOMString(newName);
7115
- var oldName = me.name;
7116
- IDBTransaction.__assertVersionChange(me.objectStore.transaction);
7117
- IDBTransaction.__assertActive(me.objectStore.transaction);
7118
- IDBIndexAlias.__invalidStateIfDeleted(me);
7119
- IDBObjectStore.__invalidStateIfDeleted(me);
7120
- if (newName === oldName) {
7121
- return;
7122
- }
7123
- if (me.objectStore.__indexes[newName] && !me.objectStore.__indexes[newName].__deleted && !me.objectStore.__indexes[newName].__pendingDelete) {
7124
- throw createDOMException('ConstraintError', 'Index "' + newName + '" already exists on ' + me.objectStore.__currentName);
7050
+ Object.defineProperties(me, {
7051
+ __currentName: {
7052
+ /**
7053
+ * @this {IDBIndexFull}
7054
+ * @returns {string}
7055
+ */
7056
+ get: function get() {
7057
+ return '__pendingName' in me ? (/** @type {string} */me.__pendingName) : me.name;
7125
7058
  }
7126
- me.__name = newName;
7127
- var objectStore = me.objectStore;
7128
- delete objectStore.__indexes[oldName];
7129
- objectStore.__indexes[newName] = me;
7130
- objectStore.indexNames.splice(objectStore.indexNames.indexOf(oldName), 1, newName);
7131
- var storeHandle = /** @type {import('./IDBTransaction.js').IDBTransactionFull} */objectStore.transaction.__storeHandles[objectStore.name];
7132
- var oldIndexHandle = storeHandle.__indexHandles[oldName];
7133
- oldIndexHandle.__name = newName; // Fix old references
7134
- storeHandle.__indexHandles[newName] = oldIndexHandle; // Ensure new reference accessible
7135
- me.__pendingName = oldName;
7136
- var colInfoToPreserveArr = [['key', 'BLOB ' + (objectStore.autoIncrement ? 'UNIQUE, inc INTEGER PRIMARY KEY AUTOINCREMENT' : 'PRIMARY KEY')], ['value', 'BLOB']].concat(
7137
- // @ts-expect-error Has numeric indexes instead of iterator
7138
- _toConsumableArray(objectStore.indexNames).filter(function (indexName) {
7139
- return indexName !== newName;
7140
- }).map(function (indexName) {
7141
- return [escapeIndexNameForSQL(indexName), 'BLOB'];
7142
- }));
7143
- me.__renameIndex(objectStore, oldName, newName, colInfoToPreserveArr, function (tx, success) {
7144
- IDBIndexAlias.__updateIndexList(store, tx, function (store) {
7145
- delete storeHandle.__pendingName;
7146
- success(store);
7059
+ },
7060
+ name: {
7061
+ enumerable: false,
7062
+ configurable: false,
7063
+ /**
7064
+ * @this {IDBIndexFull}
7065
+ * @returns {string}
7066
+ */
7067
+ get: function get() {
7068
+ return this.__name;
7069
+ },
7070
+ /**
7071
+ * @param {string} newName
7072
+ * @this {IDBIndexFull}
7073
+ * @returns {void}
7074
+ */
7075
+ set: function set(newName) {
7076
+ var me = this;
7077
+ newName = convertToDOMString(newName);
7078
+ var oldName = me.name;
7079
+ IDBTransaction.__assertVersionChange(me.objectStore.transaction);
7080
+ IDBTransaction.__assertActive(me.objectStore.transaction);
7081
+ IDBIndexAlias.__invalidStateIfDeleted(me);
7082
+ IDBObjectStore.__invalidStateIfDeleted(me);
7083
+ if (newName === oldName) {
7084
+ return;
7085
+ }
7086
+ if (Object.hasOwn(me.objectStore.__indexes, newName) && !me.objectStore.__indexes[newName].__deleted && !me.objectStore.__indexes[newName].__pendingDelete) {
7087
+ throw createDOMException('ConstraintError', 'Index "' + newName + '" already exists on ' + me.objectStore.__currentName);
7088
+ }
7089
+ me.__name = newName;
7090
+ var objectStore = me.objectStore;
7091
+ delete objectStore.__indexes[oldName];
7092
+ objectStore.__indexes[newName] = me;
7093
+ objectStore.indexNames.splice(objectStore.indexNames.indexOf(oldName), 1, newName);
7094
+ var storeHandle = /** @type {import('./IDBTransaction.js').IDBTransactionFull} */objectStore.transaction.__storeHandles[objectStore.name];
7095
+ var oldIndexHandle = storeHandle.__indexHandles[oldName];
7096
+ oldIndexHandle.__name = newName; // Fix old references
7097
+ storeHandle.__indexHandles[newName] = oldIndexHandle; // Ensure new reference accessible
7098
+ me.__pendingName = oldName;
7099
+ var colInfoToPreserveArr = [['key', 'BLOB ' + (objectStore.autoIncrement ? 'UNIQUE, inc INTEGER PRIMARY KEY AUTOINCREMENT' : 'PRIMARY KEY')], ['value', 'BLOB']].concat(
7100
+ // @ts-expect-error Has numeric indexes instead of iterator
7101
+ _toConsumableArray(objectStore.indexNames).filter(function (indexName) {
7102
+ return indexName !== newName;
7103
+ }).map(function (indexName) {
7104
+ return [escapeIndexNameForSQL(indexName), 'BLOB'];
7105
+ }));
7106
+ me.__renameIndex(objectStore, oldName, newName, colInfoToPreserveArr, function (tx, success) {
7107
+ IDBIndexAlias.__updateIndexList(store, tx, function (store) {
7108
+ delete storeHandle.__pendingName;
7109
+ success(store);
7110
+ });
7147
7111
  });
7148
- });
7112
+ }
7149
7113
  }
7150
7114
  });
7151
7115
  }
@@ -7260,7 +7224,7 @@
7260
7224
  var indexKeyStr = /** @type {string} */
7261
7225
  _encode(indexKey.value, index.multiEntry);
7262
7226
  if (index.unique) {
7263
- if (indexValues[indexKeyStr]) {
7227
+ if (Object.hasOwn(indexValues, indexKeyStr)) {
7264
7228
  indexValues = {};
7265
7229
  failure(createDOMException('ConstraintError', 'Duplicate values already exist within the store'));
7266
7230
  return;
@@ -7592,7 +7556,7 @@
7592
7556
  var listColInfoToPreserve = colInfoToPreserve.length ? colInfoToPreserve.join(', ') + ', ' : '';
7593
7557
  var listColsToPreserve = colNamesToPreserve.length ? colNamesToPreserve.join(', ') + ', ' : '';
7594
7558
 
7595
- // We could adapt the approach at http://stackoverflow.com/a/8430746/271577
7559
+ // We could adapt the approach at https://stackoverflow.com/a/8430746/271577
7596
7560
  // to make the approach reusable without passing column names, but it is a bit fragile
7597
7561
  /** @type {import('./IDBTransaction.js').IDBTransactionFull} */
7598
7562
  store.transaction.__addNonRequestToTransactionQueue(function renameIndex(tx, args, success, error) {
@@ -7683,7 +7647,7 @@
7683
7647
  });
7684
7648
  }));
7685
7649
  SyncPromise.all(indexCreations).then(finish, /** @type {(reason: any) => PromiseLike<never>} */
7686
- error)["catch"](function (err) {
7650
+ error).catch(function (err) {
7687
7651
  console.log('Index rename error');
7688
7652
  throw err;
7689
7653
  });
@@ -7698,6 +7662,7 @@
7698
7662
  * @typedef {any} AnyValue
7699
7663
  */
7700
7664
 
7665
+ /* eslint-disable unicorn/no-top-level-side-effects -- Would be good */
7701
7666
  Object.defineProperty(IDBIndex, Symbol.hasInstance, {
7702
7667
  /**
7703
7668
  * @param {AnyValue} obj
@@ -7713,6 +7678,7 @@
7713
7678
  Object.defineProperty(IDBIndex, 'prototype', {
7714
7679
  writable: false
7715
7680
  });
7681
+ /* eslint-enable unicorn/no-top-level-side-effects -- Would be good */
7716
7682
 
7717
7683
  /**
7718
7684
  * @param {number|null} count
@@ -7889,8 +7855,9 @@
7889
7855
 
7890
7856
  /**
7891
7857
  * IndexedDB Object Store.
7892
- * @see http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#idl-def-IDBObjectStore
7858
+ * @see https://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#idl-def-IDBObjectStore
7893
7859
  * @class
7860
+ * @throws {TypeError}
7894
7861
  */
7895
7862
  function IDBObjectStore() {
7896
7863
  throw new TypeError('Illegal constructor');
@@ -7955,84 +7922,87 @@
7955
7922
  me.__indexNames = DOMStringList.__createInstance();
7956
7923
  var indexList = storeProperties.indexList;
7957
7924
  for (var indexName in indexList) {
7958
- if (Object.hasOwn(indexList, indexName)) {
7959
- var index = IDBIndex.__createInstance(me, indexList[indexName]);
7960
- me.__indexes[index.name] = index;
7961
- if (!index.__deleted) {
7962
- me.indexNames.push(index.name);
7963
- }
7925
+ if (!Object.hasOwn(indexList, indexName)) {
7926
+ continue;
7927
+ }
7928
+ var index = IDBIndex.__createInstance(me, indexList[indexName]);
7929
+ me.__indexes[index.name] = index;
7930
+ if (!index.__deleted) {
7931
+ me.indexNames.push(index.name);
7964
7932
  }
7965
7933
  }
7966
7934
  me.__oldIndexNames = me.indexNames.clone();
7967
- Object.defineProperty(this, '__currentName', {
7968
- get: function get() {
7969
- return '__pendingName' in this ? this.__pendingName : this.name;
7970
- }
7971
- });
7972
- Object.defineProperty(this, 'name', {
7973
- enumerable: false,
7974
- configurable: false,
7975
- /**
7976
- * @this {IDBObjectStoreFull}
7977
- * @returns {string}
7978
- */
7979
- get: function get() {
7980
- return this.__name;
7981
- },
7982
- /**
7983
- * @param {string} name
7984
- * @this {IDBObjectStoreFull}
7985
- * @returns {void}
7986
- */
7987
- set: function set(name) {
7988
- var me = this;
7989
- name = convertToDOMString(name);
7990
- var oldName = me.name;
7991
- IDBObjectStoreAlias.__invalidStateIfDeleted(me);
7992
- IDBTransaction.__assertVersionChange(me.transaction);
7993
- IDBTransaction.__assertActive(me.transaction);
7994
- if (oldName === name) {
7995
- return;
7996
- }
7997
- if (me.__idbdb.__objectStores[name] && !me.__idbdb.__objectStores[name].__pendingDelete) {
7998
- throw createDOMException('ConstraintError', 'Object store "' + name + '" already exists in ' + me.__idbdb.name);
7999
- }
8000
- me.__name = name;
8001
- var oldStore = me.__idbdb.__objectStores[oldName];
8002
- oldStore.__name = name; // Fix old references
8003
- me.__idbdb.__objectStores[name] = oldStore; // Ensure new reference accessible
8004
- delete me.__idbdb.__objectStores[oldName]; // Ensure won't be found
8005
-
8006
- me.__idbdb.objectStoreNames.splice(me.__idbdb.objectStoreNames.indexOf(oldName), 1, name);
8007
- var oldHandle = /** @type {IDBObjectStoreFull} */
8008
- /** @type {import('./IDBTransaction.js').IDBTransactionFull} */me.transaction.__storeHandles[oldName];
8009
- oldHandle.__name = name; // Fix old references
8010
- /** @type {import('./IDBTransaction.js').IDBTransactionFull} */
8011
- me.transaction.__storeHandles[name] = oldHandle; // Ensure new reference accessible
8012
-
8013
- me.__pendingName = oldName;
8014
- var sql = 'UPDATE __sys__ SET "name" = ? WHERE "name" = ?';
8015
- var sqlValues = [escapeSQLiteStatement(name), escapeSQLiteStatement(oldName)];
8016
- if (CFG.DEBUG) {
8017
- console.log(sql, sqlValues);
7935
+ Object.defineProperties(this, {
7936
+ __currentName: {
7937
+ get: function get() {
7938
+ return '__pendingName' in this ? this.__pendingName : this.name;
8018
7939
  }
8019
- /** @type {import('./IDBTransaction.js').IDBTransactionFull} */
8020
- me.transaction.__addNonRequestToTransactionQueue(function objectStoreClear(tx, args, success, error) {
8021
- tx.executeSql(sql, sqlValues, function (tx) {
8022
- // This SQL preserves indexes per https://www.sqlite.org/lang_altertable.html
8023
- var sql = 'ALTER TABLE ' + escapeStoreNameForSQL(oldName) + ' RENAME TO ' + escapeStoreNameForSQL(name);
8024
- if (CFG.DEBUG) {
8025
- console.log(sql);
8026
- }
8027
- tx.executeSql(sql, [], function () {
8028
- delete me.__pendingName;
8029
- success();
7940
+ },
7941
+ name: {
7942
+ enumerable: false,
7943
+ configurable: false,
7944
+ /**
7945
+ * @this {IDBObjectStoreFull}
7946
+ * @returns {string}
7947
+ */
7948
+ get: function get() {
7949
+ return this.__name;
7950
+ },
7951
+ /**
7952
+ * @param {string} name
7953
+ * @this {IDBObjectStoreFull}
7954
+ * @returns {void}
7955
+ */
7956
+ set: function set(name) {
7957
+ var me = this;
7958
+ name = convertToDOMString(name);
7959
+ var oldName = me.name;
7960
+ IDBObjectStoreAlias.__invalidStateIfDeleted(me);
7961
+ IDBTransaction.__assertVersionChange(me.transaction);
7962
+ IDBTransaction.__assertActive(me.transaction);
7963
+ if (oldName === name) {
7964
+ return;
7965
+ }
7966
+ if (Object.hasOwn(me.__idbdb.__objectStores, name) && !me.__idbdb.__objectStores[name].__pendingDelete) {
7967
+ throw createDOMException('ConstraintError', 'Object store "' + name + '" already exists in ' + me.__idbdb.name);
7968
+ }
7969
+ me.__name = name;
7970
+ var oldStore = me.__idbdb.__objectStores[oldName];
7971
+ oldStore.__name = name; // Fix old references
7972
+ me.__idbdb.__objectStores[name] = oldStore; // Ensure new reference accessible
7973
+ delete me.__idbdb.__objectStores[oldName]; // Ensure won't be found
7974
+
7975
+ me.__idbdb.objectStoreNames.splice(me.__idbdb.objectStoreNames.indexOf(oldName), 1, name);
7976
+ var oldHandle = /** @type {IDBObjectStoreFull} */
7977
+ /** @type {import('./IDBTransaction.js').IDBTransactionFull} */me.transaction.__storeHandles[oldName];
7978
+ oldHandle.__name = name; // Fix old references
7979
+ /** @type {import('./IDBTransaction.js').IDBTransactionFull} */
7980
+ me.transaction.__storeHandles[name] = oldHandle; // Ensure new reference accessible
7981
+
7982
+ me.__pendingName = oldName;
7983
+ var sql = 'UPDATE __sys__ SET "name" = ? WHERE "name" = ?';
7984
+ var sqlValues = [escapeSQLiteStatement(name), escapeSQLiteStatement(oldName)];
7985
+ if (CFG.DEBUG) {
7986
+ console.log(sql, sqlValues);
7987
+ }
7988
+ /** @type {import('./IDBTransaction.js').IDBTransactionFull} */
7989
+ me.transaction.__addNonRequestToTransactionQueue(function objectStoreClear(tx, args, success, error) {
7990
+ tx.executeSql(sql, sqlValues, function (tx) {
7991
+ // This SQL preserves indexes per https://www.sqlite.org/lang_altertable.html
7992
+ var sql = 'ALTER TABLE ' + escapeStoreNameForSQL(oldName) + ' RENAME TO ' + escapeStoreNameForSQL(name);
7993
+ if (CFG.DEBUG) {
7994
+ console.log(sql);
7995
+ }
7996
+ tx.executeSql(sql, [], function () {
7997
+ delete me.__pendingName;
7998
+ success();
7999
+ });
8000
+ }, function (tx, err) {
8001
+ error(err);
8002
+ return false;
8030
8003
  });
8031
- }, function (tx, err) {
8032
- error(err);
8033
- return false;
8034
8004
  });
8035
- });
8005
+ }
8036
8006
  }
8037
8007
  });
8038
8008
  }
@@ -8096,7 +8066,7 @@
8096
8066
  var transaction = /** @type {import('./IDBTransaction.js').IDBTransactionFull} */
8097
8067
  db.__versionTransaction;
8098
8068
  var storeHandles = transaction.__storeHandles;
8099
- if (!storeHandles[storeName] ||
8069
+ if (!Object.hasOwn(storeHandles, storeName) ||
8100
8070
  // These latter conditions are to allow store
8101
8071
  // recreation to create new clone object
8102
8072
  storeHandles[storeName].__pendingDelete || storeHandles[storeName].__deleted) {
@@ -8419,7 +8389,7 @@
8419
8389
  insertSqlValues.push(escapeSQLiteStatement(/** @type {string} */_encode(clonedKeyOrCurrentNumber)));
8420
8390
  }
8421
8391
  Object.entries(paramMap).forEach(function (_ref) {
8422
- var _ref2 = _slicedToArray$1(_ref, 2),
8392
+ var _ref2 = _slicedToArray(_ref, 2),
8423
8393
  key = _ref2[0],
8424
8394
  stmt = _ref2[1];
8425
8395
  sqlStart.push(escapeIndexNameForSQL(key) + ',');
@@ -8442,8 +8412,7 @@
8442
8412
  return false;
8443
8413
  });
8444
8414
  return undefined;
8445
- // eslint-disable-next-line sonarjs/no-invariant-returns -- Convenient
8446
- })["catch"](function (err) {
8415
+ }).catch(function (err) {
8447
8416
  /**
8448
8417
  * @returns {void}
8449
8418
  */
@@ -8483,7 +8452,7 @@
8483
8452
  me.transaction.__assertWritable();
8484
8453
  var request = /** @type {import('./IDBTransaction.js').IDBTransactionFull} */me.transaction.__createRequest(me);
8485
8454
  var _me$__validateKeyAndV = me.__validateKeyAndValueAndCloneValue(value, key, false),
8486
- _me$__validateKeyAndV2 = _slicedToArray$1(_me$__validateKeyAndV, 2),
8455
+ _me$__validateKeyAndV2 = _slicedToArray(_me$__validateKeyAndV, 2),
8487
8456
  ky = _me$__validateKeyAndV2[0],
8488
8457
  clonedValue = _me$__validateKeyAndV2[1];
8489
8458
  IDBObjectStore.__storingRecordObjectStore(request, me, true, clonedValue, true, ky);
@@ -8513,7 +8482,7 @@
8513
8482
  me.transaction.__assertWritable();
8514
8483
  var request = /** @type {import('./IDBTransaction.js').IDBTransactionFull} */me.transaction.__createRequest(me);
8515
8484
  var _me$__validateKeyAndV3 = me.__validateKeyAndValueAndCloneValue(value, key, false),
8516
- _me$__validateKeyAndV4 = _slicedToArray$1(_me$__validateKeyAndV3, 2),
8485
+ _me$__validateKeyAndV4 = _slicedToArray(_me$__validateKeyAndV3, 2),
8517
8486
  ky = _me$__validateKeyAndV4[0],
8518
8487
  clonedValue = _me$__validateKeyAndV4[1];
8519
8488
  IDBObjectStore.__storingRecordObjectStore(request, me, true, clonedValue, false, ky);
@@ -8728,7 +8697,7 @@
8728
8697
  * @this {IDBObjectStoreFull}
8729
8698
  * @returns {import('./IDBRequest.js').IDBRequestFull}
8730
8699
  */
8731
- IDBObjectStore.prototype["delete"] = function (query) {
8700
+ IDBObjectStore.prototype.delete = function (query) {
8732
8701
  var me = this;
8733
8702
  if (!(this instanceof IDBObjectStore)) {
8734
8703
  throw new TypeError('Illegal invocation');
@@ -8873,7 +8842,7 @@
8873
8842
  if (!index || index.__deleted) {
8874
8843
  throw createDOMException('NotFoundError', 'Index "' + indexName + '" does not exist on ' + me.__currentName);
8875
8844
  }
8876
- if (!me.__indexHandles[indexName] || me.__indexes[indexName].__pendingDelete || me.__indexes[indexName].__deleted) {
8845
+ if (!Object.hasOwn(me.__indexHandles, indexName) || me.__indexes[indexName].__pendingDelete || me.__indexes[indexName].__deleted) {
8877
8846
  me.__indexHandles[indexName] = IDBIndex.__clone(index, me);
8878
8847
  }
8879
8848
  return me.__indexHandles[indexName];
@@ -8903,7 +8872,7 @@
8903
8872
  IDBTransaction.__assertVersionChange(me.transaction);
8904
8873
  IDBObjectStore.__invalidStateIfDeleted(me);
8905
8874
  IDBTransaction.__assertActive(me.transaction);
8906
- if (me.__indexes[indexName] && !me.__indexes[indexName].__deleted && !me.__indexes[indexName].__pendingDelete) {
8875
+ if (Object.hasOwn(me.__indexes, indexName) && !me.__indexes[indexName].__deleted && !me.__indexes[indexName].__pendingDelete) {
8907
8876
  throw createDOMException('ConstraintError', 'Index "' + indexName + '" already exists on ' + me.__currentName);
8908
8877
  }
8909
8878
  keyPath = convertToSequenceDOMString(keyPath);
@@ -8913,7 +8882,7 @@
8913
8882
  if (Array.isArray(keyPath) && optionalParameters && optionalParameters.multiEntry) {
8914
8883
  throw createDOMException('InvalidAccessError', 'The keyPath argument was an array and the multiEntry option is true.');
8915
8884
  }
8916
- optionalParameters = optionalParameters || {};
8885
+ optionalParameters || (optionalParameters = {});
8917
8886
  /** @type {import('./IDBIndex.js').IDBIndexProperties} */
8918
8887
  var indexProperties = {
8919
8888
  columnName: indexName,
@@ -8951,6 +8920,8 @@
8951
8920
  }
8952
8921
  IDBIndex.__deleteIndex(me, index);
8953
8922
  };
8923
+
8924
+ /* eslint-disable unicorn/no-top-level-side-effects -- Would be good */
8954
8925
  defineReadonlyOuterInterface(IDBObjectStore.prototype, readonlyProperties$1);
8955
8926
  defineOuterInterface(IDBObjectStore.prototype, ['name']);
8956
8927
  IDBObjectStore.prototype[Symbol.toStringTag] = 'IDBObjectStorePrototype';
@@ -9185,8 +9156,9 @@
9185
9156
 
9186
9157
  /**
9187
9158
  * IDB Database Object.
9188
- * @see http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#database-interface
9159
+ * @see https://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#database-interface
9189
9160
  * @class
9161
+ * @throws {TypeError}
9190
9162
  */
9191
9163
  function IDBDatabase() {
9192
9164
  this.__versionTransaction = null;
@@ -9323,14 +9295,14 @@
9323
9295
  IDBTransaction.__assertVersionChange(this.__versionTransaction); // this.__versionTransaction may not exist if called mistakenly by user in onsuccess
9324
9296
  this.throwIfUpgradeTransactionNull();
9325
9297
  IDBTransaction.__assertActive(this.__versionTransaction);
9326
- createOptions = _objectSpread2$1({}, createOptions);
9298
+ createOptions = _objectSpread2({}, createOptions);
9327
9299
  var _createOptions = createOptions,
9328
9300
  keyPath = _createOptions.keyPath;
9329
9301
  keyPath = keyPath === undefined ? null : convertToSequenceDOMString(keyPath);
9330
9302
  if (keyPath !== null && !isValidKeyPath(keyPath)) {
9331
9303
  throw createDOMException('SyntaxError', 'The keyPath argument contains an invalid key path.');
9332
9304
  }
9333
- if (this.__objectStores[storeName] && !this.__objectStores[storeName].__pendingDelete) {
9305
+ if (Object.hasOwn(this.__objectStores, storeName) && !this.__objectStores[storeName].__pendingDelete) {
9334
9306
  throw createDOMException('ConstraintError', 'Object store "' + storeName + '" already exists in ' + this.name);
9335
9307
  }
9336
9308
  var autoInc = createOptions.autoIncrement;
@@ -9408,7 +9380,8 @@
9408
9380
  ? _toConsumableArray(new Set(
9409
9381
  // to be unique
9410
9382
  convertToSequenceDOMString(storeNames) // iterables have `ToString` applied (and we convert to array for convenience)
9411
- )).sort() // must be sorted
9383
+ // eslint-disable-next-line unicorn/require-array-sort-compare -- IndexedDB requires code unit comparison (default behavior)
9384
+ )).toSorted() // must be sorted
9412
9385
  : [convertToDOMString(storeNames)];
9413
9386
 
9414
9387
  /* (function () {
@@ -9422,7 +9395,7 @@
9422
9395
  // prioritizing readonly but not starving readwrite).
9423
9396
  // Even for readonly transactions, due to [issue 17](https://github.com/nolanlawson/node-websql/issues/17),
9424
9397
  // we're not currently actually running the SQL requests in parallel.
9425
- mode = mode || 'readonly';
9398
+ mode || (mode = 'readonly');
9426
9399
  IDBTransaction.__assertNotVersionChange(this.__versionTransaction);
9427
9400
  if (this.__closePending) {
9428
9401
  throw createDOMException('InvalidStateError', 'An attempt was made to start a new transaction on a database connection that is not open');
@@ -9481,13 +9454,14 @@
9481
9454
  var evt = createEvent('close');
9482
9455
  setTimeout(function () {
9483
9456
  me.dispatchEvent(evt);
9484
- });
9457
+ }, 0);
9485
9458
  }
9486
9459
  };
9487
9460
  trans.__abortTransaction(createDOMException('AbortError', 'The connection was force-closed: ' + (msg || '')));
9488
9461
  });
9489
9462
  me.__transactions = [];
9490
9463
  };
9464
+ /* eslint-disable unicorn/no-top-level-side-effects -- Would be good */
9491
9465
  defineOuterInterface(IDBDatabase.prototype, listeners);
9492
9466
  defineReadonlyOuterInterface(IDBDatabase.prototype, readonlyProperties);
9493
9467
  Object.defineProperty(IDBDatabase.prototype, 'constructor', {
@@ -9517,6 +9491,7 @@
9517
9491
  * @returns {void}
9518
9492
  */
9519
9493
  var setFS = function setFS(_fs) {
9494
+ // eslint-disable-next-line unicorn/no-top-level-assignment-in-function -- Necessary?
9520
9495
  fs = _fs;
9521
9496
  };
9522
9497
 
@@ -9524,8 +9499,7 @@
9524
9499
  * @returns {string}
9525
9500
  */
9526
9501
  var getOrigin = function getOrigin() {
9527
- // eslint-disable-next-line no-undef -- If browser/polyfilled
9528
- return (typeof location === "undefined" ? "undefined" : _typeof$2(location)) !== 'object' || !location ? 'null' : location.origin;
9502
+ return (typeof location === "undefined" ? "undefined" : _typeof$1(location)) !== 'object' || !location ? 'null' : location.origin;
9529
9503
  };
9530
9504
  var hasNullOrigin = function hasNullOrigin() {
9531
9505
  return CFG.checkOrigin !== false && getOrigin() === 'null';
@@ -9588,7 +9562,7 @@
9588
9562
  var origin = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : getOrigin();
9589
9563
  var cb = arguments.length > 3 ? arguments[3] : undefined;
9590
9564
  /* eslint-enable default-param-last -- Keep cb at end */
9591
- if (!connectionQueue[origin][name]) {
9565
+ if (!Object.hasOwn(connectionQueue[origin], name)) {
9592
9566
  connectionQueue[origin][name] = [];
9593
9567
  }
9594
9568
  connectionQueue[origin][name].push({
@@ -9643,7 +9617,7 @@
9643
9617
  setTimeout(function () {
9644
9618
  entry.dispatchEvent(e); // No need to catch errors
9645
9619
  resolve(undefined);
9646
- });
9620
+ }, 0);
9647
9621
  });
9648
9622
  });
9649
9623
  }, SyncPromise.resolve(undefined)).then(function () {
@@ -9674,7 +9648,7 @@
9674
9648
  } else {
9675
9649
  resolve(undefined);
9676
9650
  }
9677
- });
9651
+ }, 0);
9678
9652
  });
9679
9653
  });
9680
9654
  }
@@ -9731,7 +9705,7 @@
9731
9705
  function cleanupDatabaseResources(__openDatabase, name, escapedDatabaseName, databaseDeleted, dbError) {
9732
9706
  var useMemoryDatabase = typeof CFG.memoryDatabase === 'string';
9733
9707
  if (useMemoryDatabase) {
9734
- var latestSQLiteDBCached = websqlDBCache[name] ? getLatestCachedWebSQLDB(name) : null;
9708
+ var latestSQLiteDBCached = Object.hasOwn(websqlDBCache, name) ? getLatestCachedWebSQLDB(name) : null;
9735
9709
  if (!latestSQLiteDBCached) {
9736
9710
  console.warn('Could not find a memory database instance to delete.');
9737
9711
  databaseDeleted();
@@ -9829,6 +9803,7 @@
9829
9803
  if (sysdb) {
9830
9804
  success();
9831
9805
  } else {
9806
+ // eslint-disable-next-line unicorn/no-top-level-assignment-in-function -- Necessary?
9832
9807
  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);
9833
9808
  sysdb.transaction(function (systx) {
9834
9809
  systx.executeSql('CREATE TABLE IF NOT EXISTS dbVersions (name BLOB, version INT);', [], function (systx) {
@@ -9845,6 +9820,7 @@
9845
9820
  /**
9846
9821
  * IDBFactory Class.
9847
9822
  * @see https://w3c.github.io/IndexedDB/#idl-def-IDBFactory
9823
+ * @throws {TypeError}
9848
9824
  * @class
9849
9825
  */
9850
9826
  function IDBFactory() {
@@ -9913,6 +9889,7 @@
9913
9889
  var req = IDBOpenDBRequest.__createInstance();
9914
9890
  var calledDbCreateError = false;
9915
9891
  if (CFG.autoName && name === '') {
9892
+ // eslint-disable-next-line unicorn/no-top-level-assignment-in-function -- Necessary?
9916
9893
  name = 'autoNamedDatabase_' + nameCounter++;
9917
9894
  }
9918
9895
  name = String(name); // cast to a string
@@ -9971,7 +9948,7 @@
9971
9948
  req.__done = true;
9972
9949
  }
9973
9950
  var connection = IDBDatabase.__createInstance(db, name, oldVersion, version, data);
9974
- if (!me.__connections[name]) {
9951
+ if (!Object.hasOwn(me.__connections, name)) {
9975
9952
  me.__connections[name] = [];
9976
9953
  }
9977
9954
  me.__connections[name].push(connection);
@@ -10066,7 +10043,7 @@
10066
10043
  connection.__upgradeTransaction = null;
10067
10044
  // We ensure any cache is deleted before any request error events fire and try to reopen
10068
10045
  if (useDatabaseCache) {
10069
- if (name in websqlDBCache) {
10046
+ if (Object.hasOwn(websqlDBCache, name)) {
10070
10047
  delete websqlDBCache[name][version];
10071
10048
  }
10072
10049
  }
@@ -10091,7 +10068,7 @@
10091
10068
  dbCreateError(err);
10092
10069
  return false;
10093
10070
  });
10094
- });
10071
+ }, 0);
10095
10072
  };
10096
10073
 
10097
10074
  // eslint-disable-next-line camelcase -- Clear API
@@ -10144,7 +10121,7 @@
10144
10121
  return false;
10145
10122
  });
10146
10123
  return undefined;
10147
- })["catch"](function (err) {
10124
+ }).catch(function (err) {
10148
10125
  console.log('Error within `triggerAnyVersionChangeAndBlockedEvents`');
10149
10126
  throw err;
10150
10127
  });
@@ -10164,12 +10141,12 @@
10164
10141
  function openDB(oldVersion) {
10165
10142
  /** @type {DatabaseFull} */
10166
10143
  var db;
10167
- if ((useMemoryDatabase || useDatabaseCache) && name in websqlDBCache && websqlDBCache[name][version]) {
10144
+ if ((useMemoryDatabase || useDatabaseCache) && Object.hasOwn(websqlDBCache, name) && Object.hasOwn(websqlDBCache[name], version)) {
10168
10145
  db = websqlDBCache[name][version];
10169
10146
  } else {
10170
10147
  db = me.__openDatabase(useMemoryDatabase ? CFG.memoryDatabase : path.join(CFG.databaseBasePath || '', escapedDatabaseName), '1', name, CFG.DEFAULT_DB_SIZE);
10171
10148
  if (useDatabaseCache) {
10172
- if (!(name in websqlDBCache)) {
10149
+ if (!Object.hasOwn(websqlDBCache, name)) {
10173
10150
  websqlDBCache[name] = {};
10174
10151
  }
10175
10152
  websqlDBCache[name][version] = db;
@@ -10183,7 +10160,7 @@
10183
10160
  if (useDatabaseCache) {
10184
10161
  setTimeout(function () {
10185
10162
  dbCreateError(err);
10186
- });
10163
+ }, 0);
10187
10164
  } else {
10188
10165
  dbCreateError(err);
10189
10166
  }
@@ -10208,7 +10185,7 @@
10208
10185
  addRequestToConnectionQueue(req, name, /* origin */undefined, function () {
10209
10186
  var latestCachedVersion;
10210
10187
  if (useDatabaseCache) {
10211
- if (!(name in websqlDBCache)) {
10188
+ if (!Object.hasOwn(websqlDBCache, name)) {
10212
10189
  websqlDBCache[name] = {};
10213
10190
  }
10214
10191
  latestCachedVersion = getLatestCachedWebSQLVersion(name);
@@ -10328,7 +10305,7 @@
10328
10305
  /** @type {DatabaseDeleted} */
10329
10306
  function databaseDeleted() {
10330
10307
  sysdbFinishedCbDelete(false, function () {
10331
- if (useDatabaseCache && name in websqlDBCache) {
10308
+ if (useDatabaseCache && Object.hasOwn(websqlDBCache, name)) {
10332
10309
  delete websqlDBCache[name]; // New calls will treat as though never existed
10333
10310
  }
10334
10311
  delete me.__connections[name];
@@ -10463,7 +10440,7 @@
10463
10440
  * @todo forceClose: Test
10464
10441
  * This is provided to facilitate unit-testing of the
10465
10442
  * closing of a database connection with a forced flag:
10466
- * <http://w3c.github.io/IndexedDB/#steps-for-closing-a-database-connection>
10443
+ * <https://w3c.github.io/IndexedDB/#steps-for-closing-a-database-connection>
10467
10444
  * @param {string} dbName
10468
10445
  * @param {Integer} connIdx
10469
10446
  * @param {string} msg
@@ -10487,12 +10464,13 @@
10487
10464
  forceClose(connection);
10488
10465
  });
10489
10466
  });
10490
- } else if (!me.__connections[dbName]) {
10467
+ } else if (!Object.hasOwn(me.__connections, dbName)) {
10491
10468
  console.log('No database connections with that name to force close');
10492
10469
  } else if (isNullish(connIdx)) {
10493
10470
  me.__connections[dbName].forEach(function (conn) {
10494
10471
  forceClose(conn);
10495
10472
  });
10473
+ // eslint-disable-next-line unicorn/prefer-number-is-safe-integer -- Ok
10496
10474
  } else if (!Number.isInteger(connIdx) || connIdx < 0 || connIdx > me.__connections[dbName].length - 1) {
10497
10475
  throw new TypeError('If providing an argument, __forceClose must be called with a ' + 'numeric index to indicate a specific connection to close');
10498
10476
  } else {
@@ -10510,9 +10488,13 @@
10510
10488
  connectionQueue[origin] = {};
10511
10489
  };
10512
10490
  IDBFactory.prototype[Symbol.toStringTag] = 'IDBFactoryPrototype';
10491
+
10492
+ /* eslint-disable unicorn/no-top-level-side-effects -- Would be good */
10513
10493
  Object.defineProperty(IDBFactory, 'prototype', {
10514
10494
  writable: false
10515
10495
  });
10496
+ /* eslint-enable unicorn/no-top-level-side-effects -- Would be good */
10497
+
10516
10498
  var shimIndexedDB$1 = IDBFactory.__createInstance();
10517
10499
 
10518
10500
  /**
@@ -10563,6 +10545,7 @@
10563
10545
 
10564
10546
  /**
10565
10547
  * @class
10548
+ * @throws {TypeError}
10566
10549
  */
10567
10550
  function IDBCursor() {
10568
10551
  throw new TypeError('Illegal constructor');
@@ -10572,7 +10555,7 @@
10572
10555
  /* eslint-disable func-name-matching -- API */
10573
10556
  /**
10574
10557
  * The IndexedDB Cursor Object.
10575
- * @see http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#idl-def-IDBCursor
10558
+ * @see https://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#idl-def-IDBCursor
10576
10559
  * @param {IDBKeyRange} query
10577
10560
  * @param {string} direction
10578
10561
  * @param {import('./IDBObjectStore.js').IDBObjectStoreFull} store
@@ -10632,7 +10615,7 @@
10632
10615
  range.__upperCached = range.upper !== undefined && _encode(range.upper, this.__multiEntryIndex);
10633
10616
  }
10634
10617
  this.__gotValue = true;
10635
- this["continue"]();
10618
+ this.continue();
10636
10619
  };
10637
10620
 
10638
10621
  /**
@@ -10661,21 +10644,16 @@
10661
10644
  for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
10662
10645
  args[_key2] = arguments[_key2];
10663
10646
  }
10647
+ var key = args[0],
10648
+ primaryKey = args[1],
10649
+ tx = args[2],
10650
+ success = args[3],
10651
+ error = args[4],
10652
+ recordsToLoad = args[5];
10664
10653
  if (this.__multiEntryIndex) {
10665
- var key = args[0],
10666
- primaryKey = args[1],
10667
- tx = args[2],
10668
- success = args[3],
10669
- error = args[4];
10670
- this.__findMultiEntry(key, primaryKey, tx, success, error);
10654
+ this.__findMultiEntry(key, primaryKey, tx, success, error, recordsToLoad);
10671
10655
  } else {
10672
- var _key3 = args[0],
10673
- _primaryKey = args[1],
10674
- _tx = args[2],
10675
- _success = args[3],
10676
- _error = args[4],
10677
- recordsToLoad = args[5];
10678
- this.__findBasic(_key3, _primaryKey, _tx, _success, _error, recordsToLoad);
10656
+ this.__findBasic(key, primaryKey, tx, success, error, recordsToLoad);
10679
10657
  }
10680
10658
  };
10681
10659
 
@@ -10704,7 +10682,7 @@
10704
10682
  */
10705
10683
  IDBCursor.prototype.__findBasic = function (key, primaryKey, tx, success, error, recordsToLoad) {
10706
10684
  var continueCall = recordsToLoad !== undefined;
10707
- recordsToLoad = recordsToLoad || 1;
10685
+ recordsToLoad || (recordsToLoad = 1);
10708
10686
  var me = this;
10709
10687
  var quotedKeyColumnName = sqlQuote(me.__keyColumnName);
10710
10688
  var quotedKey = sqlQuote('key');
@@ -10791,10 +10769,11 @@
10791
10769
  * @param {SQLTransaction} tx
10792
10770
  * @param {KeySuccess} success
10793
10771
  * @param {FindError} error
10772
+ * @param {Integer|undefined} recordsToLoad
10794
10773
  * @this {IDBCursorFull}
10795
10774
  * @returns {void}
10796
10775
  */
10797
- IDBCursor.prototype.__findMultiEntry = function (key, primaryKey, tx, success, error) {
10776
+ IDBCursor.prototype.__findMultiEntry = function (key, primaryKey, tx, success, error, recordsToLoad) {
10798
10777
  var me = this;
10799
10778
  if (me.__prefetchedData && me.__prefetchedData.length === me.__prefetchedIndex) {
10800
10779
  if (CFG.DEBUG) {
@@ -10849,6 +10828,7 @@
10849
10828
  // 4. Sort by object store position (if defined and not unique)
10850
10829
  sql.push(',', sqlQuote(me.__valueColumnName), direction);
10851
10830
  }
10831
+ sql.push('LIMIT', String(recordsToLoad));
10852
10832
  }
10853
10833
  var sqlStr = sql.join(' ');
10854
10834
  if (CFG.DEBUG) {
@@ -10881,13 +10861,11 @@
10881
10861
  /**
10882
10862
  * @type {RowItemNonNull}
10883
10863
  */
10884
- var clone = {
10864
+ var clone = _defineProperty(_defineProperty({
10885
10865
  matchingKey: (/** @type {string} */
10886
10866
  _encode(matchingKey, true)),
10887
10867
  key: _rowItem.key
10888
- };
10889
- clone[me.__keyColumnName] = _rowItem[me.__keyColumnName];
10890
- clone[me.__valueColumnName] = _rowItem[me.__valueColumnName];
10868
+ }, me.__keyColumnName, _rowItem[me.__keyColumnName]), me.__valueColumnName, _rowItem[me.__valueColumnName]);
10891
10869
  rows.push(clone);
10892
10870
  }
10893
10871
  } catch (err) {
@@ -11028,7 +11006,7 @@
11028
11006
  if (!me.__matchedKeys) {
11029
11007
  me.__matchedKeys = {};
11030
11008
  }
11031
- if (me.__matchedKeys[rowItem.matchingKey]) {
11009
+ if (me.__matchedKeys[rowItem.matchingKey] === true) {
11032
11010
  callback(undefined, undefined, undefined);
11033
11011
  return;
11034
11012
  }
@@ -11138,9 +11116,11 @@
11138
11116
  triggerSuccess(k, val, primKey);
11139
11117
  return;
11140
11118
  }
11119
+ // @ts-expect-error Todo: Our bug to fix
11141
11120
  cursorContinue(tx, args, success, error);
11142
11121
  }
11143
11122
  if (me.__unique && !me.__multiEntryIndex && encKey === _encode(me.key, me.__multiEntryIndex)) {
11123
+ // @ts-expect-error Todo: Our bug to fix
11144
11124
  cursorContinue(tx, args, success, error);
11145
11125
  return;
11146
11126
  }
@@ -11154,8 +11134,8 @@
11154
11134
  me.__find(key, primaryKey, tx, triggerSuccess, /** @type {FindError} */
11155
11135
  function () {
11156
11136
  me.__advanceCount = undefined;
11157
- for (var _len3 = arguments.length, args = new Array(_len3), _key4 = 0; _key4 < _len3; _key4++) {
11158
- args[_key4] = arguments[_key4];
11137
+ for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
11138
+ args[_key3] = arguments[_key3];
11159
11139
  }
11160
11140
  var t = args[0],
11161
11141
  err = args[1];
@@ -11168,7 +11148,7 @@
11168
11148
  * @this {IDBCursorFull}
11169
11149
  * @returns {void}
11170
11150
  */
11171
- IDBCursor.prototype["continue"] = function /* key */
11151
+ IDBCursor.prototype.continue = function /* key */
11172
11152
  () {
11173
11153
  // eslint-disable-next-line prefer-rest-params -- API
11174
11154
  this.__continue(arguments[0]);
@@ -11278,12 +11258,13 @@
11278
11258
  }
11279
11259
  if (me.__store.keyPath !== null) {
11280
11260
  var _me$__store$__validat = me.__store.__validateKeyAndValueAndCloneValue(valueToUpdate, undefined, true),
11281
- _me$__store$__validat2 = _slicedToArray$1(_me$__store$__validat, 2),
11261
+ _me$__store$__validat2 = _slicedToArray(_me$__store$__validat, 2),
11282
11262
  evaluatedKey = _me$__store$__validat2[0],
11283
11263
  clonedValue = _me$__store$__validat2[1];
11284
11264
  if (cmp(me.primaryKey, evaluatedKey) !== 0) {
11285
11265
  throw createDOMException('DataError', 'The key of the supplied value to `update` is not equal to the cursor\'s effective key');
11286
11266
  }
11267
+ // eslint-disable-next-line unicorn/prefer-hoisting-branch-code -- Different
11287
11268
  addToQueue(clonedValue);
11288
11269
  } else {
11289
11270
  var _clonedValue = clone(valueToUpdate);
@@ -11296,7 +11277,7 @@
11296
11277
  * @this {IDBCursorFull}
11297
11278
  * @returns {IDBRequest}
11298
11279
  */
11299
- IDBCursor.prototype["delete"] = function () {
11280
+ IDBCursor.prototype.delete = function () {
11300
11281
  var me = this;
11301
11282
  IDBTransaction.__assertActive(me.__store.transaction);
11302
11283
  /** @type {import('./IDBTransaction.js').IDBTransactionFull} */
@@ -11333,18 +11314,23 @@
11333
11314
  }, undefined, me);
11334
11315
  };
11335
11316
  IDBCursor.prototype[Symbol.toStringTag] = 'IDBCursorPrototype';
11317
+
11318
+ /* eslint-disable unicorn/no-top-level-side-effects -- Would be good */
11336
11319
  defineReadonlyOuterInterface(IDBCursor.prototype, ['source', 'direction', 'key', 'primaryKey', 'request']);
11337
11320
  Object.defineProperty(IDBCursor, 'prototype', {
11338
11321
  writable: false
11339
11322
  });
11323
+ /* eslint-enable unicorn/no-top-level-side-effects -- Would be good */
11340
11324
 
11341
11325
  /**
11342
11326
  * @class
11327
+ * @throws {TypeError}
11343
11328
  */
11344
11329
  function IDBCursorWithValue() {
11345
11330
  throw new TypeError('Illegal constructor');
11346
11331
  }
11347
11332
 
11333
+ /* eslint-disable unicorn/no-top-level-side-effects -- Would be good */
11348
11334
  // @ts-expect-error It's ok
11349
11335
  IDBCursorWithValue.prototype = Object.create(IDBCursor.prototype);
11350
11336
  Object.defineProperty(IDBCursorWithValue.prototype, 'constructor', {
@@ -11353,6 +11339,8 @@
11353
11339
  configurable: true,
11354
11340
  value: IDBCursorWithValue
11355
11341
  });
11342
+ /* eslint-enable unicorn/no-top-level-side-effects -- Would be good */
11343
+
11356
11344
  var IDBCursorWithValueAlias = IDBCursorWithValue;
11357
11345
  /**
11358
11346
  *
@@ -11360,8 +11348,8 @@
11360
11348
  * @returns {IDBCursorWithValueFull}
11361
11349
  */
11362
11350
  IDBCursorWithValue.__createInstance = function () {
11363
- for (var _len4 = arguments.length, args = new Array(_len4), _key5 = 0; _key5 < _len4; _key5++) {
11364
- args[_key5] = arguments[_key5];
11351
+ for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
11352
+ args[_key4] = arguments[_key4];
11365
11353
  }
11366
11354
  /**
11367
11355
  * @class
@@ -11385,6 +11373,8 @@
11385
11373
  // @ts-expect-error It's ok
11386
11374
  return new IDBCursorWithValue();
11387
11375
  };
11376
+
11377
+ /* eslint-disable unicorn/no-top-level-side-effects -- Would be good */
11388
11378
  defineReadonlyOuterInterface(IDBCursorWithValue.prototype, ['value']);
11389
11379
  IDBCursorWithValue.prototype[Symbol.toStringTag] = 'IDBCursorWithValuePrototype';
11390
11380
  Object.defineProperty(IDBCursorWithValue, 'prototype', {
@@ -11406,9 +11396,9 @@
11406
11396
 
11407
11397
  /** @type {SetConfig} */
11408
11398
  function setConfig(prop, val) {
11409
- if (prop && _typeof$2(prop) === 'object') {
11399
+ if (prop && _typeof$1(prop) === 'object') {
11410
11400
  Object.entries(prop).forEach(function (_ref) {
11411
- var _ref2 = _slicedToArray$1(_ref, 2),
11401
+ var _ref2 = _slicedToArray(_ref, 2),
11412
11402
  p = _ref2[0],
11413
11403
  val = _ref2[1];
11414
11404
  setConfig(/** @type {import('./CFG.js').KeyofConfigValues} */
@@ -11416,7 +11406,7 @@
11416
11406
  });
11417
11407
  return;
11418
11408
  }
11419
- if (!(prop in CFG)) {
11409
+ if (!Object.hasOwn(CFG, prop)) {
11420
11410
  throw new Error(prop + ' is not a valid configuration property');
11421
11411
  }
11422
11412
  // @ts-expect-error Should not be `never` here!
@@ -11603,7 +11593,7 @@
11603
11593
  });
11604
11594
  /** @type {[string, any][]} */
11605
11595
  [['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) {
11606
- var _ref4 = _slicedToArray$1(_ref3, 2),
11596
+ var _ref4 = _slicedToArray(_ref3, 2),
11607
11597
  prop = _ref4[0],
11608
11598
  obj = _ref4[1];
11609
11599
  shim(prop, obj, {
@@ -11616,7 +11606,7 @@
11616
11606
  setFS(CFG.fs);
11617
11607
  }
11618
11608
  if (CFG.fullIDLSupport) {
11619
- // Slow per MDN so off by default! Though apparently needed for WebIDL: http://stackoverflow.com/questions/41927589/rationales-consequences-of-webidl-class-inheritance-requirements
11609
+ // Slow per MDN so off by default! Though apparently needed for WebIDL: https://stackoverflow.com/questions/41927589/rationales-consequences-of-webidl-class-inheritance-requirements
11620
11610
 
11621
11611
  Object.setPrototypeOf(IDB.IDBOpenDBRequest, IDB.IDBRequest);
11622
11612
  Object.setPrototypeOf(IDB.IDBCursorWithValue, IDB.IDBCursor);
@@ -11653,7 +11643,7 @@
11653
11643
 
11654
11644
  /** @type {GetConfig} */
11655
11645
  IDB.shimIndexedDB.__getConfig = function (prop) {
11656
- if (!(prop in CFG)) {
11646
+ if (!Object.hasOwn(CFG, prop)) {
11657
11647
  throw new Error(prop + ' is not a valid configuration property');
11658
11648
  }
11659
11649
  return CFG[prop];
@@ -11684,12 +11674,12 @@
11684
11674
  // Workaround to prevent an error in Firefox
11685
11675
  if (!('indexedDB' in IDB) && typeof window !== 'undefined') {
11686
11676
  // 2nd condition avoids problems in Node
11687
- 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;
11677
+ IDB.indexedDB || (IDB.indexedDB = /** @type {IDBFactory} */
11678
+ 'webkitIndexedDB' in IDB && IDB.webkitIndexedDB || 'mozIndexedDB' in IDB && IDB.mozIndexedDB || 'oIndexedDB' in IDB && IDB.oIndexedDB || 'msIndexedDB' in IDB && IDB.msIndexedDB);
11688
11679
  }
11689
11680
 
11690
11681
  // Detect browsers with known IndexedDB issues (e.g. Android pre-4.4)
11691
- var poorIndexedDbSupport = false;
11692
- if (typeof navigator !== 'undefined' &&
11682
+ var poorIndexedDbSupport = typeof navigator !== 'undefined' &&
11693
11683
  // Not apparently defined in React Native
11694
11684
  navigator.userAgent && (
11695
11685
  // Ignore Node or other environments
@@ -11697,15 +11687,11 @@
11697
11687
  /Android (?:2|3|4\.[0-3])/.test(navigator.userAgent) && !navigator.userAgent.includes('Chrome') ||
11698
11688
  // Bad non-Safari iOS9 support (see <https://github.com/axemclion/IndexedDBShim/issues/252>)
11699
11689
  (!navigator.userAgent.includes('Safari') || navigator.userAgent.includes('Chrome')) &&
11700
- // Exclude genuine Safari: http://stackoverflow.com/a/7768006/271577
11701
- // Detect iOS: http://stackoverflow.com/questions/9038625/detect-if-device-is-ios/9039885#9039885
11702
- // and detect version 9: http://stackoverflow.com/a/26363560/271577
11703
- /(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' &&
11704
- // eslint-disable-next-line no-undef -- Extra check
11705
- !('MSStream' in window) // But avoid IE11
11706
- )) {
11707
- poorIndexedDbSupport = true;
11708
- }
11690
+ // Exclude genuine Safari: https://stackoverflow.com/a/7768006/271577
11691
+ // Detect iOS: https://stackoverflow.com/questions/9038625/detect-if-device-is-ios/9039885#9039885
11692
+ // and detect version 9: https://stackoverflow.com/a/26363560/271577
11693
+ /(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
11694
+ );
11709
11695
  if (!CFG.DEFAULT_DB_SIZE) {
11710
11696
  CFG.DEFAULT_DB_SIZE = (
11711
11697
  // Safari currently requires larger size: (We don't need a larger size for Node as node-websql doesn't use this info)
@@ -11718,16 +11704,17 @@
11718
11704
  if (!CFG.avoidAutoShim && (!IDB.indexedDB || poorIndexedDbSupport) && CFG.win.openDatabase !== undefined) {
11719
11705
  IDB.shimIndexedDB.__useShim();
11720
11706
  } else {
11707
+ /* eslint-disable unicorn/logical-assignment-operators -- TS */
11721
11708
  IDB.IDBDatabase = IDB.IDBDatabase || 'webkitIDBDatabase' in IDB && IDB.webkitIDBDatabase;
11722
11709
  IDB.IDBTransaction = IDB.IDBTransaction || 'webkitIDBTransaction' in IDB && IDB.webkitIDBTransaction || {};
11723
11710
  IDB.IDBCursor = IDB.IDBCursor || 'webkitIDBCursor' in IDB && IDB.webkitIDBCursor;
11724
11711
  IDB.IDBKeyRange = IDB.IDBKeyRange || 'webkitIDBKeyRange' in IDB && IDB.webkitIDBKeyRange;
11712
+ /* eslint-enable unicorn/logical-assignment-operators -- TS */
11725
11713
  }
11726
11714
  return /** @type {ShimmedObject} */IDB;
11727
11715
  }
11728
11716
 
11729
- /* eslint-env browser, worker */
11730
- /* globals shimIndexedDB */
11717
+ /* globals shimIndexedDB -- Environment */
11731
11718
  CFG.win = typeof window !== 'undefined' ? window : self; // For Web Workers
11732
11719
 
11733
11720
  setGlobalVars();