indexeddbshim 16.0.0 → 16.1.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 (36) hide show
  1. package/README.md +1 -1
  2. package/badges/licenses-badge-dev.svg +1 -1
  3. package/dist/IDBCursor.d.ts +2 -1
  4. package/dist/IDBCursor.d.ts.map +1 -1
  5. package/dist/IDBFactory.d.ts.map +1 -1
  6. package/dist/Key.d.ts.map +1 -1
  7. package/dist/indexeddbshim-Key.js +1668 -1838
  8. package/dist/indexeddbshim-Key.js.map +1 -1
  9. package/dist/indexeddbshim-Key.min.js +2 -2
  10. package/dist/indexeddbshim-Key.min.js.map +1 -1
  11. package/dist/indexeddbshim-UnicodeIdentifiers-node.cjs +546 -550
  12. package/dist/indexeddbshim-UnicodeIdentifiers-node.cjs.map +1 -1
  13. package/dist/indexeddbshim-UnicodeIdentifiers.js +1812 -2495
  14. package/dist/indexeddbshim-UnicodeIdentifiers.js.map +1 -1
  15. package/dist/indexeddbshim-UnicodeIdentifiers.min.js +2 -4
  16. package/dist/indexeddbshim-UnicodeIdentifiers.min.js.map +1 -1
  17. package/dist/indexeddbshim-node.cjs +546 -550
  18. package/dist/indexeddbshim-node.cjs.map +1 -1
  19. package/dist/indexeddbshim-noninvasive.js +1810 -2493
  20. package/dist/indexeddbshim-noninvasive.js.map +1 -1
  21. package/dist/indexeddbshim-noninvasive.min.js +2 -4
  22. package/dist/indexeddbshim-noninvasive.min.js.map +1 -1
  23. package/dist/indexeddbshim.js +1811 -2486
  24. package/dist/indexeddbshim.js.map +1 -1
  25. package/dist/indexeddbshim.min.js +2 -4
  26. package/dist/indexeddbshim.min.js.map +1 -1
  27. package/dist/setGlobalVars.d.ts.map +1 -1
  28. package/package.json +20 -21
  29. package/src/IDBCursor.js +7 -3
  30. package/src/IDBFactory.js +0 -1
  31. package/src/Key.js +4 -0
  32. package/src/browser-UnicodeIdentifiers.js +2 -2
  33. package/src/browser-noninvasive.js +1 -1
  34. package/src/browser.js +1 -1
  35. package/src/setGlobalVars.js +0 -2
  36. package/src/unicode-regex.js +1 -1
@@ -1,4 +1,4 @@
1
- /*! indexeddbshim - v16.0.0 - 6/14/2025 */
1
+ /*! indexeddbshim - v16.1.0 - 9/1/2025 */
2
2
 
3
3
  'use strict';
4
4
 
@@ -1165,7 +1165,7 @@ var hasRequiredRegex;
1165
1165
  function requireRegex() {
1166
1166
  if (hasRequiredRegex) return regex$1;
1167
1167
  hasRequiredRegex = 1;
1168
- 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]/;
1168
+ 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]/;
1169
1169
  return regex$1;
1170
1170
  }
1171
1171
  var regexExports = requireRegex();
@@ -4995,33 +4995,10 @@ Object.defineProperty(IDBTransaction, 'prototype', {
4995
4995
  writable: false
4996
4996
  });
4997
4997
 
4998
- function ownKeys(e, t) {
4999
- var r = Object.keys(e);
5000
- if (Object.getOwnPropertySymbols) {
5001
- var n = Object.getOwnPropertySymbols(e);
5002
- t && (n = n.filter(function (t) {
5003
- return Object.getOwnPropertyDescriptor(e, t).enumerable;
5004
- })), r.push.apply(r, n);
5005
- }
5006
- return r;
5007
- }
5008
- function _objectSpread2(e) {
5009
- for (var t = 1; t < arguments.length; t++) {
5010
- var r = null != arguments[t] ? arguments[t] : {};
5011
- t % 2 ? ownKeys(Object(r), true).forEach(function (t) {
5012
- _defineProperty(e, t, r[t]);
5013
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : ownKeys(Object(r)).forEach(function (t) {
5014
- Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t));
5015
- });
5016
- }
5017
- return e;
5018
- }
5019
- function _typeof(e) {
5020
- return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) {
5021
- return typeof e;
5022
- } : function (e) {
5023
- return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
5024
- }, _typeof(e);
4998
+ function _arrayLikeToArray(e, t) {
4999
+ (null == t || t > e.length) && (t = e.length);
5000
+ for (var r = 0, n = Array(t); r < t; r++) n[r] = e[r];
5001
+ return n;
5025
5002
  }
5026
5003
  function _classCallCheck(e, t) {
5027
5004
  if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");
@@ -5044,6 +5021,27 @@ function _defineProperty(e, t, r) {
5044
5021
  writable: true
5045
5022
  }) : e[t] = r, e;
5046
5023
  }
5024
+ function ownKeys(e, t) {
5025
+ var r = Object.keys(e);
5026
+ if (Object.getOwnPropertySymbols) {
5027
+ var n = Object.getOwnPropertySymbols(e);
5028
+ t && (n = n.filter(function (t) {
5029
+ return Object.getOwnPropertyDescriptor(e, t).enumerable;
5030
+ })), r.push.apply(r, n);
5031
+ }
5032
+ return r;
5033
+ }
5034
+ function _objectSpread2(e) {
5035
+ for (var t = 1; t < arguments.length; t++) {
5036
+ var r = null != arguments[t] ? arguments[t] : {};
5037
+ t % 2 ? ownKeys(Object(r), true).forEach(function (t) {
5038
+ _defineProperty(e, t, r[t]);
5039
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : ownKeys(Object(r)).forEach(function (t) {
5040
+ Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t));
5041
+ });
5042
+ }
5043
+ return e;
5044
+ }
5047
5045
  function _slicedToArray(e, t) {
5048
5046
  return function _arrayWithHoles(e) {
5049
5047
  if (Array.isArray(e)) return e;
@@ -5077,30 +5075,32 @@ function _slicedToArray(e, t) {
5077
5075
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
5078
5076
  }();
5079
5077
  }
5080
- function _unsupportedIterableToArray(e, t) {
5081
- if (e) {
5082
- if ("string" == typeof e) return _arrayLikeToArray(e, t);
5083
- var r = Object.prototype.toString.call(e).slice(8, -1);
5084
- 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;
5085
- }
5086
- }
5087
- function _arrayLikeToArray(e, t) {
5088
- (null == t || t > e.length) && (t = e.length);
5089
- for (var r = 0, n = new Array(t); r < t; r++) n[r] = e[r];
5090
- return n;
5091
- }
5092
5078
  function _toPropertyKey(e) {
5093
5079
  var t = function _toPrimitive(e, t) {
5094
- if ("object" != typeof e || null === e) return e;
5080
+ if ("object" != typeof e || !e) return e;
5095
5081
  var r = e[Symbol.toPrimitive];
5096
5082
  if (void 0 !== r) {
5097
5083
  var n = r.call(e, t);
5098
5084
  if ("object" != typeof n) return n;
5099
5085
  throw new TypeError("@@toPrimitive must return a primitive value.");
5100
5086
  }
5101
- return (String )(e);
5087
+ return String(e);
5102
5088
  }(e, "string");
5103
- return "symbol" == typeof t ? t : String(t);
5089
+ return "symbol" == typeof t ? t : t + "";
5090
+ }
5091
+ function _typeof(e) {
5092
+ return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) {
5093
+ return typeof e;
5094
+ } : function (e) {
5095
+ return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
5096
+ }, _typeof(e);
5097
+ }
5098
+ function _unsupportedIterableToArray(e, t) {
5099
+ if (e) {
5100
+ if ("string" == typeof e) return _arrayLikeToArray(e, t);
5101
+ var r = {}.toString.call(e).slice(8, -1);
5102
+ 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;
5103
+ }
5104
5104
  }
5105
5105
  var e = _createClass(function TypesonPromise(e) {
5106
5106
  _classCallCheck(this, TypesonPromise), this.p = new Promise(e);
@@ -5183,7 +5183,7 @@ function getByKeyPath(e, t) {
5183
5183
  if ("" === t) return e;
5184
5184
  if (null === e || "object" !== _typeof(e)) throw new TypeError("Unexpected non-object type");
5185
5185
  var r = t.indexOf(".");
5186
- if (r > -1) {
5186
+ if (-1 !== r) {
5187
5187
  var n = e[unescapeKeyPathComponent(t.slice(0, r))];
5188
5188
  return void 0 === n ? void 0 : getByKeyPath(n, t.slice(r + 1));
5189
5189
  }
@@ -5192,8 +5192,9 @@ function getByKeyPath(e, t) {
5192
5192
  function setAtKeyPath(e, t, r) {
5193
5193
  if ("" === t) return r;
5194
5194
  if (!e || "object" !== _typeof(e)) throw new TypeError("Unexpected non-object type");
5195
+ if ("__proto__" === t) throw new TypeError("Invalid property");
5195
5196
  var n = t.indexOf(".");
5196
- return n > -1 ? setAtKeyPath(e[unescapeKeyPathComponent(t.slice(0, n))], t.slice(n + 1), r) : (e[unescapeKeyPathComponent(t)] = r, e);
5197
+ return -1 !== n ? setAtKeyPath(e[unescapeKeyPathComponent(t.slice(0, n))], t.slice(n + 1), r) : (e[unescapeKeyPathComponent(t)] = r, e);
5197
5198
  }
5198
5199
  function getJSONType(e) {
5199
5200
  return null === e ? "null" : Array.isArray(e) ? "array" : _typeof(e);
@@ -5222,498 +5223,494 @@ function nestedPathsFirst(e, t) {
5222
5223
  o = null !== (n = t.keypath.match(/\./g)) && void 0 !== n ? n : 0;
5223
5224
  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;
5224
5225
  }
5225
- var c = function () {
5226
- function Typeson(e) {
5227
- _classCallCheck(this, Typeson), this.options = e, this.plainObjectReplacers = [], this.nonplainObjectReplacers = [], this.revivers = {}, this.types = {};
5226
+ var c = _createClass(function Typeson(e) {
5227
+ _classCallCheck(this, Typeson), this.options = e, this.plainObjectReplacers = [], this.nonplainObjectReplacers = [], this.revivers = {}, this.types = {};
5228
+ }, [{
5229
+ key: "stringify",
5230
+ value: function stringify(e, t, r, n) {
5231
+ n = _objectSpread2(_objectSpread2(_objectSpread2({}, this.options), n), {}, {
5232
+ stringification: true
5233
+ });
5234
+ var a = this.encapsulate(e, null, n);
5235
+ return o(a) ? JSON.stringify(a[0], t, r) : a.then(function (e) {
5236
+ return JSON.stringify(e, t, r);
5237
+ });
5228
5238
  }
5229
- return _createClass(Typeson, [{
5230
- key: "stringify",
5231
- value: function stringify(e, t, r, n) {
5232
- n = _objectSpread2(_objectSpread2(_objectSpread2({}, this.options), n), {}, {
5233
- stringification: true
5234
- });
5235
- var a = this.encapsulate(e, null, n);
5236
- return o(a) ? JSON.stringify(a[0], t, r) : a.then(function (e) {
5237
- return JSON.stringify(e, t, r);
5238
- });
5239
- }
5240
- }, {
5241
- key: "stringifySync",
5242
- value: function stringifySync(e, t, r, n) {
5243
- return this.stringify(e, t, r, _objectSpread2(_objectSpread2({
5244
- throwOnBadSyncType: true
5245
- }, n), {}, {
5246
- sync: true
5247
- }));
5248
- }
5249
- }, {
5250
- key: "stringifyAsync",
5251
- value: function stringifyAsync(e, t, r, n) {
5252
- return this.stringify(e, t, r, _objectSpread2(_objectSpread2({
5253
- throwOnBadSyncType: true
5254
- }, n), {}, {
5255
- sync: false
5256
- }));
5257
- }
5258
- }, {
5259
- key: "parse",
5260
- value: function parse(e, t, r) {
5261
- return r = _objectSpread2(_objectSpread2(_objectSpread2({}, this.options), r), {}, {
5262
- parse: true
5263
- }), this.revive(JSON.parse(e, t), r);
5264
- }
5265
- }, {
5266
- key: "parseSync",
5267
- value: function parseSync(e, t, r) {
5268
- return this.parse(e, t, _objectSpread2(_objectSpread2({
5269
- throwOnBadSyncType: true
5270
- }, r), {}, {
5239
+ }, {
5240
+ key: "stringifySync",
5241
+ value: function stringifySync(e, t, r, n) {
5242
+ return this.stringify(e, t, r, _objectSpread2(_objectSpread2({
5243
+ throwOnBadSyncType: true
5244
+ }, n), {}, {
5245
+ sync: true
5246
+ }));
5247
+ }
5248
+ }, {
5249
+ key: "stringifyAsync",
5250
+ value: function stringifyAsync(e, t, r, n) {
5251
+ return this.stringify(e, t, r, _objectSpread2(_objectSpread2({
5252
+ throwOnBadSyncType: true
5253
+ }, n), {}, {
5254
+ sync: false
5255
+ }));
5256
+ }
5257
+ }, {
5258
+ key: "parse",
5259
+ value: function parse(e, t, r) {
5260
+ return r = _objectSpread2(_objectSpread2(_objectSpread2({}, this.options), r), {}, {
5261
+ parse: true
5262
+ }), this.revive(JSON.parse(e, t), r);
5263
+ }
5264
+ }, {
5265
+ key: "parseSync",
5266
+ value: function parseSync(e, t, r) {
5267
+ return this.parse(e, t, _objectSpread2(_objectSpread2({
5268
+ throwOnBadSyncType: true
5269
+ }, r), {}, {
5270
+ sync: true
5271
+ }));
5272
+ }
5273
+ }, {
5274
+ key: "parseAsync",
5275
+ value: function parseAsync(e, t, r) {
5276
+ return this.parse(e, t, _objectSpread2(_objectSpread2({
5277
+ throwOnBadSyncType: true
5278
+ }, r), {}, {
5279
+ sync: false
5280
+ }));
5281
+ }
5282
+ }, {
5283
+ key: "specialTypeNames",
5284
+ value: function specialTypeNames(e, t) {
5285
+ var r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};
5286
+ return r.returnTypeNames = true, this.encapsulate(e, t, r);
5287
+ }
5288
+ }, {
5289
+ key: "rootTypeName",
5290
+ value: function rootTypeName(e, t) {
5291
+ var r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};
5292
+ return r.iterateNone = true, this.encapsulate(e, t, r);
5293
+ }
5294
+ }, {
5295
+ key: "encapsulate",
5296
+ value: function encapsulate(t, r, c) {
5297
+ var s = this,
5298
+ u = _objectSpread2(_objectSpread2({
5271
5299
  sync: true
5272
- }));
5273
- }
5274
- }, {
5275
- key: "parseAsync",
5276
- value: function parseAsync(e, t, r) {
5277
- return this.parse(e, t, _objectSpread2(_objectSpread2({
5278
- throwOnBadSyncType: true
5279
- }, r), {}, {
5280
- sync: false
5281
- }));
5282
- }
5283
- }, {
5284
- key: "specialTypeNames",
5285
- value: function specialTypeNames(e, t) {
5286
- var r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};
5287
- return r.returnTypeNames = true, this.encapsulate(e, t, r);
5288
- }
5289
- }, {
5290
- key: "rootTypeName",
5291
- value: function rootTypeName(e, t) {
5292
- var r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};
5293
- return r.iterateNone = true, this.encapsulate(e, t, r);
5294
- }
5295
- }, {
5296
- key: "encapsulate",
5297
- value: function encapsulate(t, r, c) {
5298
- var s = this,
5299
- u = _objectSpread2(_objectSpread2({
5300
- sync: true
5301
- }, this.options), c),
5302
- l = u.sync,
5303
- f = {},
5304
- y = [],
5305
- p = [],
5306
- d = [],
5307
- v = !("cyclic" in u) || u.cyclic,
5308
- b = u.encapsulateObserver,
5309
- m = function finish(e) {
5310
- var t = Object.values(f);
5311
- if (u.iterateNone) return t.length ? t[0] : getJSONType(e);
5312
- if (t.length) {
5313
- if (u.returnTypeNames) return function _toConsumableArray(e) {
5314
- return function _arrayWithoutHoles(e) {
5315
- if (Array.isArray(e)) return _arrayLikeToArray(e);
5316
- }(e) || function _iterableToArray(e) {
5317
- if ("undefined" != typeof Symbol && null != e[Symbol.iterator] || null != e["@@iterator"]) return Array.from(e);
5318
- }(e) || _unsupportedIterableToArray(e) || function _nonIterableSpread() {
5319
- throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
5320
- }();
5321
- }(new Set(t));
5322
- e && isPlainObject(e) && !a(e, "$types") ? e.$types = f : e = {
5323
- $: e,
5324
- $types: {
5325
- $: f
5326
- }
5327
- };
5328
- } else isObject(e) && a(e, "$types") && (e = {
5300
+ }, this.options), c),
5301
+ l = u.sync,
5302
+ f = {},
5303
+ y = [],
5304
+ p = [],
5305
+ d = [],
5306
+ v = !("cyclic" in u) || u.cyclic,
5307
+ b = u.encapsulateObserver,
5308
+ m = function finish(e) {
5309
+ var t = Object.values(f);
5310
+ if (u.iterateNone) return t.length ? t[0] : getJSONType(e);
5311
+ if (t.length) {
5312
+ if (u.returnTypeNames) return function _toConsumableArray(e) {
5313
+ return function _arrayWithoutHoles(e) {
5314
+ if (Array.isArray(e)) return _arrayLikeToArray(e);
5315
+ }(e) || function _iterableToArray(e) {
5316
+ if ("undefined" != typeof Symbol && null != e[Symbol.iterator] || null != e["@@iterator"]) return Array.from(e);
5317
+ }(e) || _unsupportedIterableToArray(e) || function _nonIterableSpread() {
5318
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
5319
+ }();
5320
+ }(new Set(t));
5321
+ e && isPlainObject(e) && !a(e, "$types") ? e.$types = f : e = {
5329
5322
  $: e,
5330
- $types: true
5331
- });
5332
- return !u.returnTypeNames && e;
5333
- },
5334
- h = _async(function (t, r) {
5335
- return _await(Promise.all(r.map(function (e) {
5336
- return e[1].p;
5337
- })), function (n) {
5338
- return _await(Promise.all(n.map(_async(function (n) {
5339
- var a = false,
5340
- o = [],
5341
- i = _slicedToArray(r.splice(0, 1), 1),
5342
- c = _slicedToArray(i[0], 7),
5343
- s = c[0],
5344
- u = c[2],
5345
- l = c[3],
5346
- f = c[4],
5347
- y = c[5],
5348
- p = c[6],
5349
- d = O(s, n, u, l, o, true, p),
5350
- v = hasConstructorOf(d, e);
5351
- return function _invoke(e, t) {
5352
- var r = e();
5353
- return r && r.then ? r.then(t) : t(r);
5354
- }(function () {
5355
- if (s && v) return _await(d.p, function (e) {
5356
- f[y] = e;
5357
- var r = h(t, o);
5358
- return a = true, r;
5359
- });
5360
- }, function (e) {
5361
- return a ? e : (s ? f[y] = d : t = v ? d.p : d, h(t, o));
5323
+ $types: {
5324
+ $: f
5325
+ }
5326
+ };
5327
+ } else isObject(e) && a(e, "$types") && (e = {
5328
+ $: e,
5329
+ $types: true
5330
+ });
5331
+ return !u.returnTypeNames && e;
5332
+ },
5333
+ h = _async(function (t, r) {
5334
+ return _await(Promise.all(r.map(function (e) {
5335
+ return e[1].p;
5336
+ })), function (n) {
5337
+ return _await(Promise.all(n.map(_async(function (n) {
5338
+ var a = false,
5339
+ o = [],
5340
+ i = _slicedToArray(r.splice(0, 1), 1),
5341
+ c = _slicedToArray(i[0], 7),
5342
+ s = c[0],
5343
+ u = c[2],
5344
+ l = c[3],
5345
+ f = c[4],
5346
+ y = c[5],
5347
+ p = c[6],
5348
+ d = O(s, n, u, l, o, true, p),
5349
+ v = hasConstructorOf(d, e);
5350
+ return function _invoke(e, t) {
5351
+ var r = e();
5352
+ return r && r.then ? r.then(t) : t(r);
5353
+ }(function () {
5354
+ if (s && v) return _await(d.p, function (e) {
5355
+ f[y] = e;
5356
+ var r = h(t, o);
5357
+ return a = true, r;
5362
5358
  });
5363
- }))), function () {
5364
- return t;
5359
+ }, function (e) {
5360
+ return a ? e : (s ? f[y] = d : t = v ? d.p : d, h(t, o));
5365
5361
  });
5362
+ }))), function () {
5363
+ return t;
5366
5364
  });
5367
- }),
5368
- g = function _adaptBuiltinStateObjectProperties(e, t, r) {
5369
- Object.assign(e, t);
5370
- var n = i.map(function (t) {
5371
- var r = e[t];
5372
- return delete e[t], r;
5373
- });
5374
- r(), i.forEach(function (t, r) {
5375
- e[t] = n[r];
5376
- });
5377
- },
5378
- O = function _encapsulate(t, r, i, c, l, d, v) {
5379
- var m,
5380
- h = {},
5381
- O = _typeof(r),
5382
- _ = b ? function (n) {
5383
- var a,
5384
- o = null !== (a = null != v ? v : c.type) && void 0 !== a ? a : getJSONType(r);
5385
- b(Object.assign(null != n ? n : h, {
5386
- keypath: t,
5387
- value: r,
5388
- cyclic: i,
5389
- stateObj: c,
5390
- promisesData: l,
5391
- resolvingTypesonPromise: d,
5392
- awaitingTypesonPromise: hasConstructorOf(r, e)
5393
- }, {
5394
- type: o
5395
- }));
5396
- } : null;
5397
- 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 = {
5398
- replaced: m
5399
- }) : m = r, _ && _(), m;
5400
- if (null === r) return _ && _(), r;
5401
- if (i && !c.iterateIn && !c.iterateUnsetNumeric && r && "object" === _typeof(r)) {
5402
- var A = y.indexOf(r);
5403
- if (!(A < 0)) return f[t] = "#", _ && _({
5404
- cyclicKeypath: p[A]
5405
- }), "#" + p[A];
5406
- true === i && (y.push(r), p.push(t));
5407
- }
5408
- var S,
5409
- j,
5410
- T = isPlainObject(r),
5411
- I = o(r),
5412
- N = (T || I) && (!s.plainObjectReplacers.length || c.replaced) || c.iterateIn ? r : w(t, r, c, l, T || I, null, _);
5413
- if (N !== r ? (m = N, h = {
5414
- replaced: N
5415
- }) : "" === 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 = {
5416
- clone: S
5417
- }) : (["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 = {
5418
- clone: S
5419
- }), _ && _(), u.iterateNone) return null !== (j = S) && void 0 !== j ? j : m;
5420
- if (!S) return m;
5421
- if (c.iterateIn) {
5422
- var P = function _loop(n) {
5423
- var o = {
5424
- ownKeys: a(r, n)
5425
- };
5426
- g(c, o, function () {
5427
- var a = t + (t ? "." : "") + escapeKeyPathComponent(n),
5428
- o = _encapsulate(a, r[n], Boolean(i), c, l, d);
5429
- hasConstructorOf(o, e) ? l.push([a, o, Boolean(i), c, S, n, c.type]) : void 0 !== o && (S[n] = o);
5430
- });
5365
+ });
5366
+ }),
5367
+ g = function _adaptBuiltinStateObjectProperties(e, t, r) {
5368
+ Object.assign(e, t);
5369
+ var n = i.map(function (t) {
5370
+ var r = e[t];
5371
+ return delete e[t], r;
5372
+ });
5373
+ r(), i.forEach(function (t, r) {
5374
+ e[t] = n[r];
5375
+ });
5376
+ },
5377
+ O = function _encapsulate(t, r, i, c, l, d, v) {
5378
+ var m,
5379
+ h = {},
5380
+ _ = _typeof(r),
5381
+ A = b ? function (n) {
5382
+ var a,
5383
+ o = null !== (a = null != v ? v : c.type) && void 0 !== a ? a : getJSONType(r);
5384
+ b(Object.assign(null != n ? n : h, {
5385
+ keypath: t,
5386
+ value: r,
5387
+ cyclic: i,
5388
+ stateObj: c,
5389
+ promisesData: l,
5390
+ resolvingTypesonPromise: d,
5391
+ awaitingTypesonPromise: hasConstructorOf(r, e)
5392
+ }, {
5393
+ type: o
5394
+ }));
5395
+ } : null;
5396
+ if (["string", "boolean", "number", "undefined"].includes(_)) 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, A)) !== r && (h = {
5397
+ replaced: m
5398
+ }) : m = r, A && A(), m;
5399
+ if (null === r) return A && A(), r;
5400
+ if (i && !c.iterateIn && !c.iterateUnsetNumeric && r && "object" === _typeof(r)) {
5401
+ var S = y.indexOf(r);
5402
+ if (-1 !== S) return f[t] = "#", A && A({
5403
+ cyclicKeypath: p[S]
5404
+ }), "#" + p[S];
5405
+ true === i && (y.push(r), p.push(t));
5406
+ }
5407
+ var j,
5408
+ T = isPlainObject(r),
5409
+ I = o(r),
5410
+ N = (T || I) && (!s.plainObjectReplacers.length || c.replaced) || c.iterateIn ? r : w(t, r, c, l, T || I, null, A);
5411
+ if (N !== r ? (m = N, h = {
5412
+ replaced: N
5413
+ }) : "" === 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 ? (j = new Array(r.length), h = {
5414
+ clone: j
5415
+ }) : (["function", "symbol"].includes(_typeof(r)) || "toJSON" in r || hasConstructorOf(r, e) || hasConstructorOf(r, Promise) || hasConstructorOf(r, ArrayBuffer)) && !T && "object" !== c.iterateIn ? m = r : (j = {}, c.addLength && (j.length = r.length), h = {
5416
+ clone: j
5417
+ }), A && A(), u.iterateNone) return null != j ? j : m;
5418
+ if (!j) return m;
5419
+ if (c.iterateIn) {
5420
+ var P = function _loop(n) {
5421
+ var o = {
5422
+ ownKeys: a(r, n)
5431
5423
  };
5432
- for (var x in r) P(x);
5433
- _ && _({
5434
- endIterateIn: true,
5435
- end: true
5424
+ g(c, o, function () {
5425
+ var a = t + (t ? "." : "") + escapeKeyPathComponent(n),
5426
+ o = O(a, r[n], Boolean(i), c, l, d);
5427
+ hasConstructorOf(o, e) ? l.push([a, o, Boolean(i), c, j, n, c.type]) : void 0 !== o && (j[n] = o);
5436
5428
  });
5437
- } else n(r).forEach(function (n) {
5438
- var a = t + (t ? "." : "") + escapeKeyPathComponent(n);
5439
- g(c, {
5440
- ownKeys: true
5441
- }, function () {
5442
- var t = _encapsulate(a, r[n], Boolean(i), c, l, d);
5443
- hasConstructorOf(t, e) ? l.push([a, t, Boolean(i), c, S, n, c.type]) : void 0 !== t && (S[n] = t);
5444
- });
5445
- }), _ && _({
5446
- endIterateOwn: true,
5429
+ };
5430
+ for (var x in r) P(x);
5431
+ A && A({
5432
+ endIterateIn: true,
5447
5433
  end: true
5448
5434
  });
5449
- if (c.iterateUnsetNumeric) {
5450
- for (var E = r.length, C = function _loop2(n) {
5451
- if (!(n in r)) {
5452
- var a = "".concat(t).concat(t ? "." : "").concat(n);
5453
- g(c, {
5454
- ownKeys: false
5455
- }, function () {
5456
- var t = _encapsulate(a, void 0, Boolean(i), c, l, d);
5457
- hasConstructorOf(t, e) ? l.push([a, t, Boolean(i), c, S, n, c.type]) : void 0 !== t && (S[n] = t);
5458
- });
5459
- }
5460
- }, B = 0; B < E; B++) C(B);
5461
- _ && _({
5462
- endIterateUnsetNumeric: true,
5463
- end: true
5464
- });
5465
- }
5466
- return S;
5467
- },
5468
- w = function replace(e, t, r, n, a, o, i) {
5469
- for (var c = a ? s.plainObjectReplacers : s.nonplainObjectReplacers, u = c.length; u--;) {
5470
- var y = c[u];
5471
- if (y.test(t, r)) {
5472
- var p = y.type;
5473
- if (s.revivers[p]) {
5474
- var d = f[e];
5475
- f[e] = d ? [p].concat(d) : p;
5435
+ } else n(r).forEach(function (n) {
5436
+ var a = t + (t ? "." : "") + escapeKeyPathComponent(n);
5437
+ g(c, {
5438
+ ownKeys: true
5439
+ }, function () {
5440
+ var t = O(a, r[n], Boolean(i), c, l, d);
5441
+ hasConstructorOf(t, e) ? l.push([a, t, Boolean(i), c, j, n, c.type]) : void 0 !== t && (j[n] = t);
5442
+ });
5443
+ }), A && A({
5444
+ endIterateOwn: true,
5445
+ end: true
5446
+ });
5447
+ if (c.iterateUnsetNumeric) {
5448
+ for (var E = r.length, C = function _loop2(n) {
5449
+ if (!(n in r)) {
5450
+ var a = "".concat(t).concat(t ? "." : "").concat(String(n));
5451
+ g(c, {
5452
+ ownKeys: false
5453
+ }, function () {
5454
+ var t = O(a, void 0, Boolean(i), c, l, d);
5455
+ hasConstructorOf(t, e) ? l.push([a, t, Boolean(i), c, j, n, c.type]) : void 0 !== t && (j[n] = t);
5456
+ });
5476
5457
  }
5477
- if (Object.assign(r, {
5478
- type: p,
5479
- replaced: true
5480
- }), (l || !y.replaceAsync) && !y.replace) return i && i({
5481
- typeDetected: true
5482
- }), O(e, t, v && "readonly", r, n, o, p);
5483
- i && i({
5484
- replacing: true
5485
- });
5486
- var b = void 0;
5487
- if (l || !y.replaceAsync) {
5488
- if (void 0 === y.replace) throw new TypeError("Missing replacer");
5489
- b = y.replace(t, r);
5490
- } else b = y.replaceAsync(t, r);
5491
- return O(e, b, v && "readonly", r, n, o, p);
5458
+ }, B = 0; B < E; B++) C(B);
5459
+ A && A({
5460
+ endIterateUnsetNumeric: true,
5461
+ end: true
5462
+ });
5463
+ }
5464
+ return j;
5465
+ },
5466
+ w = function replace(e, t, r, n, a, o, i) {
5467
+ for (var c = a ? s.plainObjectReplacers : s.nonplainObjectReplacers, u = c.length; u--;) {
5468
+ var y = c[u];
5469
+ if (y.test(t, r)) {
5470
+ var p = y.type;
5471
+ if (s.revivers[p]) {
5472
+ var d = f[e];
5473
+ f[e] = d ? [p].concat(d) : p;
5492
5474
  }
5493
- }
5494
- return t;
5495
- },
5496
- _ = O("", t, v, null != r ? r : {}, d);
5497
- if (d.length) return l && u.throwOnBadSyncType ? function () {
5498
- throw new TypeError("Sync method requested but async result obtained");
5499
- }() : Promise.resolve(h(_, d)).then(m);
5500
- if (!l && u.throwOnBadSyncType) throw new TypeError("Async method requested but sync result obtained");
5501
- return u.stringification && l ? [m(_)] : l ? m(_) : Promise.resolve(m(_));
5502
- }
5503
- }, {
5504
- key: "encapsulateSync",
5505
- value: function encapsulateSync(e, t, r) {
5506
- return this.encapsulate(e, t, _objectSpread2(_objectSpread2({
5507
- throwOnBadSyncType: true
5508
- }, r), {}, {
5509
- sync: true
5510
- }));
5511
- }
5512
- }, {
5513
- key: "encapsulateAsync",
5514
- value: function encapsulateAsync(e, t, r) {
5515
- return this.encapsulate(e, t, _objectSpread2(_objectSpread2({
5516
- throwOnBadSyncType: true
5517
- }, r), {}, {
5518
- sync: false
5519
- }));
5520
- }
5521
- }, {
5522
- key: "revive",
5523
- value: function revive(t, r) {
5524
- var a = this,
5525
- i = _objectSpread2(_objectSpread2({
5526
- sync: true
5527
- }, this.options), r),
5528
- c = i.sync;
5529
- function finishRevival(e) {
5530
- if (c) return e;
5531
- if (i.throwOnBadSyncType) throw new TypeError("Async method requested but sync result obtained");
5532
- return Promise.resolve(e);
5533
- }
5534
- if (!t || "object" !== _typeof(t) || Array.isArray(t)) return finishRevival(t);
5535
- var u = t.$types;
5536
- if (true === u) return finishRevival(t.$);
5537
- if (!u || "object" !== _typeof(u) || Array.isArray(u)) return finishRevival(t);
5538
- var l = [],
5539
- f = {},
5540
- y = true;
5541
- u.$ && isPlainObject(u.$) && (t = t.$, u = u.$, y = false);
5542
- var p = function executeReviver(e, t) {
5543
- var r,
5544
- n = _slicedToArray(null !== (r = a.revivers[e]) && void 0 !== r ? r : [], 1)[0];
5545
- if (!n) throw new Error("Unregistered type: " + e);
5546
- if (c && !("revive" in n)) return t;
5547
- if (!c && n.reviveAsync) return n.reviveAsync(t, f);
5548
- if (n.revive) return n.revive(t, f);
5549
- throw new Error("Missing reviver");
5550
- },
5551
- d = [];
5552
- function checkUndefined(e) {
5553
- return hasConstructorOf(e, s) ? void 0 : e;
5554
- }
5555
- var v,
5556
- b = function revivePlainObjects() {
5557
- var r = [];
5558
- if (!u) throw new Error("Found bad `types`");
5559
- if (Object.entries(u).forEach(function (e) {
5560
- var t = _slicedToArray(e, 2),
5561
- n = t[0],
5562
- o = t[1];
5563
- "#" !== o && [].concat(o).forEach(function (e) {
5564
- var t;
5565
- _slicedToArray(null !== (t = a.revivers[e]) && void 0 !== t ? t : [null, {}], 2)[1].plain && (r.push({
5566
- keypath: n,
5567
- type: e
5568
- }), delete u[n]);
5569
- });
5570
- }), r.length) return r.sort(nestedPathsFirst).reduce(function reducer(r, n) {
5571
- var a = n.keypath,
5572
- o = n.type;
5573
- if (isThenable(r)) return r.then(function (e) {
5574
- return reducer(e, {
5575
- keypath: a,
5576
- type: o
5577
- });
5475
+ if (Object.assign(r, {
5476
+ type: p,
5477
+ replaced: true
5478
+ }), (l || !y.replaceAsync) && !y.replace) return i && i({
5479
+ typeDetected: true
5480
+ }), O(e, t, v && "readonly", r, n, o, p);
5481
+ i && i({
5482
+ replacing: true
5578
5483
  });
5579
- var i = getByKeyPath(t, a);
5580
- if (hasConstructorOf(i = p(o, i), e)) return i.then(function (e) {
5581
- var r = setAtKeyPath(t, a, e);
5582
- r === e && (t = r);
5583
- });
5584
- var c = setAtKeyPath(t, a, i);
5585
- c === i && (t = c);
5586
- }, void 0);
5587
- }();
5588
- return hasConstructorOf(b, e) ? v = b.then(function () {
5589
- return t;
5590
- }) : (v = function _revive(t, r, a, i, c) {
5591
- if (!y || "$types" !== t) {
5592
- var f = u[t],
5593
- v = o(r);
5594
- if (v || isPlainObject(r)) {
5595
- var b = v ? new Array(r.length) : {};
5596
- for (n(r).forEach(function (n) {
5597
- var o = _revive(t + (t ? "." : "") + escapeKeyPathComponent(n), r[n], null != a ? a : b, b, n),
5598
- i = function set(e) {
5599
- return hasConstructorOf(e, s) ? b[n] = void 0 : void 0 !== e && (b[n] = e), e;
5600
- };
5601
- hasConstructorOf(o, e) ? d.push(o.then(function (e) {
5602
- return i(e);
5603
- })) : i(o);
5604
- }), r = b; l.length;) {
5605
- var m = _slicedToArray(l[0], 4),
5606
- h = m[0],
5607
- g = m[1],
5608
- O = m[2],
5609
- w = m[3],
5610
- _ = getByKeyPath(h, g);
5611
- if (void 0 === _) break;
5612
- O[w] = _, l.splice(0, 1);
5613
- }
5484
+ var b = void 0;
5485
+ if (l || !y.replaceAsync) {
5486
+ if (void 0 === y.replace) throw new TypeError("Missing replacer");
5487
+ b = y.replace(t, r);
5488
+ } else b = y.replaceAsync(t, r);
5489
+ return O(e, b, v && "readonly", r, n, o, p);
5614
5490
  }
5615
- if (!f) return r;
5616
- if ("#" === f) {
5617
- var A = getByKeyPath(a, r.slice(1));
5618
- return void 0 === A && l.push([a, r.slice(1), i, c]), A;
5619
- }
5620
- return [].concat(f).reduce(function reducer(t, r) {
5621
- if (hasConstructorOf(t, e)) return t.then(function (e) {
5622
- return reducer(e, r);
5623
- });
5624
- if ("string" != typeof r) throw new TypeError("Bad type JSON");
5625
- return p(r, t);
5626
- }, r);
5627
5491
  }
5628
- }("", t, null), d.length && (v = e.resolve(v).then(function (t) {
5629
- return e.all([t].concat(d));
5630
- }).then(function (e) {
5631
- return _slicedToArray(e, 1)[0];
5632
- }))), isThenable(v) ? c && i.throwOnBadSyncType ? function () {
5633
- throw new TypeError("Sync method requested but async result obtained");
5634
- }() : hasConstructorOf(v, e) ? v.p.then(checkUndefined) : v : !c && i.throwOnBadSyncType ? function () {
5635
- throw new TypeError("Async method requested but sync result obtained");
5636
- }() : c ? checkUndefined(v) : Promise.resolve(checkUndefined(v));
5637
- }
5638
- }, {
5639
- key: "reviveSync",
5640
- value: function reviveSync(e, t) {
5641
- return this.revive(e, _objectSpread2(_objectSpread2({
5642
- throwOnBadSyncType: true
5643
- }, t), {}, {
5492
+ return t;
5493
+ },
5494
+ _ = O("", t, v, null != r ? r : {}, d);
5495
+ if (d.length) return l && u.throwOnBadSyncType ? function () {
5496
+ throw new TypeError("Sync method requested but async result obtained");
5497
+ }() : Promise.resolve(h(_, d)).then(m);
5498
+ if (!l && u.throwOnBadSyncType) throw new TypeError("Async method requested but sync result obtained");
5499
+ return u.stringification && l ? [m(_)] : l ? m(_) : Promise.resolve(m(_));
5500
+ }
5501
+ }, {
5502
+ key: "encapsulateSync",
5503
+ value: function encapsulateSync(e, t, r) {
5504
+ return this.encapsulate(e, t, _objectSpread2(_objectSpread2({
5505
+ throwOnBadSyncType: true
5506
+ }, r), {}, {
5507
+ sync: true
5508
+ }));
5509
+ }
5510
+ }, {
5511
+ key: "encapsulateAsync",
5512
+ value: function encapsulateAsync(e, t, r) {
5513
+ return this.encapsulate(e, t, _objectSpread2(_objectSpread2({
5514
+ throwOnBadSyncType: true
5515
+ }, r), {}, {
5516
+ sync: false
5517
+ }));
5518
+ }
5519
+ }, {
5520
+ key: "revive",
5521
+ value: function revive(t, r) {
5522
+ var a = this,
5523
+ i = _objectSpread2(_objectSpread2({
5644
5524
  sync: true
5645
- }));
5646
- }
5647
- }, {
5648
- key: "reviveAsync",
5649
- value: function reviveAsync(e, t) {
5650
- return this.revive(e, _objectSpread2(_objectSpread2({
5651
- throwOnBadSyncType: true
5652
- }, t), {}, {
5653
- sync: false
5654
- }));
5655
- }
5656
- }, {
5657
- key: "register",
5658
- value: function register(e, t) {
5659
- var r = this,
5660
- a = null != t ? t : {},
5661
- i = function R(e) {
5662
- o(e) ? e.forEach(function (e) {
5663
- return R(e);
5664
- }) : n(e).forEach(function (t) {
5665
- var n;
5666
- if ("#" === t) throw new TypeError("# cannot be used as a type name as it is reserved for cyclic objects");
5667
- if (u.includes(t)) throw new TypeError("Plain JSON object types are reserved as type names");
5668
- var i = e[t],
5669
- c = i && "function" != typeof i && !Array.isArray(i) && i.testPlainObjects ? r.plainObjectReplacers : r.nonplainObjectReplacers,
5670
- s = c.filter(function (e) {
5671
- return e.type === t;
5672
- });
5673
- if (s.length && (c.splice(c.indexOf(s[0]), 1), delete r.revivers[t], delete r.types[t]), "function" == typeof i) {
5674
- var l = i;
5675
- i = {
5676
- test: function test(e) {
5677
- return e && e.constructor === l;
5678
- },
5679
- replace: function replace(e) {
5680
- return _objectSpread2({}, e);
5681
- },
5682
- revive: function revive(e) {
5683
- return Object.assign(Object.create(l.prototype), e);
5684
- }
5685
- };
5686
- } else if (o(i)) {
5687
- var f = _slicedToArray(i, 3);
5688
- i = {
5689
- test: f[0],
5690
- replace: f[1],
5691
- revive: f[2]
5692
- };
5693
- }
5694
- if (null !== (n = i) && void 0 !== n && n.test) {
5695
- var y = {
5696
- type: t,
5697
- test: i.test.bind(i)
5525
+ }, this.options), r),
5526
+ c = i.sync;
5527
+ function finishRevival(e) {
5528
+ if (c) return e;
5529
+ if (i.throwOnBadSyncType) throw new TypeError("Async method requested but sync result obtained");
5530
+ return Promise.resolve(e);
5531
+ }
5532
+ if (!t || "object" !== _typeof(t) || Array.isArray(t)) return finishRevival(t);
5533
+ var u = t.$types;
5534
+ if (true === u) return finishRevival(t.$);
5535
+ if (!u || "object" !== _typeof(u) || Array.isArray(u)) return finishRevival(t);
5536
+ var l = [],
5537
+ f = {},
5538
+ y = true;
5539
+ u.$ && isPlainObject(u.$) && (t = t.$, u = u.$, y = false);
5540
+ var p = function executeReviver(e, t) {
5541
+ var r,
5542
+ n = _slicedToArray(null !== (r = a.revivers[e]) && void 0 !== r ? r : [], 1)[0];
5543
+ if (!n) throw new Error("Unregistered type: " + e);
5544
+ if (c && !("revive" in n)) return t;
5545
+ if (!c && n.reviveAsync) return n.reviveAsync(t, f);
5546
+ if (n.revive) return n.revive(t, f);
5547
+ throw new Error("Missing reviver");
5548
+ },
5549
+ d = [];
5550
+ function checkUndefined(e) {
5551
+ return hasConstructorOf(e, s) ? void 0 : e;
5552
+ }
5553
+ var v,
5554
+ b = function revivePlainObjects() {
5555
+ var r = [];
5556
+ if (!u) throw new Error("Found bad `types`");
5557
+ if (Object.entries(u).forEach(function (e) {
5558
+ var t = _slicedToArray(e, 2),
5559
+ n = t[0],
5560
+ o = t[1];
5561
+ "#" !== o && [].concat(o).forEach(function (e) {
5562
+ var t;
5563
+ _slicedToArray(null !== (t = a.revivers[e]) && void 0 !== t ? t : [null, {}], 2)[1].plain && (r.push({
5564
+ keypath: n,
5565
+ type: e
5566
+ }), delete u[n]);
5567
+ });
5568
+ }), r.length) return r.sort(nestedPathsFirst), r.reduce(function reducer(r, n) {
5569
+ var a = n.keypath,
5570
+ o = n.type;
5571
+ if (isThenable(r)) return r.then(function (e) {
5572
+ return reducer(e, {
5573
+ keypath: a,
5574
+ type: o
5575
+ });
5576
+ });
5577
+ var i = getByKeyPath(t, a);
5578
+ if (hasConstructorOf(i = p(o, i), e)) return i.then(function (e) {
5579
+ var r = setAtKeyPath(t, a, e);
5580
+ r === e && (t = r);
5581
+ });
5582
+ var c = setAtKeyPath(t, a, i);
5583
+ c === i && (t = c);
5584
+ }, void 0);
5585
+ }();
5586
+ return hasConstructorOf(b, e) ? v = b.then(function () {
5587
+ return t;
5588
+ }) : (v = function _revive(t, r, a, i, c) {
5589
+ if (!y || "$types" !== t) {
5590
+ var f = u[t],
5591
+ v = o(r);
5592
+ if (v || isPlainObject(r)) {
5593
+ var b = v ? new Array(r.length) : {};
5594
+ for (n(r).forEach(function (n) {
5595
+ var o = _revive(t + (t ? "." : "") + escapeKeyPathComponent(n), r[n], null != a ? a : b, b, n),
5596
+ i = function set(e) {
5597
+ return hasConstructorOf(e, s) ? b[n] = void 0 : void 0 !== e && (b[n] = e), e;
5698
5598
  };
5699
- i.replace && (y.replace = i.replace.bind(i)), i.replaceAsync && (y.replaceAsync = i.replaceAsync.bind(i));
5700
- var p = "number" == typeof a.fallback ? a.fallback : a.fallback ? 0 : Number.POSITIVE_INFINITY;
5701
- if (i.testPlainObjects ? r.plainObjectReplacers.splice(p, 0, y) : r.nonplainObjectReplacers.splice(p, 0, y), i.revive || i.reviveAsync) {
5702
- var d = {};
5703
- i.revive && (d.revive = i.revive.bind(i)), i.reviveAsync && (d.reviveAsync = i.reviveAsync.bind(i)), r.revivers[t] = [d, {
5704
- plain: i.testPlainObjects
5705
- }];
5599
+ hasConstructorOf(o, e) ? d.push(o.then(function (e) {
5600
+ return i(e);
5601
+ })) : i(o);
5602
+ }), r = b; l.length;) {
5603
+ var m = _slicedToArray(l[0], 4),
5604
+ h = m[0],
5605
+ g = m[1],
5606
+ O = m[2],
5607
+ w = m[3],
5608
+ _ = getByKeyPath(h, g);
5609
+ if (void 0 === _) break;
5610
+ O[w] = _, l.splice(0, 1);
5611
+ }
5612
+ }
5613
+ if (!f) return r;
5614
+ if ("#" === f) {
5615
+ var A = getByKeyPath(a, r.slice(1));
5616
+ return void 0 === A && l.push([a, r.slice(1), i, c]), A;
5617
+ }
5618
+ return [].concat(f).reduce(function reducer(t, r) {
5619
+ if (hasConstructorOf(t, e)) return t.then(function (e) {
5620
+ return reducer(e, r);
5621
+ });
5622
+ if ("string" != typeof r) throw new TypeError("Bad type JSON");
5623
+ return p(r, t);
5624
+ }, r);
5625
+ }
5626
+ }("", t, null), d.length && (v = e.resolve(v).then(function (t) {
5627
+ return e.all([t].concat(d));
5628
+ }).then(function (e) {
5629
+ return _slicedToArray(e, 1)[0];
5630
+ }))), isThenable(v) ? c && i.throwOnBadSyncType ? function () {
5631
+ throw new TypeError("Sync method requested but async result obtained");
5632
+ }() : hasConstructorOf(v, e) ? v.p.then(checkUndefined) : v : !c && i.throwOnBadSyncType ? function () {
5633
+ throw new TypeError("Async method requested but sync result obtained");
5634
+ }() : c ? checkUndefined(v) : Promise.resolve(checkUndefined(v));
5635
+ }
5636
+ }, {
5637
+ key: "reviveSync",
5638
+ value: function reviveSync(e, t) {
5639
+ return this.revive(e, _objectSpread2(_objectSpread2({
5640
+ throwOnBadSyncType: true
5641
+ }, t), {}, {
5642
+ sync: true
5643
+ }));
5644
+ }
5645
+ }, {
5646
+ key: "reviveAsync",
5647
+ value: function reviveAsync(e, t) {
5648
+ return this.revive(e, _objectSpread2(_objectSpread2({
5649
+ throwOnBadSyncType: true
5650
+ }, t), {}, {
5651
+ sync: false
5652
+ }));
5653
+ }
5654
+ }, {
5655
+ key: "register",
5656
+ value: function register(e, t) {
5657
+ var r = this,
5658
+ a = null != t ? t : {},
5659
+ i = function reg(e) {
5660
+ o(e) ? e.forEach(function (e) {
5661
+ i(e);
5662
+ }) : n(e).forEach(function (t) {
5663
+ var n;
5664
+ if ("#" === t) throw new TypeError("# cannot be used as a type name as it is reserved for cyclic objects");
5665
+ if (u.includes(t)) throw new TypeError("Plain JSON object types are reserved as type names");
5666
+ var i = e[t],
5667
+ c = i && "function" != typeof i && !Array.isArray(i) && i.testPlainObjects ? r.plainObjectReplacers : r.nonplainObjectReplacers,
5668
+ s = c.filter(function (e) {
5669
+ return e.type === t;
5670
+ });
5671
+ if (s.length && (c.splice(c.indexOf(s[0]), 1), delete r.revivers[t], delete r.types[t]), "function" == typeof i) {
5672
+ var l = i;
5673
+ i = {
5674
+ test: function test(e) {
5675
+ return e && e.constructor === l;
5676
+ },
5677
+ replace: function replace(e) {
5678
+ return _objectSpread2({}, e);
5679
+ },
5680
+ revive: function revive(e) {
5681
+ return Object.assign(Object.create(l.prototype), e);
5706
5682
  }
5707
- r.types[t] = i;
5683
+ };
5684
+ } else if (o(i)) {
5685
+ var f = _slicedToArray(i, 3);
5686
+ i = {
5687
+ test: f[0],
5688
+ replace: f[1],
5689
+ revive: f[2]
5690
+ };
5691
+ }
5692
+ if (null !== (n = i) && void 0 !== n && n.test) {
5693
+ var y = {
5694
+ type: t,
5695
+ test: i.test.bind(i)
5696
+ };
5697
+ i.replace && (y.replace = i.replace.bind(i)), i.replaceAsync && (y.replaceAsync = i.replaceAsync.bind(i));
5698
+ var p = "number" == typeof a.fallback ? a.fallback : a.fallback ? 0 : Number.POSITIVE_INFINITY;
5699
+ if (i.testPlainObjects ? r.plainObjectReplacers.splice(p, 0, y) : r.nonplainObjectReplacers.splice(p, 0, y), i.revive || i.reviveAsync) {
5700
+ var d = {};
5701
+ i.revive && (d.revive = i.revive.bind(i)), i.reviveAsync && (d.reviveAsync = i.reviveAsync.bind(i)), r.revivers[t] = [d, {
5702
+ plain: i.testPlainObjects
5703
+ }];
5708
5704
  }
5709
- });
5710
- };
5711
- return [].concat(e).forEach(function (e) {
5712
- return i(e);
5713
- }), this;
5714
- }
5715
- }]), Typeson;
5716
- }(),
5705
+ r.types[t] = i;
5706
+ }
5707
+ });
5708
+ };
5709
+ return [].concat(e).forEach(function (e) {
5710
+ i(e);
5711
+ }), this;
5712
+ }
5713
+ }]),
5717
5714
  s = _createClass(function Undefined() {
5718
5715
  _classCallCheck(this, Undefined);
5719
5716
  });
@@ -5743,7 +5740,7 @@ const v = {
5743
5740
  replace(e, t) {
5744
5741
  t.buffers || (t.buffers = []);
5745
5742
  const r = t.buffers.indexOf(e);
5746
- return r > -1 ? {
5743
+ return -1 !== r ? {
5747
5744
  index: r
5748
5745
  } : (t.buffers.push(e), {
5749
5746
  s: p(e),
@@ -5851,7 +5848,7 @@ const w = {
5851
5848
  }, n) {
5852
5849
  n.buffers || (n.buffers = []);
5853
5850
  const a = n.buffers.indexOf(e);
5854
- return a > -1 ? {
5851
+ return -1 !== a ? {
5855
5852
  index: a,
5856
5853
  byteOffset: t,
5857
5854
  byteLength: r
@@ -6169,28 +6166,28 @@ const E = {
6169
6166
  revive: e => new Map(e)
6170
6167
  }
6171
6168
  },
6172
- K = {
6169
+ R = {
6173
6170
  nan: {
6174
6171
  test: e => Number.isNaN(e),
6175
6172
  replace: () => "NaN",
6176
6173
  revive: () => Number.NaN
6177
6174
  }
6178
6175
  },
6179
- F = {
6176
+ K = {
6180
6177
  negativeInfinity: {
6181
6178
  test: e => e === Number.NEGATIVE_INFINITY,
6182
6179
  replace: () => "-Infinity",
6183
6180
  revive: () => Number.NEGATIVE_INFINITY
6184
6181
  }
6185
6182
  },
6186
- $ = {
6183
+ F = {
6187
6184
  negativeZero: {
6188
6185
  test: e => Object.is(e, -0),
6189
6186
  replace: () => 0,
6190
6187
  revive: () => -0
6191
6188
  }
6192
6189
  },
6193
- J = {
6190
+ z = {
6194
6191
  StringObject: {
6195
6192
  test: e => "String" === toStringTag(e) && "object" == typeof e,
6196
6193
  replace: String,
@@ -6207,12 +6204,12 @@ const E = {
6207
6204
  revive: e => new Number(e)
6208
6205
  }
6209
6206
  },
6210
- q = {
6207
+ V = {
6211
6208
  regexp: {
6212
6209
  test: e => "RegExp" === toStringTag(e),
6213
6210
  replace: e => ({
6214
6211
  source: e.source,
6215
- flags: (e.global ? "g" : "") + (e.ignoreCase ? "i" : "") + (e.multiline ? "m" : "") + (e.sticky ? "y" : "") + (e.unicode ? "u" : "")
6212
+ 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" : "")
6216
6213
  }),
6217
6214
  revive: ({
6218
6215
  source: e,
@@ -6220,26 +6217,26 @@ const E = {
6220
6217
  }) => new RegExp(e, t)
6221
6218
  }
6222
6219
  },
6223
- G = {
6220
+ W = {
6224
6221
  set: {
6225
6222
  test: e => "Set" === toStringTag(e),
6226
6223
  replace: e => [...e.values()],
6227
6224
  revive: e => new Set(e)
6228
6225
  }
6229
6226
  },
6230
- Q = {};
6227
+ H = {};
6231
6228
  "function" == typeof Int8Array && [Int8Array, Uint8Array, Uint8ClampedArray, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array, ...("function" == typeof BigInt64Array ? [BigInt64Array, BigUint64Array] : [])].forEach(e => function create$1(e) {
6232
6229
  const t = e.name;
6233
- Q[t.toLowerCase()] = {
6230
+ H[t.toLowerCase()] = {
6234
6231
  test: e => toStringTag(e) === t,
6235
6232
  replace: e => (0 === e.byteOffset && e.byteLength === e.buffer.byteLength ? e : e.slice(0)).buffer,
6236
6233
  revive: t => "ArrayBuffer" === toStringTag(t) ? new e(t) : t
6237
6234
  };
6238
6235
  }(e));
6239
- const X = {};
6236
+ const Q = {};
6240
6237
  "function" == typeof Int8Array && [Int8Array, Uint8Array, Uint8ClampedArray, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array, ...("function" == typeof BigInt64Array ? [BigInt64Array, BigUint64Array] : [])].forEach(e => function create(e) {
6241
6238
  const t = e.name;
6242
- X[t.toLowerCase()] = {
6239
+ Q[t.toLowerCase()] = {
6243
6240
  test: e => toStringTag(e) === t,
6244
6241
  replace({
6245
6242
  buffer: e,
@@ -6248,7 +6245,7 @@ const X = {};
6248
6245
  }, n) {
6249
6246
  n.buffers || (n.buffers = []);
6250
6247
  const a = n.buffers.indexOf(e);
6251
- return a > -1 ? {
6248
+ return -1 !== a ? {
6252
6249
  index: a,
6253
6250
  byteOffset: t,
6254
6251
  length: r
@@ -6277,14 +6274,14 @@ const X = {};
6277
6274
  }
6278
6275
  };
6279
6276
  }(e));
6280
- const Z = {
6277
+ const X = {
6281
6278
  undef: {
6282
6279
  test: (e, t) => void 0 === e && (t.ownKeys || !("ownKeys" in t)),
6283
6280
  replace: () => 0,
6284
6281
  revive: () => new s()
6285
6282
  }
6286
6283
  },
6287
- ee = {
6284
+ Z = {
6288
6285
  userObject: {
6289
6286
  test: e => isUserObject(e),
6290
6287
  replace: e => ({
@@ -6293,7 +6290,7 @@ const Z = {
6293
6290
  revive: e => e
6294
6291
  }
6295
6292
  },
6296
- te = [{
6293
+ ee = [{
6297
6294
  arrayNonindexKeys: {
6298
6295
  testPlainObjects: true,
6299
6296
  test: (e, t) => !!Array.isArray(e) && (Object.keys(e).some(e => String(Number.parseInt(e)) !== e) && (t.iterateIn = "object", t.addLength = true), true),
@@ -6313,9 +6310,9 @@ const Z = {
6313
6310
  revive() {}
6314
6311
  }
6315
6312
  }],
6316
- re = [K, U, F, $],
6317
- 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 : []),
6318
- se = ce.concat({
6313
+ te = [R, U, K, F],
6314
+ ie = [Z, X, ee, z, te, A, V, k, B, E, C, h, P, x].concat("function" == typeof Map ? D : [], "function" == typeof Set ? W : [], "function" == typeof ArrayBuffer ? v : [], "function" == typeof Uint8Array ? Q : [], "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 : []),
6315
+ ce = ie.concat({
6319
6316
  checkDataCloneException: {
6320
6317
  test(e) {
6321
6318
  const t = {}.toString.call(e).slice(8, -1);
@@ -6327,7 +6324,7 @@ const Z = {
6327
6324
 
6328
6325
  // See: http://stackoverflow.com/questions/42170826/categories-for-rejection-by-the-structured-cloning-algorithm
6329
6326
 
6330
- let typeson = new c().register(se);
6327
+ let typeson = new c().register(ce);
6331
6328
 
6332
6329
  /**
6333
6330
  * @param {(preset: import('typeson-registry').Preset) =>
@@ -6335,7 +6332,7 @@ let typeson = new c().register(se);
6335
6332
  * @returns {void}
6336
6333
  */
6337
6334
  function register(func) {
6338
- typeson = new c().register(func(se));
6335
+ typeson = new c().register(func(ce));
6339
6336
  }
6340
6337
 
6341
6338
  /**
@@ -8672,7 +8669,6 @@ const setFS = _fs => {
8672
8669
  * @returns {string}
8673
8670
  */
8674
8671
  const getOrigin = () => {
8675
- // eslint-disable-next-line no-undef -- If browser/polyfilled
8676
8672
  return typeof location !== 'object' || !location ? 'null' : location.origin;
8677
8673
  };
8678
8674
  const hasNullOrigin = () => CFG.checkOrigin !== false && getOrigin() === 'null';
@@ -9797,8 +9793,8 @@ IDBCursor.__createInstance = function (...args) {
9797
9793
  */
9798
9794
  IDBCursor.prototype.__find = function (...args /* key, tx, success, error, recordsToLoad */) {
9799
9795
  if (this.__multiEntryIndex) {
9800
- const [key, primaryKey, tx, success, error] = args;
9801
- this.__findMultiEntry(key, primaryKey, tx, success, error);
9796
+ const [key, primaryKey, tx, success, error, recordsToLoad] = args;
9797
+ this.__findMultiEntry(key, primaryKey, tx, success, error, recordsToLoad);
9802
9798
  } else {
9803
9799
  const [key, primaryKey, tx, success, error, recordsToLoad] = args;
9804
9800
  this.__findBasic(key, primaryKey, tx, success, error, recordsToLoad);
@@ -9917,10 +9913,11 @@ const leftBracketRegex = /\[/gu;
9917
9913
  * @param {SQLTransaction} tx
9918
9914
  * @param {KeySuccess} success
9919
9915
  * @param {FindError} error
9916
+ * @param {Integer|undefined} recordsToLoad
9920
9917
  * @this {IDBCursorFull}
9921
9918
  * @returns {void}
9922
9919
  */
9923
- IDBCursor.prototype.__findMultiEntry = function (key, primaryKey, tx, success, error) {
9920
+ IDBCursor.prototype.__findMultiEntry = function (key, primaryKey, tx, success, error, recordsToLoad) {
9924
9921
  const me = this;
9925
9922
  if (me.__prefetchedData && me.__prefetchedData.length === me.__prefetchedIndex) {
9926
9923
  if (CFG.DEBUG) {
@@ -9975,6 +9972,7 @@ IDBCursor.prototype.__findMultiEntry = function (key, primaryKey, tx, success, e
9975
9972
  // 4. Sort by object store position (if defined and not unique)
9976
9973
  sql.push(',', sqlQuote(me.__valueColumnName), direction);
9977
9974
  }
9975
+ sql.push('LIMIT', String(recordsToLoad));
9978
9976
  }
9979
9977
  const sqlStr = sql.join(' ');
9980
9978
  if (CFG.DEBUG) {
@@ -10255,9 +10253,11 @@ IDBCursor.prototype.__continueFinish = function (key, primaryKey, advanceState)
10255
10253
  triggerSuccess(k, val, primKey);
10256
10254
  return;
10257
10255
  }
10256
+ // @ts-expect-error Todo: Our bug to fix
10258
10257
  cursorContinue(tx, args, success, error);
10259
10258
  }
10260
10259
  if (me.__unique && !me.__multiEntryIndex && encKey === encode$1(me.key, me.__multiEntryIndex)) {
10260
+ // @ts-expect-error Todo: Our bug to fix
10261
10261
  cursorContinue(tx, args, success, error);
10262
10262
  return;
10263
10263
  }
@@ -10492,8 +10492,6 @@ Object.defineProperty(IDBCursorWithValue, 'prototype', {
10492
10492
  writable: false
10493
10493
  });
10494
10494
 
10495
- /* eslint-disable unicorn/prefer-global-this -- Older browsers? */
10496
-
10497
10495
  /**
10498
10496
  * @typedef {any} AnyValue
10499
10497
  */
@@ -10805,9 +10803,7 @@ function setGlobalVars(idb, initialConfig) {
10805
10803
  // Exclude genuine Safari: http://stackoverflow.com/a/7768006/271577
10806
10804
  // Detect iOS: http://stackoverflow.com/questions/9038625/detect-if-device-is-ios/9039885#9039885
10807
10805
  // and detect version 9: http://stackoverflow.com/a/26363560/271577
10808
- /(iPad|iPhone|iPod).* os 9_/ui.test(navigator.userAgent) && typeof window !== 'undefined' &&
10809
- // eslint-disable-next-line no-undef -- Extra check
10810
- !('MSStream' in window) // But avoid IE11
10806
+ /(iPad|iPhone|iPod).* os 9_/ui.test(navigator.userAgent) && typeof window !== 'undefined' && !('MSStream' in window) // But avoid IE11
10811
10807
  )) {
10812
10808
  poorIndexedDbSupport = true;
10813
10809
  }