vis-data 8.0.3 → 8.0.5

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 (62) hide show
  1. package/declarations/data-interface.d.ts.map +1 -1
  2. package/declarations/data-pipe.d.ts.map +1 -1
  3. package/declarations/data-set-part.d.ts.map +1 -1
  4. package/declarations/data-set.d.ts +3 -2
  5. package/declarations/data-set.d.ts.map +1 -1
  6. package/declarations/data-view-check.d.ts +1 -1
  7. package/declarations/data-view-check.d.ts.map +1 -1
  8. package/declarations/data-view.d.ts +2 -2
  9. package/declarations/data-view.d.ts.map +1 -1
  10. package/dist/esm.js +1609 -743
  11. package/dist/esm.js.map +1 -1
  12. package/dist/umd.js +1609 -743
  13. package/dist/umd.js.map +1 -1
  14. package/esnext/esm/vis-data.js +162 -162
  15. package/esnext/esm/vis-data.js.map +1 -1
  16. package/esnext/esm/vis-data.min.js +3 -3
  17. package/esnext/esm/vis-data.min.js.map +1 -1
  18. package/esnext/esm/vis-data.min.mjs +3 -3
  19. package/esnext/esm/vis-data.min.mjs.map +1 -1
  20. package/esnext/esm/vis-data.mjs +162 -162
  21. package/esnext/esm/vis-data.mjs.map +1 -1
  22. package/esnext/umd/vis-data.cjs +162 -162
  23. package/esnext/umd/vis-data.cjs.map +1 -1
  24. package/esnext/umd/vis-data.js +162 -162
  25. package/esnext/umd/vis-data.js.map +1 -1
  26. package/esnext/umd/vis-data.min.cjs +3 -3
  27. package/esnext/umd/vis-data.min.cjs.map +1 -1
  28. package/esnext/umd/vis-data.min.js +3 -3
  29. package/esnext/umd/vis-data.min.js.map +1 -1
  30. package/package.json +133 -138
  31. package/peer/esm/vis-data.js +1450 -685
  32. package/peer/esm/vis-data.js.map +1 -1
  33. package/peer/esm/vis-data.min.js +4 -4
  34. package/peer/esm/vis-data.min.js.map +1 -1
  35. package/peer/esm/vis-data.min.mjs +4 -4
  36. package/peer/esm/vis-data.min.mjs.map +1 -1
  37. package/peer/esm/vis-data.mjs +1450 -685
  38. package/peer/esm/vis-data.mjs.map +1 -1
  39. package/peer/umd/vis-data.cjs +1450 -685
  40. package/peer/umd/vis-data.cjs.map +1 -1
  41. package/peer/umd/vis-data.js +1450 -685
  42. package/peer/umd/vis-data.js.map +1 -1
  43. package/peer/umd/vis-data.min.cjs +4 -4
  44. package/peer/umd/vis-data.min.cjs.map +1 -1
  45. package/peer/umd/vis-data.min.js +4 -4
  46. package/peer/umd/vis-data.min.js.map +1 -1
  47. package/standalone/esm/vis-data.js +1450 -685
  48. package/standalone/esm/vis-data.js.map +1 -1
  49. package/standalone/esm/vis-data.min.js +4 -4
  50. package/standalone/esm/vis-data.min.js.map +1 -1
  51. package/standalone/esm/vis-data.min.mjs +4 -4
  52. package/standalone/esm/vis-data.min.mjs.map +1 -1
  53. package/standalone/esm/vis-data.mjs +1450 -685
  54. package/standalone/esm/vis-data.mjs.map +1 -1
  55. package/standalone/umd/vis-data.cjs +1450 -685
  56. package/standalone/umd/vis-data.cjs.map +1 -1
  57. package/standalone/umd/vis-data.js +1450 -685
  58. package/standalone/umd/vis-data.js.map +1 -1
  59. package/standalone/umd/vis-data.min.cjs +4 -4
  60. package/standalone/umd/vis-data.min.cjs.map +1 -1
  61. package/standalone/umd/vis-data.min.js +4 -4
  62. package/standalone/umd/vis-data.min.js.map +1 -1
package/dist/esm.js CHANGED
@@ -4,8 +4,8 @@
4
4
  *
5
5
  * Manage unstructured data using DataSet. Add, update, and remove data, and listen for changes in the data.
6
6
  *
7
- * @version 8.0.3
8
- * @date 2025-09-10T16:22:34.710Z
7
+ * @version 8.0.5
8
+ * @date 2026-08-06T17:35:50.737Z
9
9
  *
10
10
  * @copyright (c) 2011-2017 Almende B.V, http://almende.com
11
11
  * @copyright (c) 2017-2019 visjs contributors, https://github.com/visjs
@@ -84,7 +84,7 @@ function requireFunctionBindNative () {
84
84
 
85
85
  functionBindNative = !fails(function () {
86
86
  // eslint-disable-next-line es/no-function-prototype-bind -- safe
87
- var test = (function () { /* empty */ }).bind();
87
+ var test = function () { /* empty */ }.bind();
88
88
  // eslint-disable-next-line no-prototype-builtins -- safe
89
89
  return typeof test != 'function' || test.hasOwnProperty('prototype');
90
90
  });
@@ -630,10 +630,10 @@ function requireSharedStore () {
630
630
  var store = sharedStore.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});
631
631
 
632
632
  (store.versions || (store.versions = [])).push({
633
- version: '3.44.0',
633
+ version: '3.49.0',
634
634
  mode: IS_PURE ? 'pure' : 'global',
635
- copyright: '© 2014-2025 Denis Pushkarev (zloirock.ru)',
636
- license: 'https://github.com/zloirock/core-js/blob/v3.44.0/LICENSE',
635
+ copyright: '© 2013–2025 Denis Pushkarev (zloirock.ru), 2025–2026 CoreJS Company (core-js.io). All rights reserved.',
636
+ license: 'https://github.com/zloirock/core-js/blob/v3.49.0/LICENSE',
637
637
  source: 'https://github.com/zloirock/core-js'
638
638
  });
639
639
  return sharedStore.exports;
@@ -1160,11 +1160,11 @@ function requireDefineProperty$5 () {
1160
1160
 
1161
1161
  var Object = path.Object;
1162
1162
 
1163
- var defineProperty = defineProperty$5.exports = function defineProperty(it, key, desc) {
1163
+ var $defineProperty = defineProperty$5.exports = function defineProperty(it, key, desc) {
1164
1164
  return Object.defineProperty(it, key, desc);
1165
1165
  };
1166
1166
 
1167
- if (Object.defineProperty.sham) defineProperty.sham = true;
1167
+ if (Object.defineProperty.sham) $defineProperty.sham = true;
1168
1168
  return defineProperty$5.exports;
1169
1169
  }
1170
1170
 
@@ -1219,21 +1219,21 @@ var _Object$defineProperty$1 = /*@__PURE__*/getDefaultExportFromCjs(defineProper
1219
1219
 
1220
1220
  var es_array_concat = {};
1221
1221
 
1222
- var isArray$3;
1223
- var hasRequiredIsArray$3;
1222
+ var isArray$6;
1223
+ var hasRequiredIsArray$6;
1224
1224
 
1225
- function requireIsArray$3 () {
1226
- if (hasRequiredIsArray$3) return isArray$3;
1227
- hasRequiredIsArray$3 = 1;
1225
+ function requireIsArray$6 () {
1226
+ if (hasRequiredIsArray$6) return isArray$6;
1227
+ hasRequiredIsArray$6 = 1;
1228
1228
  var classof = /*@__PURE__*/ requireClassofRaw();
1229
1229
 
1230
1230
  // `IsArray` abstract operation
1231
1231
  // https://tc39.es/ecma262/#sec-isarray
1232
1232
  // eslint-disable-next-line es/no-array-isarray -- safe
1233
- isArray$3 = Array.isArray || function isArray(argument) {
1233
+ isArray$6 = Array.isArray || function isArray(argument) {
1234
1234
  return classof(argument) === 'Array';
1235
1235
  };
1236
- return isArray$3;
1236
+ return isArray$6;
1237
1237
  }
1238
1238
 
1239
1239
  var mathTrunc;
@@ -1318,7 +1318,7 @@ function requireDoesNotExceedSafeInteger () {
1318
1318
  var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991
1319
1319
 
1320
1320
  doesNotExceedSafeInteger = function (it) {
1321
- if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded');
1321
+ if (it > MAX_SAFE_INTEGER) throw new $TypeError('Maximum allowed index exceeded');
1322
1322
  return it;
1323
1323
  };
1324
1324
  return doesNotExceedSafeInteger;
@@ -1341,6 +1341,41 @@ function requireCreateProperty () {
1341
1341
  return createProperty;
1342
1342
  }
1343
1343
 
1344
+ var arraySetLength;
1345
+ var hasRequiredArraySetLength;
1346
+
1347
+ function requireArraySetLength () {
1348
+ if (hasRequiredArraySetLength) return arraySetLength;
1349
+ hasRequiredArraySetLength = 1;
1350
+ var DESCRIPTORS = /*@__PURE__*/ requireDescriptors();
1351
+ var isArray = /*@__PURE__*/ requireIsArray$6();
1352
+
1353
+ var $TypeError = TypeError;
1354
+ // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
1355
+ var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
1356
+
1357
+ // Safari < 13 does not throw an error in this case
1358
+ var SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !function () {
1359
+ // makes no sense without proper strict mode support
1360
+ if (this !== undefined) return true;
1361
+ try {
1362
+ // eslint-disable-next-line es/no-object-defineproperty -- safe
1363
+ Object.defineProperty([], 'length', { writable: false }).length = 1;
1364
+ } catch (error) {
1365
+ return error instanceof TypeError;
1366
+ }
1367
+ }();
1368
+
1369
+ arraySetLength = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) {
1370
+ if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) {
1371
+ throw new $TypeError('Cannot set read only .length');
1372
+ } return O.length = length;
1373
+ } : function (O, length) {
1374
+ return O.length = length;
1375
+ };
1376
+ return arraySetLength;
1377
+ }
1378
+
1344
1379
  var toStringTagSupport;
1345
1380
  var hasRequiredToStringTagSupport;
1346
1381
 
@@ -1351,7 +1386,7 @@ function requireToStringTagSupport () {
1351
1386
 
1352
1387
  var TO_STRING_TAG = wellKnownSymbol('toStringTag');
1353
1388
  var test = {};
1354
-
1389
+ // eslint-disable-next-line unicorn/no-immediate-mutation -- ES3 syntax limitation
1355
1390
  test[TO_STRING_TAG] = 'z';
1356
1391
 
1357
1392
  toStringTagSupport = String(test) === '[object z]';
@@ -1485,7 +1520,7 @@ var hasRequiredArraySpeciesConstructor;
1485
1520
  function requireArraySpeciesConstructor () {
1486
1521
  if (hasRequiredArraySpeciesConstructor) return arraySpeciesConstructor;
1487
1522
  hasRequiredArraySpeciesConstructor = 1;
1488
- var isArray = /*@__PURE__*/ requireIsArray$3();
1523
+ var isArray = /*@__PURE__*/ requireIsArray$6();
1489
1524
  var isConstructor = /*@__PURE__*/ requireIsConstructor();
1490
1525
  var isObject = /*@__PURE__*/ requireIsObject();
1491
1526
  var wellKnownSymbol = /*@__PURE__*/ requireWellKnownSymbol();
@@ -1561,12 +1596,13 @@ function requireEs_array_concat () {
1561
1596
  hasRequiredEs_array_concat = 1;
1562
1597
  var $ = /*@__PURE__*/ require_export();
1563
1598
  var fails = /*@__PURE__*/ requireFails();
1564
- var isArray = /*@__PURE__*/ requireIsArray$3();
1599
+ var isArray = /*@__PURE__*/ requireIsArray$6();
1565
1600
  var isObject = /*@__PURE__*/ requireIsObject();
1566
1601
  var toObject = /*@__PURE__*/ requireToObject();
1567
1602
  var lengthOfArrayLike = /*@__PURE__*/ requireLengthOfArrayLike();
1568
1603
  var doesNotExceedSafeInteger = /*@__PURE__*/ requireDoesNotExceedSafeInteger();
1569
1604
  var createProperty = /*@__PURE__*/ requireCreateProperty();
1605
+ var setArrayLength = /*@__PURE__*/ requireArraySetLength();
1570
1606
  var arraySpeciesCreate = /*@__PURE__*/ requireArraySpeciesCreate();
1571
1607
  var arrayMethodHasSpeciesSupport = /*@__PURE__*/ requireArrayMethodHasSpeciesSupport();
1572
1608
  var wellKnownSymbol = /*@__PURE__*/ requireWellKnownSymbol();
@@ -1612,7 +1648,7 @@ function requireEs_array_concat () {
1612
1648
  createProperty(A, n++, E);
1613
1649
  }
1614
1650
  }
1615
- A.length = n;
1651
+ setArrayLength(A, n);
1616
1652
  return A;
1617
1653
  }
1618
1654
  });
@@ -2248,13 +2284,11 @@ function requireArrayIteration () {
2248
2284
  if (hasRequiredArrayIteration) return arrayIteration;
2249
2285
  hasRequiredArrayIteration = 1;
2250
2286
  var bind = /*@__PURE__*/ requireFunctionBindContext();
2251
- var uncurryThis = /*@__PURE__*/ requireFunctionUncurryThis();
2252
2287
  var IndexedObject = /*@__PURE__*/ requireIndexedObject();
2253
2288
  var toObject = /*@__PURE__*/ requireToObject();
2254
2289
  var lengthOfArrayLike = /*@__PURE__*/ requireLengthOfArrayLike();
2255
2290
  var arraySpeciesCreate = /*@__PURE__*/ requireArraySpeciesCreate();
2256
-
2257
- var push = uncurryThis([].push);
2291
+ var createProperty = /*@__PURE__*/ requireCreateProperty();
2258
2292
 
2259
2293
  // `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation
2260
2294
  var createMethod = function (TYPE) {
@@ -2265,28 +2299,28 @@ function requireArrayIteration () {
2265
2299
  var IS_FIND_INDEX = TYPE === 6;
2266
2300
  var IS_FILTER_REJECT = TYPE === 7;
2267
2301
  var NO_HOLES = TYPE === 5 || IS_FIND_INDEX;
2268
- return function ($this, callbackfn, that, specificCreate) {
2302
+ return function ($this, callbackfn, that) {
2269
2303
  var O = toObject($this);
2270
2304
  var self = IndexedObject(O);
2271
2305
  var length = lengthOfArrayLike(self);
2272
2306
  var boundFunction = bind(callbackfn, that);
2273
2307
  var index = 0;
2274
- var create = specificCreate || arraySpeciesCreate;
2275
- var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;
2308
+ var resIndex = 0;
2309
+ var target = IS_MAP ? arraySpeciesCreate($this, length) : IS_FILTER || IS_FILTER_REJECT ? arraySpeciesCreate($this, 0) : undefined;
2276
2310
  var value, result;
2277
2311
  for (;length > index; index++) if (NO_HOLES || index in self) {
2278
2312
  value = self[index];
2279
2313
  result = boundFunction(value, index, O);
2280
2314
  if (TYPE) {
2281
- if (IS_MAP) target[index] = result; // map
2315
+ if (IS_MAP) createProperty(target, index, result); // map
2282
2316
  else if (result) switch (TYPE) {
2283
- case 3: return true; // some
2284
- case 5: return value; // find
2285
- case 6: return index; // findIndex
2286
- case 2: push(target, value); // filter
2317
+ case 3: return true; // some
2318
+ case 5: return value; // find
2319
+ case 6: return index; // findIndex
2320
+ case 2: createProperty(target, resIndex++, value); // filter
2287
2321
  } else switch (TYPE) {
2288
- case 4: return false; // every
2289
- case 7: push(target, value); // filterReject
2322
+ case 4: return false; // every
2323
+ case 7: createProperty(target, resIndex++, value); // filterReject
2290
2324
  }
2291
2325
  }
2292
2326
  }
@@ -2399,7 +2433,7 @@ function requireEs_symbol_constructor () {
2399
2433
  nativeDefineProperty(O, P, Attributes);
2400
2434
  if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {
2401
2435
  nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);
2402
- }
2436
+ } return O;
2403
2437
  };
2404
2438
 
2405
2439
  var setSymbolDescriptor = DESCRIPTORS && fails(function () {
@@ -2425,7 +2459,8 @@ function requireEs_symbol_constructor () {
2425
2459
  var key = toPropertyKey(P);
2426
2460
  anObject(Attributes);
2427
2461
  if (hasOwn(AllSymbols, key)) {
2428
- if (!Attributes.enumerable) {
2462
+ // first definition - default non-enumerable; redefinition - preserve existing state
2463
+ if (!('enumerable' in Attributes) ? !hasOwn(O, key) || (hasOwn(O, HIDDEN) && O[HIDDEN][key]) : !Attributes.enumerable) {
2429
2464
  if (!hasOwn(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, nativeObjectCreate(null)));
2430
2465
  O[HIDDEN][key] = true;
2431
2466
  } else {
@@ -2667,42 +2702,104 @@ function requireEs_symbol_keyFor () {
2667
2702
 
2668
2703
  var es_json_stringify = {};
2669
2704
 
2670
- var getJsonReplacerFunction;
2671
- var hasRequiredGetJsonReplacerFunction;
2705
+ var isRawJson;
2706
+ var hasRequiredIsRawJson;
2707
+
2708
+ function requireIsRawJson () {
2709
+ if (hasRequiredIsRawJson) return isRawJson;
2710
+ hasRequiredIsRawJson = 1;
2711
+ var isObject = /*@__PURE__*/ requireIsObject();
2712
+ var getInternalState = /*@__PURE__*/ requireInternalState().get;
2713
+
2714
+ isRawJson = function isRawJSON(O) {
2715
+ if (!isObject(O)) return false;
2716
+ var state = getInternalState(O);
2717
+ return !!state && state.type === 'RawJSON';
2718
+ };
2719
+ return isRawJson;
2720
+ }
2721
+
2722
+ var parseJsonString;
2723
+ var hasRequiredParseJsonString;
2672
2724
 
2673
- function requireGetJsonReplacerFunction () {
2674
- if (hasRequiredGetJsonReplacerFunction) return getJsonReplacerFunction;
2675
- hasRequiredGetJsonReplacerFunction = 1;
2725
+ function requireParseJsonString () {
2726
+ if (hasRequiredParseJsonString) return parseJsonString;
2727
+ hasRequiredParseJsonString = 1;
2676
2728
  var uncurryThis = /*@__PURE__*/ requireFunctionUncurryThis();
2677
- var isArray = /*@__PURE__*/ requireIsArray$3();
2678
- var isCallable = /*@__PURE__*/ requireIsCallable();
2679
- var classof = /*@__PURE__*/ requireClassofRaw();
2680
- var toString = /*@__PURE__*/ requireToString();
2729
+ var hasOwn = /*@__PURE__*/ requireHasOwnProperty();
2681
2730
 
2682
- var push = uncurryThis([].push);
2731
+ var $SyntaxError = SyntaxError;
2732
+ var $parseInt = parseInt;
2733
+ var fromCharCode = String.fromCharCode;
2734
+ var at = uncurryThis(''.charAt);
2735
+ var slice = uncurryThis(''.slice);
2736
+ var exec = uncurryThis(/./.exec);
2683
2737
 
2684
- getJsonReplacerFunction = function (replacer) {
2685
- if (isCallable(replacer)) return replacer;
2686
- if (!isArray(replacer)) return;
2687
- var rawLength = replacer.length;
2688
- var keys = [];
2689
- for (var i = 0; i < rawLength; i++) {
2690
- var element = replacer[i];
2691
- if (typeof element == 'string') push(keys, element);
2692
- else if (typeof element == 'number' || classof(element) === 'Number' || classof(element) === 'String') push(keys, toString(element));
2693
- }
2694
- var keysLength = keys.length;
2695
- var root = true;
2696
- return function (key, value) {
2697
- if (root) {
2698
- root = false;
2699
- return value;
2738
+ var codePoints = {
2739
+ '\\"': '"',
2740
+ '\\\\': '\\',
2741
+ '\\/': '/',
2742
+ '\\b': '\b',
2743
+ '\\f': '\f',
2744
+ '\\n': '\n',
2745
+ '\\r': '\r',
2746
+ '\\t': '\t'
2747
+ };
2748
+
2749
+ var IS_4_HEX_DIGITS = /^[\da-f]{4}$/i;
2750
+ // eslint-disable-next-line regexp/no-control-character -- safe
2751
+ var IS_C0_CONTROL_CODE = /^[\u0000-\u001F]$/;
2752
+
2753
+ parseJsonString = function (source, i) {
2754
+ var unterminated = true;
2755
+ var value = '';
2756
+ while (i < source.length) {
2757
+ var chr = at(source, i);
2758
+ if (chr === '\\') {
2759
+ var twoChars = slice(source, i, i + 2);
2760
+ if (hasOwn(codePoints, twoChars)) {
2761
+ value += codePoints[twoChars];
2762
+ i += 2;
2763
+ } else if (twoChars === '\\u') {
2764
+ i += 2;
2765
+ var fourHexDigits = slice(source, i, i + 4);
2766
+ if (!exec(IS_4_HEX_DIGITS, fourHexDigits)) throw new $SyntaxError('Bad Unicode escape at: ' + i);
2767
+ value += fromCharCode($parseInt(fourHexDigits, 16));
2768
+ i += 4;
2769
+ } else throw new $SyntaxError('Unknown escape sequence: "' + twoChars + '"');
2770
+ } else if (chr === '"') {
2771
+ unterminated = false;
2772
+ i++;
2773
+ break;
2774
+ } else {
2775
+ if (exec(IS_C0_CONTROL_CODE, chr)) throw new $SyntaxError('Bad control character in string literal at: ' + i);
2776
+ value += chr;
2777
+ i++;
2700
2778
  }
2701
- if (isArray(this)) return value;
2702
- for (var j = 0; j < keysLength; j++) if (keys[j] === key) return value;
2703
- };
2779
+ }
2780
+ if (unterminated) throw new $SyntaxError('Unterminated string at: ' + i);
2781
+ return { value: value, end: i };
2704
2782
  };
2705
- return getJsonReplacerFunction;
2783
+ return parseJsonString;
2784
+ }
2785
+
2786
+ var nativeRawJson;
2787
+ var hasRequiredNativeRawJson;
2788
+
2789
+ function requireNativeRawJson () {
2790
+ if (hasRequiredNativeRawJson) return nativeRawJson;
2791
+ hasRequiredNativeRawJson = 1;
2792
+ /* eslint-disable es/no-json -- safe */
2793
+ var fails = /*@__PURE__*/ requireFails();
2794
+
2795
+ nativeRawJson = !fails(function () {
2796
+ var unsafeInt = '9007199254740993';
2797
+ // eslint-disable-next-line es/no-json-rawjson -- feature detection
2798
+ var raw = JSON.rawJSON(unsafeInt);
2799
+ // eslint-disable-next-line es/no-json-israwjson -- feature detection
2800
+ return !JSON.isRawJSON(raw) || JSON.stringify(raw) !== unsafeInt;
2801
+ });
2802
+ return nativeRawJson;
2706
2803
  }
2707
2804
 
2708
2805
  var hasRequiredEs_json_stringify;
@@ -2716,11 +2813,17 @@ function requireEs_json_stringify () {
2716
2813
  var call = /*@__PURE__*/ requireFunctionCall();
2717
2814
  var uncurryThis = /*@__PURE__*/ requireFunctionUncurryThis();
2718
2815
  var fails = /*@__PURE__*/ requireFails();
2816
+ var isArray = /*@__PURE__*/ requireIsArray$6();
2719
2817
  var isCallable = /*@__PURE__*/ requireIsCallable();
2818
+ var isRawJSON = /*@__PURE__*/ requireIsRawJson();
2720
2819
  var isSymbol = /*@__PURE__*/ requireIsSymbol();
2820
+ var classof = /*@__PURE__*/ requireClassofRaw();
2821
+ var toString = /*@__PURE__*/ requireToString();
2721
2822
  var arraySlice = /*@__PURE__*/ requireArraySlice();
2722
- var getReplacerFunction = /*@__PURE__*/ requireGetJsonReplacerFunction();
2823
+ var parseJSONString = /*@__PURE__*/ requireParseJsonString();
2824
+ var uid = /*@__PURE__*/ requireUid();
2723
2825
  var NATIVE_SYMBOL = /*@__PURE__*/ requireSymbolConstructorDetection();
2826
+ var NATIVE_RAW_JSON = /*@__PURE__*/ requireNativeRawJson();
2724
2827
 
2725
2828
  var $String = String;
2726
2829
  var $stringify = getBuiltIn('JSON', 'stringify');
@@ -2728,11 +2831,16 @@ function requireEs_json_stringify () {
2728
2831
  var charAt = uncurryThis(''.charAt);
2729
2832
  var charCodeAt = uncurryThis(''.charCodeAt);
2730
2833
  var replace = uncurryThis(''.replace);
2834
+ var slice = uncurryThis(''.slice);
2835
+ var push = uncurryThis([].push);
2731
2836
  var numberToString = uncurryThis(1.1.toString);
2732
2837
 
2733
- var tester = /[\uD800-\uDFFF]/g;
2734
- var low = /^[\uD800-\uDBFF]$/;
2735
- var hi = /^[\uDC00-\uDFFF]$/;
2838
+ var surrogates = /[\uD800-\uDFFF]/g;
2839
+ var leadingSurrogates = /^[\uD800-\uDBFF]$/;
2840
+ var trailingSurrogates = /^[\uDC00-\uDFFF]$/;
2841
+
2842
+ var MARK = uid();
2843
+ var MARK_LENGTH = MARK.length;
2736
2844
 
2737
2845
  var WRONG_SYMBOLS_CONVERSION = !NATIVE_SYMBOL || fails(function () {
2738
2846
  var symbol = getBuiltIn('Symbol')('stringify detection');
@@ -2750,7 +2858,7 @@ function requireEs_json_stringify () {
2750
2858
  || $stringify('\uDEAD') !== '"\\udead"';
2751
2859
  });
2752
2860
 
2753
- var stringifyWithSymbolsFix = function (it, replacer) {
2861
+ var stringifyWithProperSymbolsConversion = WRONG_SYMBOLS_CONVERSION ? function (it, replacer) {
2754
2862
  var args = arraySlice(arguments);
2755
2863
  var $replacer = getReplacerFunction(replacer);
2756
2864
  if (!isCallable($replacer) && (it === undefined || isSymbol(it))) return; // IE8 returns string on undefined
@@ -2760,28 +2868,79 @@ function requireEs_json_stringify () {
2760
2868
  if (!isSymbol(value)) return value;
2761
2869
  };
2762
2870
  return apply($stringify, null, args);
2763
- };
2871
+ } : $stringify;
2764
2872
 
2765
- var fixIllFormed = function (match, offset, string) {
2873
+ var fixIllFormedJSON = function (match, offset, string) {
2766
2874
  var prev = charAt(string, offset - 1);
2767
2875
  var next = charAt(string, offset + 1);
2768
- if ((exec(low, match) && !exec(hi, next)) || (exec(hi, match) && !exec(low, prev))) {
2876
+ if (
2877
+ (exec(leadingSurrogates, match) && !exec(trailingSurrogates, next)) ||
2878
+ (exec(trailingSurrogates, match) && !exec(leadingSurrogates, prev))
2879
+ ) {
2769
2880
  return '\\u' + numberToString(charCodeAt(match, 0), 16);
2770
2881
  } return match;
2771
2882
  };
2772
2883
 
2773
- if ($stringify) {
2774
- // `JSON.stringify` method
2775
- // https://tc39.es/ecma262/#sec-json.stringify
2776
- $({ target: 'JSON', stat: true, arity: 3, forced: WRONG_SYMBOLS_CONVERSION || ILL_FORMED_UNICODE }, {
2777
- // eslint-disable-next-line no-unused-vars -- required for `.length`
2778
- stringify: function stringify(it, replacer, space) {
2779
- var args = arraySlice(arguments);
2780
- var result = apply(WRONG_SYMBOLS_CONVERSION ? stringifyWithSymbolsFix : $stringify, null, args);
2781
- return ILL_FORMED_UNICODE && typeof result == 'string' ? replace(result, tester, fixIllFormed) : result;
2884
+ var getReplacerFunction = function (replacer) {
2885
+ if (isCallable(replacer)) return replacer;
2886
+ if (!isArray(replacer)) return;
2887
+ var rawLength = replacer.length;
2888
+ var keys = [];
2889
+ for (var i = 0; i < rawLength; i++) {
2890
+ var element = replacer[i];
2891
+ if (typeof element == 'string') push(keys, element);
2892
+ else if (typeof element == 'number' || classof(element) === 'Number' || classof(element) === 'String') push(keys, toString(element));
2893
+ }
2894
+ var keysLength = keys.length;
2895
+ var root = true;
2896
+ return function (key, value) {
2897
+ if (root) {
2898
+ root = false;
2899
+ return value;
2900
+ }
2901
+ if (isArray(this)) return value;
2902
+ for (var j = 0; j < keysLength; j++) if (keys[j] === key) return value;
2903
+ };
2904
+ };
2905
+
2906
+ // `JSON.stringify` method
2907
+ // https://tc39.es/ecma262/#sec-json.stringify
2908
+ // https://github.com/tc39/proposal-json-parse-with-source
2909
+ if ($stringify) $({ target: 'JSON', stat: true, arity: 3, forced: WRONG_SYMBOLS_CONVERSION || ILL_FORMED_UNICODE || !NATIVE_RAW_JSON }, {
2910
+ stringify: function stringify(text, replacer, space) {
2911
+ var replacerFunction = getReplacerFunction(replacer);
2912
+ var rawStrings = [];
2913
+
2914
+ var json = stringifyWithProperSymbolsConversion(text, function (key, value) {
2915
+ // some old implementations (like WebKit) could pass numbers as keys
2916
+ var v = isCallable(replacerFunction) ? call(replacerFunction, this, $String(key), value) : value;
2917
+ return !NATIVE_RAW_JSON && isRawJSON(v) ? MARK + (push(rawStrings, v.rawJSON) - 1) : v;
2918
+ }, space);
2919
+
2920
+ if (typeof json != 'string') return json;
2921
+
2922
+ if (ILL_FORMED_UNICODE) json = replace(json, surrogates, fixIllFormedJSON);
2923
+
2924
+ if (NATIVE_RAW_JSON) return json;
2925
+
2926
+ var result = '';
2927
+ var length = json.length;
2928
+
2929
+ for (var i = 0; i < length; i++) {
2930
+ var chr = charAt(json, i);
2931
+ if (chr === '"') {
2932
+ var end = parseJSONString(json, ++i).end - 1;
2933
+ var string = slice(json, i, end);
2934
+ result += slice(string, 0, MARK_LENGTH) === MARK
2935
+ ? rawStrings[slice(string, MARK_LENGTH)]
2936
+ : '"' + string + '"';
2937
+ i = end;
2938
+ } else result += chr;
2782
2939
  }
2783
- });
2784
- }
2940
+
2941
+ return result;
2942
+ }
2943
+ });
2785
2944
  return es_json_stringify;
2786
2945
  }
2787
2946
 
@@ -3146,7 +3305,7 @@ function requireFunctionName () {
3146
3305
 
3147
3306
  var EXISTS = hasOwn(FunctionPrototype, 'name');
3148
3307
  // additional protection from minified / mangled / dropped function names
3149
- var PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';
3308
+ var PROPER = EXISTS && function something() { /* empty */ }.name === 'something';
3150
3309
  var CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));
3151
3310
 
3152
3311
  functionName = {
@@ -4742,10 +4901,11 @@ var hasRequiredFlattenIntoArray;
4742
4901
  function requireFlattenIntoArray () {
4743
4902
  if (hasRequiredFlattenIntoArray) return flattenIntoArray_1;
4744
4903
  hasRequiredFlattenIntoArray = 1;
4745
- var isArray = /*@__PURE__*/ requireIsArray$3();
4904
+ var isArray = /*@__PURE__*/ requireIsArray$6();
4746
4905
  var lengthOfArrayLike = /*@__PURE__*/ requireLengthOfArrayLike();
4747
4906
  var doesNotExceedSafeInteger = /*@__PURE__*/ requireDoesNotExceedSafeInteger();
4748
4907
  var bind = /*@__PURE__*/ requireFunctionBindContext();
4908
+ var createProperty = /*@__PURE__*/ requireCreateProperty();
4749
4909
 
4750
4910
  // `FlattenIntoArray` abstract operation
4751
4911
  // https://tc39.es/ecma262/#sec-flattenintoarray
@@ -4764,7 +4924,7 @@ function requireFlattenIntoArray () {
4764
4924
  targetIndex = flattenIntoArray(target, original, element, elementLen, targetIndex, depth - 1) - 1;
4765
4925
  } else {
4766
4926
  doesNotExceedSafeInteger(targetIndex + 1);
4767
- target[targetIndex] = element;
4927
+ createProperty(target, targetIndex, element);
4768
4928
  }
4769
4929
 
4770
4930
  targetIndex++;
@@ -4799,7 +4959,7 @@ function requireEs_array_flatMap () {
4799
4959
  var A;
4800
4960
  aCallable(callbackfn);
4801
4961
  A = arraySpeciesCreate(O, 0);
4802
- A.length = flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
4962
+ flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
4803
4963
  return A;
4804
4964
  }
4805
4965
  });
@@ -8568,11 +8728,11 @@ function requireGetOwnPropertyDescriptor$2 () {
8568
8728
 
8569
8729
  var Object = path.Object;
8570
8730
 
8571
- var getOwnPropertyDescriptor = getOwnPropertyDescriptor$2.exports = function getOwnPropertyDescriptor(it, key) {
8731
+ var $getOwnPropertyDescriptor = getOwnPropertyDescriptor$2.exports = function getOwnPropertyDescriptor(it, key) {
8572
8732
  return Object.getOwnPropertyDescriptor(it, key);
8573
8733
  };
8574
8734
 
8575
- if (Object.getOwnPropertyDescriptor.sham) getOwnPropertyDescriptor.sham = true;
8735
+ if (Object.getOwnPropertyDescriptor.sham) $getOwnPropertyDescriptor.sham = true;
8576
8736
  return getOwnPropertyDescriptor$2.exports;
8577
8737
  }
8578
8738
 
@@ -8831,11 +8991,11 @@ function requireDefineProperties$2 () {
8831
8991
 
8832
8992
  var Object = path.Object;
8833
8993
 
8834
- var defineProperties = defineProperties$2.exports = function defineProperties(T, D) {
8994
+ var $defineProperties = defineProperties$2.exports = function defineProperties(T, D) {
8835
8995
  return Object.defineProperties(T, D);
8836
8996
  };
8837
8997
 
8838
- if (Object.defineProperties.sham) defineProperties.sham = true;
8998
+ if (Object.defineProperties.sham) $defineProperties.sham = true;
8839
8999
  return defineProperties$2.exports;
8840
9000
  }
8841
9001
 
@@ -8885,7 +9045,7 @@ function requireEs_array_isArray () {
8885
9045
  if (hasRequiredEs_array_isArray) return es_array_isArray;
8886
9046
  hasRequiredEs_array_isArray = 1;
8887
9047
  var $ = /*@__PURE__*/ require_export();
8888
- var isArray = /*@__PURE__*/ requireIsArray$3();
9048
+ var isArray = /*@__PURE__*/ requireIsArray$6();
8889
9049
 
8890
9050
  // `Array.isArray` method
8891
9051
  // https://tc39.es/ecma262/#sec-array.isarray
@@ -8895,43 +9055,43 @@ function requireEs_array_isArray () {
8895
9055
  return es_array_isArray;
8896
9056
  }
8897
9057
 
8898
- var isArray$2;
8899
- var hasRequiredIsArray$2;
9058
+ var isArray$5;
9059
+ var hasRequiredIsArray$5;
8900
9060
 
8901
- function requireIsArray$2 () {
8902
- if (hasRequiredIsArray$2) return isArray$2;
8903
- hasRequiredIsArray$2 = 1;
9061
+ function requireIsArray$5 () {
9062
+ if (hasRequiredIsArray$5) return isArray$5;
9063
+ hasRequiredIsArray$5 = 1;
8904
9064
  requireEs_array_isArray();
8905
9065
  var path = /*@__PURE__*/ requirePath();
8906
9066
 
8907
- isArray$2 = path.Array.isArray;
8908
- return isArray$2;
9067
+ isArray$5 = path.Array.isArray;
9068
+ return isArray$5;
8909
9069
  }
8910
9070
 
8911
- var isArray$1;
8912
- var hasRequiredIsArray$1;
9071
+ var isArray$4;
9072
+ var hasRequiredIsArray$4;
8913
9073
 
8914
- function requireIsArray$1 () {
8915
- if (hasRequiredIsArray$1) return isArray$1;
8916
- hasRequiredIsArray$1 = 1;
8917
- var parent = /*@__PURE__*/ requireIsArray$2();
9074
+ function requireIsArray$4 () {
9075
+ if (hasRequiredIsArray$4) return isArray$4;
9076
+ hasRequiredIsArray$4 = 1;
9077
+ var parent = /*@__PURE__*/ requireIsArray$5();
8918
9078
 
8919
- isArray$1 = parent;
8920
- return isArray$1;
9079
+ isArray$4 = parent;
9080
+ return isArray$4;
8921
9081
  }
8922
9082
 
8923
- var isArray;
8924
- var hasRequiredIsArray;
9083
+ var isArray$3;
9084
+ var hasRequiredIsArray$3;
8925
9085
 
8926
- function requireIsArray () {
8927
- if (hasRequiredIsArray) return isArray;
8928
- hasRequiredIsArray = 1;
8929
- isArray = /*@__PURE__*/ requireIsArray$1();
8930
- return isArray;
9086
+ function requireIsArray$3 () {
9087
+ if (hasRequiredIsArray$3) return isArray$3;
9088
+ hasRequiredIsArray$3 = 1;
9089
+ isArray$3 = /*@__PURE__*/ requireIsArray$4();
9090
+ return isArray$3;
8931
9091
  }
8932
9092
 
8933
- var isArrayExports = requireIsArray();
8934
- var _Array$isArray = /*@__PURE__*/getDefaultExportFromCjs(isArrayExports);
9093
+ var isArrayExports$1 = requireIsArray$3();
9094
+ var _Array$isArray$1 = /*@__PURE__*/getDefaultExportFromCjs(isArrayExports$1);
8935
9095
 
8936
9096
  var es_map = {};
8937
9097
 
@@ -9064,6 +9224,7 @@ function requireInternalMetadata () {
9064
9224
  var getOwnPropertyNames = getOwnPropertyNamesModule.f;
9065
9225
  var splice = uncurryThis([].splice);
9066
9226
  var test = {};
9227
+ // eslint-disable-next-line unicorn/no-immediate-mutation -- ES3 syntax limitation
9067
9228
  test[METADATA] = 1;
9068
9229
 
9069
9230
  // prevent exposing of metadata key
@@ -9114,12 +9275,12 @@ function requireIsArrayIteratorMethod () {
9114
9275
  return isArrayIteratorMethod;
9115
9276
  }
9116
9277
 
9117
- var getIteratorMethod;
9118
- var hasRequiredGetIteratorMethod;
9278
+ var getIteratorMethod$4;
9279
+ var hasRequiredGetIteratorMethod$5;
9119
9280
 
9120
- function requireGetIteratorMethod () {
9121
- if (hasRequiredGetIteratorMethod) return getIteratorMethod;
9122
- hasRequiredGetIteratorMethod = 1;
9281
+ function requireGetIteratorMethod$5 () {
9282
+ if (hasRequiredGetIteratorMethod$5) return getIteratorMethod$4;
9283
+ hasRequiredGetIteratorMethod$5 = 1;
9123
9284
  var classof = /*@__PURE__*/ requireClassof();
9124
9285
  var getMethod = /*@__PURE__*/ requireGetMethod();
9125
9286
  var isNullOrUndefined = /*@__PURE__*/ requireIsNullOrUndefined();
@@ -9128,12 +9289,12 @@ function requireGetIteratorMethod () {
9128
9289
 
9129
9290
  var ITERATOR = wellKnownSymbol('iterator');
9130
9291
 
9131
- getIteratorMethod = function (it) {
9292
+ getIteratorMethod$4 = function (it) {
9132
9293
  if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)
9133
9294
  || getMethod(it, '@@iterator')
9134
9295
  || Iterators[classof(it)];
9135
9296
  };
9136
- return getIteratorMethod;
9297
+ return getIteratorMethod$4;
9137
9298
  }
9138
9299
 
9139
9300
  var getIterator$5;
@@ -9146,7 +9307,7 @@ function requireGetIterator$6 () {
9146
9307
  var aCallable = /*@__PURE__*/ requireACallable();
9147
9308
  var anObject = /*@__PURE__*/ requireAnObject();
9148
9309
  var tryToString = /*@__PURE__*/ requireTryToString();
9149
- var getIteratorMethod = /*@__PURE__*/ requireGetIteratorMethod();
9310
+ var getIteratorMethod = /*@__PURE__*/ requireGetIteratorMethod$5();
9150
9311
 
9151
9312
  var $TypeError = TypeError;
9152
9313
 
@@ -9204,7 +9365,7 @@ function requireIterate () {
9204
9365
  var lengthOfArrayLike = /*@__PURE__*/ requireLengthOfArrayLike();
9205
9366
  var isPrototypeOf = /*@__PURE__*/ requireObjectIsPrototypeOf();
9206
9367
  var getIterator = /*@__PURE__*/ requireGetIterator$6();
9207
- var getIteratorMethod = /*@__PURE__*/ requireGetIteratorMethod();
9368
+ var getIteratorMethod = /*@__PURE__*/ requireGetIteratorMethod$5();
9208
9369
  var iteratorClose = /*@__PURE__*/ requireIteratorClose();
9209
9370
 
9210
9371
  var $TypeError = TypeError;
@@ -9226,7 +9387,9 @@ function requireIterate () {
9226
9387
  var iterator, iterFn, index, length, result, next, step;
9227
9388
 
9228
9389
  var stop = function (condition) {
9229
- if (iterator) iteratorClose(iterator, 'normal');
9390
+ var $iterator = iterator;
9391
+ iterator = undefined;
9392
+ if ($iterator) iteratorClose($iterator, 'normal');
9230
9393
  return new Result(true, condition);
9231
9394
  };
9232
9395
 
@@ -9256,10 +9419,13 @@ function requireIterate () {
9256
9419
 
9257
9420
  next = IS_RECORD ? iterable.next : iterator.next;
9258
9421
  while (!(step = call(next, iterator)).done) {
9422
+ // `IteratorValue` errors should propagate without closing the iterator
9423
+ var value = step.value;
9259
9424
  try {
9260
- result = callFn(step.value);
9425
+ result = callFn(value);
9261
9426
  } catch (error) {
9262
- iteratorClose(iterator, 'throw', error);
9427
+ if (iterator) iteratorClose(iterator, 'throw', error);
9428
+ else throw error;
9263
9429
  }
9264
9430
  if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;
9265
9431
  } return new Result(false);
@@ -9293,6 +9459,7 @@ function requireCollection () {
9293
9459
  var $ = /*@__PURE__*/ require_export();
9294
9460
  var globalThis = /*@__PURE__*/ requireGlobalThis();
9295
9461
  var InternalMetadataModule = /*@__PURE__*/ requireInternalMetadata();
9462
+ var call = /*@__PURE__*/ requireFunctionCall();
9296
9463
  var fails = /*@__PURE__*/ requireFails();
9297
9464
  var createNonEnumerableProperty = /*@__PURE__*/ requireCreateNonEnumerableProperty();
9298
9465
  var iterate = /*@__PURE__*/ requireIterate();
@@ -9341,10 +9508,13 @@ function requireCollection () {
9341
9508
  var IS_ADDER = KEY === 'add' || KEY === 'set';
9342
9509
  if (KEY in NativePrototype && !(IS_WEAK && KEY === 'clear')) {
9343
9510
  createNonEnumerableProperty(Prototype, KEY, function (a, b) {
9344
- var collection = getInternalState(this).collection;
9511
+ var that = this;
9512
+ var collection = getInternalState(that).collection;
9345
9513
  if (!IS_ADDER && IS_WEAK && !isObject(a)) return KEY === 'get' ? undefined : false;
9346
- var result = collection[KEY](a === 0 ? 0 : a, b);
9347
- return IS_ADDER ? this : result;
9514
+ var result = collection[KEY](KEY === 'forEach' ? function (value, key) {
9515
+ call(a, b, value, key, that);
9516
+ } : a === 0 ? 0 : a, b);
9517
+ return IS_ADDER ? that : result;
9348
9518
  });
9349
9519
  }
9350
9520
  });
@@ -9738,6 +9908,66 @@ function requireEs_map_groupBy () {
9738
9908
  return es_map_groupBy;
9739
9909
  }
9740
9910
 
9911
+ var es_map_getOrInsert = {};
9912
+
9913
+ var hasRequiredEs_map_getOrInsert;
9914
+
9915
+ function requireEs_map_getOrInsert () {
9916
+ if (hasRequiredEs_map_getOrInsert) return es_map_getOrInsert;
9917
+ hasRequiredEs_map_getOrInsert = 1;
9918
+ var $ = /*@__PURE__*/ require_export();
9919
+ var MapHelpers = /*@__PURE__*/ requireMapHelpers();
9920
+ var IS_PURE = /*@__PURE__*/ requireIsPure();
9921
+
9922
+ var get = MapHelpers.get;
9923
+ var has = MapHelpers.has;
9924
+ var set = MapHelpers.set;
9925
+
9926
+ // `Map.prototype.getOrInsert` method
9927
+ // https://tc39.es/ecma262/#sec-map.prototype.getorinsert
9928
+ $({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {
9929
+ getOrInsert: function getOrInsert(key, value) {
9930
+ if (has(this, key)) return get(this, key);
9931
+ set(this, key, value);
9932
+ return value;
9933
+ }
9934
+ });
9935
+ return es_map_getOrInsert;
9936
+ }
9937
+
9938
+ var es_map_getOrInsertComputed = {};
9939
+
9940
+ var hasRequiredEs_map_getOrInsertComputed;
9941
+
9942
+ function requireEs_map_getOrInsertComputed () {
9943
+ if (hasRequiredEs_map_getOrInsertComputed) return es_map_getOrInsertComputed;
9944
+ hasRequiredEs_map_getOrInsertComputed = 1;
9945
+ var $ = /*@__PURE__*/ require_export();
9946
+ var aCallable = /*@__PURE__*/ requireACallable();
9947
+ var MapHelpers = /*@__PURE__*/ requireMapHelpers();
9948
+ var IS_PURE = /*@__PURE__*/ requireIsPure();
9949
+
9950
+ var get = MapHelpers.get;
9951
+ var has = MapHelpers.has;
9952
+ var set = MapHelpers.set;
9953
+
9954
+ // `Map.prototype.getOrInsertComputed` method
9955
+ // https://tc39.es/ecma262/#sec-map.prototype.getorinsertcomputed
9956
+ $({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {
9957
+ getOrInsertComputed: function getOrInsertComputed(key, callbackfn) {
9958
+ var hasKey = has(this, key);
9959
+ aCallable(callbackfn);
9960
+ if (hasKey) return get(this, key);
9961
+ // CanonicalizeKeyedCollectionKey
9962
+ if (key === 0 && 1 / key === -Infinity) key = 0;
9963
+ var value = callbackfn(key);
9964
+ set(this, key, value);
9965
+ return value;
9966
+ }
9967
+ });
9968
+ return es_map_getOrInsertComputed;
9969
+ }
9970
+
9741
9971
  var map$2;
9742
9972
  var hasRequiredMap$2;
9743
9973
 
@@ -9747,6 +9977,8 @@ function requireMap$2 () {
9747
9977
  requireEs_array_iterator();
9748
9978
  requireEs_map();
9749
9979
  requireEs_map_groupBy();
9980
+ requireEs_map_getOrInsert();
9981
+ requireEs_map_getOrInsertComputed();
9750
9982
  requireEs_string_iterator();
9751
9983
  var path = /*@__PURE__*/ requirePath();
9752
9984
 
@@ -10350,7 +10582,9 @@ function requireEs_array_sort () {
10350
10582
  if (y === undefined) return -1;
10351
10583
  if (x === undefined) return 1;
10352
10584
  if (comparefn !== undefined) return +comparefn(x, y) || 0;
10353
- return toString(x) > toString(y) ? 1 : -1;
10585
+ var xString = toString(x);
10586
+ var yString = toString(y);
10587
+ return xString === yString ? 0 : xString > yString ? 1 : -1;
10354
10588
  };
10355
10589
  };
10356
10590
 
@@ -10520,6 +10754,7 @@ function requireStringRepeat () {
10520
10754
  var requireObjectCoercible = /*@__PURE__*/ requireRequireObjectCoercible();
10521
10755
 
10522
10756
  var $RangeError = RangeError;
10757
+ var floor = Math.floor;
10523
10758
 
10524
10759
  // `String.prototype.repeat` method implementation
10525
10760
  // https://tc39.es/ecma262/#sec-string.prototype.repeat
@@ -10528,7 +10763,7 @@ function requireStringRepeat () {
10528
10763
  var result = '';
10529
10764
  var n = toIntegerOrInfinity(count);
10530
10765
  if (n < 0 || n === Infinity) throw new $RangeError('Wrong number of repetitions');
10531
- for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;
10766
+ for (;n > 0; (n = floor(n / 2)) && (str += str)) if (n % 2) result += str;
10532
10767
  return result;
10533
10768
  };
10534
10769
  return stringRepeat;
@@ -10556,9 +10791,10 @@ function requireStringPad () {
10556
10791
  var S = toString(requireObjectCoercible($this));
10557
10792
  var intMaxLength = toLength(maxLength);
10558
10793
  var stringLength = S.length;
10794
+ if (intMaxLength <= stringLength) return S;
10559
10795
  var fillStr = fillString === undefined ? ' ' : toString(fillString);
10560
10796
  var fillLen, stringFiller;
10561
- if (intMaxLength <= stringLength || fillStr === '') return S;
10797
+ if (fillStr === '') return S;
10562
10798
  fillLen = intMaxLength - stringLength;
10563
10799
  stringFiller = repeat(fillStr, ceil(fillLen / fillStr.length));
10564
10800
  if (stringFiller.length > fillLen) stringFiller = stringSlice(stringFiller, 0, fillLen);
@@ -10809,21 +11045,17 @@ function unsafeStringify(arr, offset = 0) {
10809
11045
  byteToHex[arr[offset + 15]]).toLowerCase();
10810
11046
  }
10811
11047
 
10812
- let getRandomValues;
10813
11048
  const rnds8 = new Uint8Array(16);
10814
11049
  function rng() {
10815
- if (!getRandomValues) {
10816
- if (typeof crypto === 'undefined' || !crypto.getRandomValues) {
10817
- throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');
10818
- }
10819
- getRandomValues = crypto.getRandomValues.bind(crypto);
10820
- }
10821
- return getRandomValues(rnds8);
11050
+ return crypto.getRandomValues(rnds8);
10822
11051
  }
10823
11052
 
10824
- const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);
10825
- var native = { randomUUID };
10826
-
11053
+ function v4(options, buf, offset) {
11054
+ if (crypto.randomUUID) {
11055
+ return crypto.randomUUID();
11056
+ }
11057
+ return _v4(options);
11058
+ }
10827
11059
  function _v4(options, buf, offset) {
10828
11060
  options = options || {};
10829
11061
  const rnds = options.random ?? options.rng?.() ?? rng();
@@ -10834,12 +11066,6 @@ function _v4(options, buf, offset) {
10834
11066
  rnds[8] = (rnds[8] & 0x3f) | 0x80;
10835
11067
  return unsafeStringify(rnds);
10836
11068
  }
10837
- function v4(options, buf, offset) {
10838
- if (native.randomUUID && true && !options) {
10839
- return native.randomUUID();
10840
- }
10841
- return _v4(options);
10842
- }
10843
11069
 
10844
11070
  /**
10845
11071
  * Determine whether a value can be used as an id.
@@ -10850,529 +11076,712 @@ function isId(value) {
10850
11076
  return typeof value === "string" || typeof value === "number";
10851
11077
  }
10852
11078
 
10853
- var web_timers = {};
10854
-
10855
- var web_setInterval = {};
10856
-
10857
- var validateArgumentsLength;
10858
- var hasRequiredValidateArgumentsLength;
10859
-
10860
- function requireValidateArgumentsLength () {
10861
- if (hasRequiredValidateArgumentsLength) return validateArgumentsLength;
10862
- hasRequiredValidateArgumentsLength = 1;
10863
- var $TypeError = TypeError;
10864
-
10865
- validateArgumentsLength = function (passed, required) {
10866
- if (passed < required) throw new $TypeError('Not enough arguments');
10867
- return passed;
10868
- };
10869
- return validateArgumentsLength;
10870
- }
10871
-
10872
- var schedulersFix;
10873
- var hasRequiredSchedulersFix;
10874
-
10875
- function requireSchedulersFix () {
10876
- if (hasRequiredSchedulersFix) return schedulersFix;
10877
- hasRequiredSchedulersFix = 1;
10878
- var globalThis = /*@__PURE__*/ requireGlobalThis();
10879
- var apply = /*@__PURE__*/ requireFunctionApply();
10880
- var isCallable = /*@__PURE__*/ requireIsCallable();
10881
- var ENVIRONMENT = /*@__PURE__*/ requireEnvironment();
10882
- var USER_AGENT = /*@__PURE__*/ requireEnvironmentUserAgent();
10883
- var arraySlice = /*@__PURE__*/ requireArraySlice();
10884
- var validateArgumentsLength = /*@__PURE__*/ requireValidateArgumentsLength();
10885
-
10886
- var Function = globalThis.Function;
10887
- // dirty IE9- and Bun 0.3.0- checks
10888
- var WRAP = /MSIE .\./.test(USER_AGENT) || ENVIRONMENT === 'BUN' && (function () {
10889
- var version = globalThis.Bun.version.split('.');
10890
- return version.length < 3 || version[0] === '0' && (version[1] < 3 || version[1] === '3' && version[2] === '0');
10891
- })();
10892
-
10893
- // IE9- / Bun 0.3.0- setTimeout / setInterval / setImmediate additional parameters fix
10894
- // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timers
10895
- // https://github.com/oven-sh/bun/issues/1633
10896
- schedulersFix = function (scheduler, hasTimeArg) {
10897
- var firstParamIndex = hasTimeArg ? 2 : 1;
10898
- return WRAP ? function (handler, timeout /* , ...arguments */) {
10899
- var boundArgs = validateArgumentsLength(arguments.length, 1) > firstParamIndex;
10900
- var fn = isCallable(handler) ? handler : Function(handler);
10901
- var params = boundArgs ? arraySlice(arguments, firstParamIndex) : [];
10902
- var callback = boundArgs ? function () {
10903
- apply(fn, this, params);
10904
- } : fn;
10905
- return hasTimeArg ? scheduler(callback, timeout) : scheduler(callback);
10906
- } : scheduler;
10907
- };
10908
- return schedulersFix;
11079
+ /**
11080
+ * {@link DataSet} code that can be reused in {@link DataView} or other similar implementations of {@link DataInterface}.
11081
+ * @typeParam Item - Item type that may or may not have an id.
11082
+ * @typeParam IdProp - Name of the property that contains the id.
11083
+ */
11084
+ class DataSetPart {
11085
+ constructor() {
11086
+ _defineProperty(this, "_subscribers", {
11087
+ "*": [],
11088
+ add: [],
11089
+ remove: [],
11090
+ update: []
11091
+ });
11092
+ /**
11093
+ * @deprecated Use on instead (PS: DataView.subscribe === DataView.on).
11094
+ */
11095
+ _defineProperty(this, "subscribe", DataSetPart.prototype.on);
11096
+ /**
11097
+ * @deprecated Use off instead (PS: DataView.unsubscribe === DataView.off).
11098
+ */
11099
+ _defineProperty(this, "unsubscribe", DataSetPart.prototype.off);
11100
+ }
11101
+ /**
11102
+ * Trigger an event
11103
+ * @param event - Event name.
11104
+ * @param payload - Event payload.
11105
+ * @param senderId - Id of the sender.
11106
+ */
11107
+ _trigger(event, payload, senderId) {
11108
+ var _context;
11109
+ if (event === "*") {
11110
+ throw new Error("Cannot trigger event *");
11111
+ }
11112
+ _forEachInstanceProperty(_context = [...this._subscribers[event], ...this._subscribers["*"]]).call(_context, subscriber => {
11113
+ subscriber(event, payload, senderId != null ? senderId : null);
11114
+ });
11115
+ }
11116
+ /**
11117
+ * Subscribe to an event, add an event listener.
11118
+ * @remarks Non-function callbacks are ignored.
11119
+ * @param event - Event name.
11120
+ * @param callback - Callback method.
11121
+ */
11122
+ on(event, callback) {
11123
+ if (typeof callback === "function") {
11124
+ this._subscribers[event].push(callback);
11125
+ }
11126
+ // @TODO: Maybe throw for invalid callbacks?
11127
+ }
11128
+ /**
11129
+ * Unsubscribe from an event, remove an event listener.
11130
+ * @remarks If the same callback was subscribed more than once **all** occurences will be removed.
11131
+ * @param event - Event name.
11132
+ * @param callback - Callback method.
11133
+ */
11134
+ off(event, callback) {
11135
+ var _context2;
11136
+ this._subscribers[event] = _filterInstanceProperty(_context2 = this._subscribers[event]).call(_context2, subscriber => subscriber !== callback);
11137
+ }
10909
11138
  }
10910
11139
 
10911
- var hasRequiredWeb_setInterval;
10912
-
10913
- function requireWeb_setInterval () {
10914
- if (hasRequiredWeb_setInterval) return web_setInterval;
10915
- hasRequiredWeb_setInterval = 1;
10916
- var $ = /*@__PURE__*/ require_export();
10917
- var globalThis = /*@__PURE__*/ requireGlobalThis();
10918
- var schedulersFix = /*@__PURE__*/ requireSchedulersFix();
11140
+ var isArray$2;
11141
+ var hasRequiredIsArray$2;
10919
11142
 
10920
- var setInterval = schedulersFix(globalThis.setInterval, true);
11143
+ function requireIsArray$2 () {
11144
+ if (hasRequiredIsArray$2) return isArray$2;
11145
+ hasRequiredIsArray$2 = 1;
11146
+ var parent = /*@__PURE__*/ requireIsArray$4();
10921
11147
 
10922
- // Bun / IE9- setInterval additional parameters fix
10923
- // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-setinterval
10924
- $({ global: true, bind: true, forced: globalThis.setInterval !== setInterval }, {
10925
- setInterval: setInterval
10926
- });
10927
- return web_setInterval;
11148
+ isArray$2 = parent;
11149
+ return isArray$2;
10928
11150
  }
10929
11151
 
10930
- var web_setTimeout = {};
11152
+ var isArray$1;
11153
+ var hasRequiredIsArray$1;
10931
11154
 
10932
- var hasRequiredWeb_setTimeout;
11155
+ function requireIsArray$1 () {
11156
+ if (hasRequiredIsArray$1) return isArray$1;
11157
+ hasRequiredIsArray$1 = 1;
11158
+ var parent = /*@__PURE__*/ requireIsArray$2();
10933
11159
 
10934
- function requireWeb_setTimeout () {
10935
- if (hasRequiredWeb_setTimeout) return web_setTimeout;
10936
- hasRequiredWeb_setTimeout = 1;
10937
- var $ = /*@__PURE__*/ require_export();
10938
- var globalThis = /*@__PURE__*/ requireGlobalThis();
10939
- var schedulersFix = /*@__PURE__*/ requireSchedulersFix();
11160
+ isArray$1 = parent;
11161
+ return isArray$1;
11162
+ }
10940
11163
 
10941
- var setTimeout = schedulersFix(globalThis.setTimeout, true);
11164
+ var isArray;
11165
+ var hasRequiredIsArray;
10942
11166
 
10943
- // Bun / IE9- setTimeout additional parameters fix
10944
- // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-settimeout
10945
- $({ global: true, bind: true, forced: globalThis.setTimeout !== setTimeout }, {
10946
- setTimeout: setTimeout
10947
- });
10948
- return web_setTimeout;
11167
+ function requireIsArray () {
11168
+ if (hasRequiredIsArray) return isArray;
11169
+ hasRequiredIsArray = 1;
11170
+ isArray = /*@__PURE__*/ requireIsArray$1();
11171
+ return isArray;
10949
11172
  }
10950
11173
 
10951
- var hasRequiredWeb_timers;
11174
+ var isArrayExports = /*@__PURE__*/ requireIsArray();
11175
+ var _Array$isArray = /*@__PURE__*/getDefaultExportFromCjs(isArrayExports);
10952
11176
 
10953
- function requireWeb_timers () {
10954
- if (hasRequiredWeb_timers) return web_timers;
10955
- hasRequiredWeb_timers = 1;
10956
- // TODO: Remove this module from `core-js@4` since it's split to modules listed below
10957
- requireWeb_setInterval();
10958
- requireWeb_setTimeout();
10959
- return web_timers;
11177
+ function _arrayWithHoles(r) {
11178
+ if (_Array$isArray(r)) return r;
10960
11179
  }
10961
11180
 
10962
- var setTimeout$2;
10963
- var hasRequiredSetTimeout$1;
11181
+ var getIteratorMethod_1;
11182
+ var hasRequiredGetIteratorMethod$4;
10964
11183
 
10965
- function requireSetTimeout$1 () {
10966
- if (hasRequiredSetTimeout$1) return setTimeout$2;
10967
- hasRequiredSetTimeout$1 = 1;
10968
- requireWeb_timers();
10969
- var path = /*@__PURE__*/ requirePath();
11184
+ function requireGetIteratorMethod$4 () {
11185
+ if (hasRequiredGetIteratorMethod$4) return getIteratorMethod_1;
11186
+ hasRequiredGetIteratorMethod$4 = 1;
11187
+ requireEs_array_iterator();
11188
+ requireEs_string_iterator();
11189
+ var getIteratorMethod = /*@__PURE__*/ requireGetIteratorMethod$5();
10970
11190
 
10971
- setTimeout$2 = path.setTimeout;
10972
- return setTimeout$2;
11191
+ getIteratorMethod_1 = getIteratorMethod;
11192
+ return getIteratorMethod_1;
10973
11193
  }
10974
11194
 
10975
- var setTimeout$1;
10976
- var hasRequiredSetTimeout;
11195
+ var getIteratorMethod$3;
11196
+ var hasRequiredGetIteratorMethod$3;
10977
11197
 
10978
- function requireSetTimeout () {
10979
- if (hasRequiredSetTimeout) return setTimeout$1;
10980
- hasRequiredSetTimeout = 1;
10981
- setTimeout$1 = /*@__PURE__*/ requireSetTimeout$1();
10982
- return setTimeout$1;
11198
+ function requireGetIteratorMethod$3 () {
11199
+ if (hasRequiredGetIteratorMethod$3) return getIteratorMethod$3;
11200
+ hasRequiredGetIteratorMethod$3 = 1;
11201
+ var parent = /*@__PURE__*/ requireGetIteratorMethod$4();
11202
+ requireWeb_domCollections_iterator();
11203
+
11204
+ getIteratorMethod$3 = parent;
11205
+ return getIteratorMethod$3;
10983
11206
  }
10984
11207
 
10985
- var setTimeoutExports = requireSetTimeout();
10986
- var _setTimeout = /*@__PURE__*/getDefaultExportFromCjs(setTimeoutExports);
11208
+ var getIteratorMethod$2;
11209
+ var hasRequiredGetIteratorMethod$2;
10987
11210
 
10988
- var es_array_splice = {};
11211
+ function requireGetIteratorMethod$2 () {
11212
+ if (hasRequiredGetIteratorMethod$2) return getIteratorMethod$2;
11213
+ hasRequiredGetIteratorMethod$2 = 1;
11214
+ var parent = /*@__PURE__*/ requireGetIteratorMethod$3();
10989
11215
 
10990
- var arraySetLength;
10991
- var hasRequiredArraySetLength;
11216
+ getIteratorMethod$2 = parent;
11217
+ return getIteratorMethod$2;
11218
+ }
10992
11219
 
10993
- function requireArraySetLength () {
10994
- if (hasRequiredArraySetLength) return arraySetLength;
10995
- hasRequiredArraySetLength = 1;
10996
- var DESCRIPTORS = /*@__PURE__*/ requireDescriptors();
10997
- var isArray = /*@__PURE__*/ requireIsArray$3();
11220
+ var getIteratorMethod$1;
11221
+ var hasRequiredGetIteratorMethod$1;
10998
11222
 
10999
- var $TypeError = TypeError;
11000
- // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
11001
- var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
11223
+ function requireGetIteratorMethod$1 () {
11224
+ if (hasRequiredGetIteratorMethod$1) return getIteratorMethod$1;
11225
+ hasRequiredGetIteratorMethod$1 = 1;
11226
+ var parent = /*@__PURE__*/ requireGetIteratorMethod$2();
11002
11227
 
11003
- // Safari < 13 does not throw an error in this case
11004
- var SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !function () {
11005
- // makes no sense without proper strict mode support
11006
- if (this !== undefined) return true;
11007
- try {
11008
- // eslint-disable-next-line es/no-object-defineproperty -- safe
11009
- Object.defineProperty([], 'length', { writable: false }).length = 1;
11010
- } catch (error) {
11011
- return error instanceof TypeError;
11012
- }
11013
- }();
11228
+ getIteratorMethod$1 = parent;
11229
+ return getIteratorMethod$1;
11230
+ }
11014
11231
 
11015
- arraySetLength = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) {
11016
- if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) {
11017
- throw new $TypeError('Cannot set read only .length');
11018
- } return O.length = length;
11019
- } : function (O, length) {
11020
- return O.length = length;
11021
- };
11022
- return arraySetLength;
11232
+ var getIteratorMethod;
11233
+ var hasRequiredGetIteratorMethod;
11234
+
11235
+ function requireGetIteratorMethod () {
11236
+ if (hasRequiredGetIteratorMethod) return getIteratorMethod;
11237
+ hasRequiredGetIteratorMethod = 1;
11238
+ getIteratorMethod = /*@__PURE__*/ requireGetIteratorMethod$1();
11239
+ return getIteratorMethod;
11023
11240
  }
11024
11241
 
11025
- var hasRequiredEs_array_splice;
11242
+ var getIteratorMethodExports = /*@__PURE__*/ requireGetIteratorMethod();
11243
+ var _getIteratorMethod = /*@__PURE__*/getDefaultExportFromCjs(getIteratorMethodExports);
11026
11244
 
11027
- function requireEs_array_splice () {
11028
- if (hasRequiredEs_array_splice) return es_array_splice;
11029
- hasRequiredEs_array_splice = 1;
11245
+ var es_array_push = {};
11246
+
11247
+ var hasRequiredEs_array_push;
11248
+
11249
+ function requireEs_array_push () {
11250
+ if (hasRequiredEs_array_push) return es_array_push;
11251
+ hasRequiredEs_array_push = 1;
11030
11252
  var $ = /*@__PURE__*/ require_export();
11031
11253
  var toObject = /*@__PURE__*/ requireToObject();
11032
- var toAbsoluteIndex = /*@__PURE__*/ requireToAbsoluteIndex();
11033
- var toIntegerOrInfinity = /*@__PURE__*/ requireToIntegerOrInfinity();
11034
11254
  var lengthOfArrayLike = /*@__PURE__*/ requireLengthOfArrayLike();
11035
11255
  var setArrayLength = /*@__PURE__*/ requireArraySetLength();
11036
11256
  var doesNotExceedSafeInteger = /*@__PURE__*/ requireDoesNotExceedSafeInteger();
11037
- var arraySpeciesCreate = /*@__PURE__*/ requireArraySpeciesCreate();
11038
- var createProperty = /*@__PURE__*/ requireCreateProperty();
11039
- var deletePropertyOrThrow = /*@__PURE__*/ requireDeletePropertyOrThrow();
11040
- var arrayMethodHasSpeciesSupport = /*@__PURE__*/ requireArrayMethodHasSpeciesSupport();
11257
+ var fails = /*@__PURE__*/ requireFails();
11041
11258
 
11042
- var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice');
11259
+ var INCORRECT_TO_LENGTH = fails(function () {
11260
+ return [].push.call({ length: 0x100000000 }, 1) !== 4294967297;
11261
+ });
11043
11262
 
11044
- var max = Math.max;
11045
- var min = Math.min;
11263
+ // V8 <= 121 and Safari <= 15.4; FF < 23 throws InternalError
11264
+ // https://bugs.chromium.org/p/v8/issues/detail?id=12681
11265
+ var properErrorOnNonWritableLength = function () {
11266
+ try {
11267
+ // eslint-disable-next-line es/no-object-defineproperty -- safe
11268
+ Object.defineProperty([], 'length', { writable: false }).push();
11269
+ } catch (error) {
11270
+ return error instanceof TypeError;
11271
+ }
11272
+ };
11046
11273
 
11047
- // `Array.prototype.splice` method
11048
- // https://tc39.es/ecma262/#sec-array.prototype.splice
11049
- // with adding support of @@species
11050
- $({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {
11051
- splice: function splice(start, deleteCount /* , ...items */) {
11274
+ var FORCED = INCORRECT_TO_LENGTH || !properErrorOnNonWritableLength();
11275
+
11276
+ // `Array.prototype.push` method
11277
+ // https://tc39.es/ecma262/#sec-array.prototype.push
11278
+ $({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {
11279
+ // eslint-disable-next-line no-unused-vars -- required for `.length`
11280
+ push: function push(item) {
11052
11281
  var O = toObject(this);
11053
11282
  var len = lengthOfArrayLike(O);
11054
- var actualStart = toAbsoluteIndex(start, len);
11055
- var argumentsLength = arguments.length;
11056
- var insertCount, actualDeleteCount, A, k, from, to;
11057
- if (argumentsLength === 0) {
11058
- insertCount = actualDeleteCount = 0;
11059
- } else if (argumentsLength === 1) {
11060
- insertCount = 0;
11061
- actualDeleteCount = len - actualStart;
11062
- } else {
11063
- insertCount = argumentsLength - 2;
11064
- actualDeleteCount = min(max(toIntegerOrInfinity(deleteCount), 0), len - actualStart);
11065
- }
11066
- doesNotExceedSafeInteger(len + insertCount - actualDeleteCount);
11067
- A = arraySpeciesCreate(O, actualDeleteCount);
11068
- for (k = 0; k < actualDeleteCount; k++) {
11069
- from = actualStart + k;
11070
- if (from in O) createProperty(A, k, O[from]);
11071
- }
11072
- A.length = actualDeleteCount;
11073
- if (insertCount < actualDeleteCount) {
11074
- for (k = actualStart; k < len - actualDeleteCount; k++) {
11075
- from = k + actualDeleteCount;
11076
- to = k + insertCount;
11077
- if (from in O) O[to] = O[from];
11078
- else deletePropertyOrThrow(O, to);
11079
- }
11080
- for (k = len; k > len - actualDeleteCount + insertCount; k--) deletePropertyOrThrow(O, k - 1);
11081
- } else if (insertCount > actualDeleteCount) {
11082
- for (k = len - actualDeleteCount; k > actualStart; k--) {
11083
- from = k + actualDeleteCount - 1;
11084
- to = k + insertCount - 1;
11085
- if (from in O) O[to] = O[from];
11086
- else deletePropertyOrThrow(O, to);
11087
- }
11283
+ var argCount = arguments.length;
11284
+ doesNotExceedSafeInteger(len + argCount);
11285
+ for (var i = 0; i < argCount; i++) {
11286
+ O[len] = arguments[i];
11287
+ len++;
11088
11288
  }
11089
- for (k = 0; k < insertCount; k++) {
11090
- O[k + actualStart] = arguments[k + 2];
11091
- }
11092
- setArrayLength(O, len - actualDeleteCount + insertCount);
11093
- return A;
11289
+ setArrayLength(O, len);
11290
+ return len;
11094
11291
  }
11095
11292
  });
11096
- return es_array_splice;
11293
+ return es_array_push;
11097
11294
  }
11098
11295
 
11099
- var splice$3;
11100
- var hasRequiredSplice$3;
11296
+ var push$5;
11297
+ var hasRequiredPush$5;
11101
11298
 
11102
- function requireSplice$3 () {
11103
- if (hasRequiredSplice$3) return splice$3;
11104
- hasRequiredSplice$3 = 1;
11105
- requireEs_array_splice();
11299
+ function requirePush$5 () {
11300
+ if (hasRequiredPush$5) return push$5;
11301
+ hasRequiredPush$5 = 1;
11302
+ requireEs_array_push();
11106
11303
  var getBuiltInPrototypeMethod = /*@__PURE__*/ requireGetBuiltInPrototypeMethod();
11107
11304
 
11108
- splice$3 = getBuiltInPrototypeMethod('Array', 'splice');
11109
- return splice$3;
11305
+ push$5 = getBuiltInPrototypeMethod('Array', 'push');
11306
+ return push$5;
11110
11307
  }
11111
11308
 
11112
- var splice$2;
11113
- var hasRequiredSplice$2;
11309
+ var push$4;
11310
+ var hasRequiredPush$4;
11114
11311
 
11115
- function requireSplice$2 () {
11116
- if (hasRequiredSplice$2) return splice$2;
11117
- hasRequiredSplice$2 = 1;
11312
+ function requirePush$4 () {
11313
+ if (hasRequiredPush$4) return push$4;
11314
+ hasRequiredPush$4 = 1;
11118
11315
  var isPrototypeOf = /*@__PURE__*/ requireObjectIsPrototypeOf();
11119
- var method = /*@__PURE__*/ requireSplice$3();
11316
+ var method = /*@__PURE__*/ requirePush$5();
11120
11317
 
11121
11318
  var ArrayPrototype = Array.prototype;
11122
11319
 
11123
- splice$2 = function (it) {
11124
- var own = it.splice;
11125
- return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.splice) ? method : own;
11320
+ push$4 = function (it) {
11321
+ var own = it.push;
11322
+ return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.push) ? method : own;
11126
11323
  };
11127
- return splice$2;
11324
+ return push$4;
11128
11325
  }
11129
11326
 
11130
- var splice$1;
11131
- var hasRequiredSplice$1;
11327
+ var push$3;
11328
+ var hasRequiredPush$3;
11132
11329
 
11133
- function requireSplice$1 () {
11134
- if (hasRequiredSplice$1) return splice$1;
11135
- hasRequiredSplice$1 = 1;
11136
- var parent = /*@__PURE__*/ requireSplice$2();
11330
+ function requirePush$3 () {
11331
+ if (hasRequiredPush$3) return push$3;
11332
+ hasRequiredPush$3 = 1;
11333
+ var parent = /*@__PURE__*/ requirePush$4();
11137
11334
 
11138
- splice$1 = parent;
11139
- return splice$1;
11335
+ push$3 = parent;
11336
+ return push$3;
11140
11337
  }
11141
11338
 
11142
- var splice;
11143
- var hasRequiredSplice;
11339
+ var push$2;
11340
+ var hasRequiredPush$2;
11144
11341
 
11145
- function requireSplice () {
11146
- if (hasRequiredSplice) return splice;
11147
- hasRequiredSplice = 1;
11148
- splice = /*@__PURE__*/ requireSplice$1();
11149
- return splice;
11342
+ function requirePush$2 () {
11343
+ if (hasRequiredPush$2) return push$2;
11344
+ hasRequiredPush$2 = 1;
11345
+ var parent = /*@__PURE__*/ requirePush$3();
11346
+
11347
+ push$2 = parent;
11348
+ return push$2;
11150
11349
  }
11151
11350
 
11152
- var spliceExports = requireSplice();
11153
- var _spliceInstanceProperty = /*@__PURE__*/getDefaultExportFromCjs(spliceExports);
11351
+ var push$1;
11352
+ var hasRequiredPush$1;
11154
11353
 
11155
- /**
11156
- * A queue.
11157
- * @typeParam T - The type of method names to be replaced by queued versions.
11158
- */
11159
- class Queue {
11160
- /**
11161
- * Construct a new Queue.
11162
- * @param options - Queue configuration.
11163
- */
11164
- constructor(options) {
11165
- /** Delay in milliseconds. If defined the queue will be periodically flushed. */
11166
- /** Maximum number of entries in the queue before it will be flushed. */
11167
- _defineProperty(this, "_queue", []);
11168
- _defineProperty(this, "_timeout", null);
11169
- _defineProperty(this, "_extended", null);
11170
- // options
11171
- this.delay = null;
11172
- this.max = Infinity;
11173
- this.setOptions(options);
11174
- }
11175
- /**
11176
- * Update the configuration of the queue.
11177
- * @param options - Queue configuration.
11178
- */
11179
- setOptions(options) {
11180
- if (options && typeof options.delay !== "undefined") {
11181
- this.delay = options.delay;
11182
- }
11183
- if (options && typeof options.max !== "undefined") {
11184
- this.max = options.max;
11185
- }
11186
- this._flushIfNeeded();
11187
- }
11188
- /**
11189
- * Extend an object with queuing functionality.
11190
- * The object will be extended with a function flush, and the methods provided in options.replace will be replaced with queued ones.
11191
- * @param object - The object to be extended.
11192
- * @param options - Additional options.
11193
- * @returns The created queue.
11194
- */
11195
- static extend(object, options) {
11196
- const queue = new Queue(options);
11197
- if (object.flush !== undefined) {
11198
- throw new Error("Target object already has a property flush");
11199
- }
11200
- object.flush = () => {
11201
- queue.flush();
11202
- };
11203
- const methods = [{
11204
- name: "flush",
11205
- original: undefined
11206
- }];
11207
- if (options && options.replace) {
11208
- for (let i = 0; i < options.replace.length; i++) {
11209
- const name = options.replace[i];
11210
- methods.push({
11211
- name: name,
11212
- // @TODO: better solution?
11213
- original: object[name]
11214
- });
11215
- // @TODO: better solution?
11216
- queue.replace(object, name);
11217
- }
11218
- }
11219
- queue._extended = {
11220
- object: object,
11221
- methods: methods
11222
- };
11223
- return queue;
11224
- }
11225
- /**
11226
- * Destroy the queue. The queue will first flush all queued actions, and in case it has extended an object, will restore the original object.
11227
- */
11228
- destroy() {
11229
- this.flush();
11230
- if (this._extended) {
11231
- const object = this._extended.object;
11232
- const methods = this._extended.methods;
11233
- for (let i = 0; i < methods.length; i++) {
11234
- const method = methods[i];
11235
- if (method.original) {
11236
- // @TODO: better solution?
11237
- object[method.name] = method.original;
11238
- } else {
11239
- // @TODO: better solution?
11240
- delete object[method.name];
11241
- }
11242
- }
11243
- this._extended = null;
11244
- }
11245
- }
11246
- /**
11247
- * Replace a method on an object with a queued version.
11248
- * @param object - Object having the method.
11249
- * @param method - The method name.
11250
- */
11251
- replace(object, method) {
11252
- /* eslint-disable-next-line @typescript-eslint/no-this-alias -- Function this is necessary in the function bellow, so class this has to be saved into a variable here. */
11253
- const me = this;
11254
- const original = object[method];
11255
- if (!original) {
11256
- throw new Error("Method " + method + " undefined");
11257
- }
11258
- object[method] = function () {
11259
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
11260
- args[_key] = arguments[_key];
11261
- }
11262
- // add this call to the queue
11263
- me.queue({
11264
- args: args,
11265
- fn: original,
11266
- context: this
11267
- });
11268
- };
11269
- }
11270
- /**
11271
- * Queue a call.
11272
- * @param entry - The function or entry to be queued.
11273
- */
11274
- queue(entry) {
11275
- if (typeof entry === "function") {
11276
- this._queue.push({
11277
- fn: entry
11278
- });
11279
- } else {
11280
- this._queue.push(entry);
11281
- }
11282
- this._flushIfNeeded();
11283
- }
11284
- /**
11285
- * Check whether the queue needs to be flushed.
11286
- */
11287
- _flushIfNeeded() {
11288
- // flush when the maximum is exceeded.
11289
- if (this._queue.length > this.max) {
11290
- this.flush();
11291
- }
11292
- // flush after a period of inactivity when a delay is configured
11293
- if (this._timeout != null) {
11294
- clearTimeout(this._timeout);
11295
- this._timeout = null;
11296
- }
11297
- if (this.queue.length > 0 && typeof this.delay === "number") {
11298
- this._timeout = _setTimeout(() => {
11299
- this.flush();
11300
- }, this.delay);
11301
- }
11302
- }
11303
- /**
11304
- * Flush all queued calls
11305
- */
11306
- flush() {
11307
- var _context, _context2;
11308
- _forEachInstanceProperty(_context = _spliceInstanceProperty(_context2 = this._queue).call(_context2, 0)).call(_context, entry => {
11309
- entry.fn.apply(entry.context || entry.fn, entry.args || []);
11310
- });
11311
- }
11354
+ function requirePush$1 () {
11355
+ if (hasRequiredPush$1) return push$1;
11356
+ hasRequiredPush$1 = 1;
11357
+ var parent = /*@__PURE__*/ requirePush$2();
11358
+
11359
+ push$1 = parent;
11360
+ return push$1;
11312
11361
  }
11313
11362
 
11314
- /**
11315
- * {@link DataSet} code that can be reused in {@link DataView} or other similar implementations of {@link DataInterface}.
11316
- * @typeParam Item - Item type that may or may not have an id.
11317
- * @typeParam IdProp - Name of the property that contains the id.
11318
- */
11319
- class DataSetPart {
11320
- constructor() {
11321
- _defineProperty(this, "_subscribers", {
11322
- "*": [],
11323
- add: [],
11324
- remove: [],
11325
- update: []
11326
- });
11327
- /**
11328
- * @deprecated Use on instead (PS: DataView.subscribe === DataView.on).
11329
- */
11330
- _defineProperty(this, "subscribe", DataSetPart.prototype.on);
11331
- /**
11332
- * @deprecated Use off instead (PS: DataView.unsubscribe === DataView.off).
11333
- */
11334
- _defineProperty(this, "unsubscribe", DataSetPart.prototype.off);
11335
- }
11336
- /**
11337
- * Trigger an event
11338
- * @param event - Event name.
11339
- * @param payload - Event payload.
11340
- * @param senderId - Id of the sender.
11341
- */
11342
- _trigger(event, payload, senderId) {
11343
- var _context;
11344
- if (event === "*") {
11345
- throw new Error("Cannot trigger event *");
11346
- }
11347
- _forEachInstanceProperty(_context = [...this._subscribers[event], ...this._subscribers["*"]]).call(_context, subscriber => {
11348
- subscriber(event, payload, senderId != null ? senderId : null);
11349
- });
11350
- }
11351
- /**
11352
- * Subscribe to an event, add an event listener.
11353
- * @remarks Non-function callbacks are ignored.
11354
- * @param event - Event name.
11355
- * @param callback - Callback method.
11356
- */
11357
- on(event, callback) {
11358
- if (typeof callback === "function") {
11359
- this._subscribers[event].push(callback);
11363
+ var push;
11364
+ var hasRequiredPush;
11365
+
11366
+ function requirePush () {
11367
+ if (hasRequiredPush) return push;
11368
+ hasRequiredPush = 1;
11369
+ push = /*@__PURE__*/ requirePush$1();
11370
+ return push;
11371
+ }
11372
+
11373
+ var pushExports = /*@__PURE__*/ requirePush();
11374
+ var _pushInstanceProperty = /*@__PURE__*/getDefaultExportFromCjs(pushExports);
11375
+
11376
+ function _iterableToArrayLimit(r, l) {
11377
+ var t = null == r ? null : "undefined" != typeof _Symbol && _getIteratorMethod(r) || r["@@iterator"];
11378
+ if (null != t) {
11379
+ var e,
11380
+ n,
11381
+ i,
11382
+ u,
11383
+ a = [],
11384
+ f = true,
11385
+ o = false;
11386
+ try {
11387
+ if (i = (t = t.call(r)).next, 0 === l) {
11388
+ if (Object(t) !== t) return;
11389
+ f = !1;
11390
+ } else for (; !(f = (e = i.call(t)).done) && (_pushInstanceProperty(a).call(a, e.value), a.length !== l); f = !0);
11391
+ } catch (r) {
11392
+ o = true, n = r;
11393
+ } finally {
11394
+ try {
11395
+ if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
11396
+ } finally {
11397
+ if (o) throw n;
11398
+ }
11360
11399
  }
11361
- // @TODO: Maybe throw for invalid callbacks?
11362
- }
11363
- /**
11364
- * Unsubscribe from an event, remove an event listener.
11365
- * @remarks If the same callback was subscribed more than once **all** occurences will be removed.
11366
- * @param event - Event name.
11367
- * @param callback - Callback method.
11368
- */
11369
- off(event, callback) {
11370
- var _context2;
11371
- this._subscribers[event] = _filterInstanceProperty(_context2 = this._subscribers[event]).call(_context2, subscriber => subscriber !== callback);
11400
+ return a;
11372
11401
  }
11373
11402
  }
11374
11403
 
11375
- var es_object_create = {};
11404
+ var es_array_slice = {};
11405
+
11406
+ var hasRequiredEs_array_slice;
11407
+
11408
+ function requireEs_array_slice () {
11409
+ if (hasRequiredEs_array_slice) return es_array_slice;
11410
+ hasRequiredEs_array_slice = 1;
11411
+ var $ = /*@__PURE__*/ require_export();
11412
+ var isArray = /*@__PURE__*/ requireIsArray$6();
11413
+ var isConstructor = /*@__PURE__*/ requireIsConstructor();
11414
+ var isObject = /*@__PURE__*/ requireIsObject();
11415
+ var toAbsoluteIndex = /*@__PURE__*/ requireToAbsoluteIndex();
11416
+ var lengthOfArrayLike = /*@__PURE__*/ requireLengthOfArrayLike();
11417
+ var toIndexedObject = /*@__PURE__*/ requireToIndexedObject();
11418
+ var createProperty = /*@__PURE__*/ requireCreateProperty();
11419
+ var setArrayLength = /*@__PURE__*/ requireArraySetLength();
11420
+ var wellKnownSymbol = /*@__PURE__*/ requireWellKnownSymbol();
11421
+ var arrayMethodHasSpeciesSupport = /*@__PURE__*/ requireArrayMethodHasSpeciesSupport();
11422
+ var nativeSlice = /*@__PURE__*/ requireArraySlice();
11423
+
11424
+ var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');
11425
+
11426
+ var SPECIES = wellKnownSymbol('species');
11427
+ var $Array = Array;
11428
+ var max = Math.max;
11429
+
11430
+ // `Array.prototype.slice` method
11431
+ // https://tc39.es/ecma262/#sec-array.prototype.slice
11432
+ // fallback for not array-like ES3 strings and DOM objects
11433
+ $({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {
11434
+ slice: function slice(start, end) {
11435
+ var O = toIndexedObject(this);
11436
+ var length = lengthOfArrayLike(O);
11437
+ var k = toAbsoluteIndex(start, length);
11438
+ var fin = toAbsoluteIndex(end === undefined ? length : end, length);
11439
+ // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible
11440
+ var Constructor, result, n;
11441
+ if (isArray(O)) {
11442
+ Constructor = O.constructor;
11443
+ // cross-realm fallback
11444
+ if (isConstructor(Constructor) && (Constructor === $Array || isArray(Constructor.prototype))) {
11445
+ Constructor = undefined;
11446
+ } else if (isObject(Constructor)) {
11447
+ Constructor = Constructor[SPECIES];
11448
+ if (Constructor === null) Constructor = undefined;
11449
+ }
11450
+ if (Constructor === $Array || Constructor === undefined) {
11451
+ return nativeSlice(O, k, fin);
11452
+ }
11453
+ }
11454
+ result = new (Constructor === undefined ? $Array : Constructor)(max(fin - k, 0));
11455
+ for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);
11456
+ setArrayLength(result, n);
11457
+ return result;
11458
+ }
11459
+ });
11460
+ return es_array_slice;
11461
+ }
11462
+
11463
+ var slice$5;
11464
+ var hasRequiredSlice$5;
11465
+
11466
+ function requireSlice$5 () {
11467
+ if (hasRequiredSlice$5) return slice$5;
11468
+ hasRequiredSlice$5 = 1;
11469
+ requireEs_array_slice();
11470
+ var getBuiltInPrototypeMethod = /*@__PURE__*/ requireGetBuiltInPrototypeMethod();
11471
+
11472
+ slice$5 = getBuiltInPrototypeMethod('Array', 'slice');
11473
+ return slice$5;
11474
+ }
11475
+
11476
+ var slice$4;
11477
+ var hasRequiredSlice$4;
11478
+
11479
+ function requireSlice$4 () {
11480
+ if (hasRequiredSlice$4) return slice$4;
11481
+ hasRequiredSlice$4 = 1;
11482
+ var isPrototypeOf = /*@__PURE__*/ requireObjectIsPrototypeOf();
11483
+ var method = /*@__PURE__*/ requireSlice$5();
11484
+
11485
+ var ArrayPrototype = Array.prototype;
11486
+
11487
+ slice$4 = function (it) {
11488
+ var own = it.slice;
11489
+ return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.slice) ? method : own;
11490
+ };
11491
+ return slice$4;
11492
+ }
11493
+
11494
+ var slice$3;
11495
+ var hasRequiredSlice$3;
11496
+
11497
+ function requireSlice$3 () {
11498
+ if (hasRequiredSlice$3) return slice$3;
11499
+ hasRequiredSlice$3 = 1;
11500
+ var parent = /*@__PURE__*/ requireSlice$4();
11501
+
11502
+ slice$3 = parent;
11503
+ return slice$3;
11504
+ }
11505
+
11506
+ var slice$2;
11507
+ var hasRequiredSlice$2;
11508
+
11509
+ function requireSlice$2 () {
11510
+ if (hasRequiredSlice$2) return slice$2;
11511
+ hasRequiredSlice$2 = 1;
11512
+ var parent = /*@__PURE__*/ requireSlice$3();
11513
+
11514
+ slice$2 = parent;
11515
+ return slice$2;
11516
+ }
11517
+
11518
+ var slice$1;
11519
+ var hasRequiredSlice$1;
11520
+
11521
+ function requireSlice$1 () {
11522
+ if (hasRequiredSlice$1) return slice$1;
11523
+ hasRequiredSlice$1 = 1;
11524
+ var parent = /*@__PURE__*/ requireSlice$2();
11525
+
11526
+ slice$1 = parent;
11527
+ return slice$1;
11528
+ }
11529
+
11530
+ var slice;
11531
+ var hasRequiredSlice;
11532
+
11533
+ function requireSlice () {
11534
+ if (hasRequiredSlice) return slice;
11535
+ hasRequiredSlice = 1;
11536
+ slice = /*@__PURE__*/ requireSlice$1();
11537
+ return slice;
11538
+ }
11539
+
11540
+ var sliceExports = /*@__PURE__*/ requireSlice();
11541
+ var _sliceInstanceProperty = /*@__PURE__*/getDefaultExportFromCjs(sliceExports);
11542
+
11543
+ var es_array_from = {};
11544
+
11545
+ var callWithSafeIterationClosing;
11546
+ var hasRequiredCallWithSafeIterationClosing;
11547
+
11548
+ function requireCallWithSafeIterationClosing () {
11549
+ if (hasRequiredCallWithSafeIterationClosing) return callWithSafeIterationClosing;
11550
+ hasRequiredCallWithSafeIterationClosing = 1;
11551
+ var anObject = /*@__PURE__*/ requireAnObject();
11552
+ var iteratorClose = /*@__PURE__*/ requireIteratorClose();
11553
+
11554
+ // call something on iterator step with safe closing on error
11555
+ callWithSafeIterationClosing = function (iterator, fn, value, ENTRIES) {
11556
+ try {
11557
+ return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);
11558
+ } catch (error) {
11559
+ iteratorClose(iterator, 'throw', error);
11560
+ }
11561
+ };
11562
+ return callWithSafeIterationClosing;
11563
+ }
11564
+
11565
+ var arrayFrom;
11566
+ var hasRequiredArrayFrom;
11567
+
11568
+ function requireArrayFrom () {
11569
+ if (hasRequiredArrayFrom) return arrayFrom;
11570
+ hasRequiredArrayFrom = 1;
11571
+ var bind = /*@__PURE__*/ requireFunctionBindContext();
11572
+ var call = /*@__PURE__*/ requireFunctionCall();
11573
+ var toObject = /*@__PURE__*/ requireToObject();
11574
+ var callWithSafeIterationClosing = /*@__PURE__*/ requireCallWithSafeIterationClosing();
11575
+ var isArrayIteratorMethod = /*@__PURE__*/ requireIsArrayIteratorMethod();
11576
+ var isConstructor = /*@__PURE__*/ requireIsConstructor();
11577
+ var lengthOfArrayLike = /*@__PURE__*/ requireLengthOfArrayLike();
11578
+ var createProperty = /*@__PURE__*/ requireCreateProperty();
11579
+ var setArrayLength = /*@__PURE__*/ requireArraySetLength();
11580
+ var getIterator = /*@__PURE__*/ requireGetIterator$6();
11581
+ var getIteratorMethod = /*@__PURE__*/ requireGetIteratorMethod$5();
11582
+ var iteratorClose = /*@__PURE__*/ requireIteratorClose();
11583
+
11584
+ var $Array = Array;
11585
+
11586
+ // `Array.from` method implementation
11587
+ // https://tc39.es/ecma262/#sec-array.from
11588
+ arrayFrom = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {
11589
+ var IS_CONSTRUCTOR = isConstructor(this);
11590
+ var argumentsLength = arguments.length;
11591
+ var mapfn = argumentsLength > 1 ? arguments[1] : undefined;
11592
+ var mapping = mapfn !== undefined;
11593
+ if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined);
11594
+ var O = toObject(arrayLike);
11595
+ var iteratorMethod = getIteratorMethod(O);
11596
+ var index = 0;
11597
+ var length, result, step, iterator, next, value;
11598
+ // if the target is not iterable or it's an array with the default iterator - use a simple case
11599
+ if (iteratorMethod && !(this === $Array && isArrayIteratorMethod(iteratorMethod))) {
11600
+ result = IS_CONSTRUCTOR ? new this() : [];
11601
+ iterator = getIterator(O, iteratorMethod);
11602
+ next = iterator.next;
11603
+ for (;!(step = call(next, iterator)).done; index++) {
11604
+ value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;
11605
+ try {
11606
+ createProperty(result, index, value);
11607
+ } catch (error) {
11608
+ iteratorClose(iterator, 'throw', error);
11609
+ }
11610
+ }
11611
+ } else {
11612
+ length = lengthOfArrayLike(O);
11613
+ result = IS_CONSTRUCTOR ? new this(length) : $Array(length);
11614
+ for (;length > index; index++) {
11615
+ value = mapping ? mapfn(O[index], index) : O[index];
11616
+ createProperty(result, index, value);
11617
+ }
11618
+ }
11619
+ setArrayLength(result, index);
11620
+ return result;
11621
+ };
11622
+ return arrayFrom;
11623
+ }
11624
+
11625
+ var checkCorrectnessOfIteration;
11626
+ var hasRequiredCheckCorrectnessOfIteration;
11627
+
11628
+ function requireCheckCorrectnessOfIteration () {
11629
+ if (hasRequiredCheckCorrectnessOfIteration) return checkCorrectnessOfIteration;
11630
+ hasRequiredCheckCorrectnessOfIteration = 1;
11631
+ var wellKnownSymbol = /*@__PURE__*/ requireWellKnownSymbol();
11632
+
11633
+ var ITERATOR = wellKnownSymbol('iterator');
11634
+ var SAFE_CLOSING = false;
11635
+
11636
+ try {
11637
+ var called = 0;
11638
+ var iteratorWithReturn = {
11639
+ next: function () {
11640
+ return { done: !!called++ };
11641
+ },
11642
+ 'return': function () {
11643
+ SAFE_CLOSING = true;
11644
+ }
11645
+ };
11646
+ // eslint-disable-next-line unicorn/no-immediate-mutation -- ES3 syntax limitation
11647
+ iteratorWithReturn[ITERATOR] = function () {
11648
+ return this;
11649
+ };
11650
+ // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing
11651
+ Array.from(iteratorWithReturn, function () { throw 2; });
11652
+ } catch (error) { /* empty */ }
11653
+
11654
+ checkCorrectnessOfIteration = function (exec, SKIP_CLOSING) {
11655
+ try {
11656
+ if (!SKIP_CLOSING && !SAFE_CLOSING) return false;
11657
+ } catch (error) { return false; } // workaround of old WebKit + `eval` bug
11658
+ var ITERATION_SUPPORT = false;
11659
+ try {
11660
+ var object = {};
11661
+ // eslint-disable-next-line unicorn/no-immediate-mutation -- ES3 syntax limitation
11662
+ object[ITERATOR] = function () {
11663
+ return {
11664
+ next: function () {
11665
+ return { done: ITERATION_SUPPORT = true };
11666
+ }
11667
+ };
11668
+ };
11669
+ exec(object);
11670
+ } catch (error) { /* empty */ }
11671
+ return ITERATION_SUPPORT;
11672
+ };
11673
+ return checkCorrectnessOfIteration;
11674
+ }
11675
+
11676
+ var hasRequiredEs_array_from;
11677
+
11678
+ function requireEs_array_from () {
11679
+ if (hasRequiredEs_array_from) return es_array_from;
11680
+ hasRequiredEs_array_from = 1;
11681
+ var $ = /*@__PURE__*/ require_export();
11682
+ var from = /*@__PURE__*/ requireArrayFrom();
11683
+ var checkCorrectnessOfIteration = /*@__PURE__*/ requireCheckCorrectnessOfIteration();
11684
+
11685
+ var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {
11686
+ // eslint-disable-next-line es/no-array-from -- required for testing
11687
+ Array.from(iterable);
11688
+ });
11689
+
11690
+ // `Array.from` method
11691
+ // https://tc39.es/ecma262/#sec-array.from
11692
+ $({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {
11693
+ from: from
11694
+ });
11695
+ return es_array_from;
11696
+ }
11697
+
11698
+ var from$4;
11699
+ var hasRequiredFrom$4;
11700
+
11701
+ function requireFrom$4 () {
11702
+ if (hasRequiredFrom$4) return from$4;
11703
+ hasRequiredFrom$4 = 1;
11704
+ requireEs_string_iterator();
11705
+ requireEs_array_from();
11706
+ var path = /*@__PURE__*/ requirePath();
11707
+
11708
+ from$4 = path.Array.from;
11709
+ return from$4;
11710
+ }
11711
+
11712
+ var from$3;
11713
+ var hasRequiredFrom$3;
11714
+
11715
+ function requireFrom$3 () {
11716
+ if (hasRequiredFrom$3) return from$3;
11717
+ hasRequiredFrom$3 = 1;
11718
+ var parent = /*@__PURE__*/ requireFrom$4();
11719
+
11720
+ from$3 = parent;
11721
+ return from$3;
11722
+ }
11723
+
11724
+ var from$2;
11725
+ var hasRequiredFrom$2;
11726
+
11727
+ function requireFrom$2 () {
11728
+ if (hasRequiredFrom$2) return from$2;
11729
+ hasRequiredFrom$2 = 1;
11730
+ var parent = /*@__PURE__*/ requireFrom$3();
11731
+
11732
+ from$2 = parent;
11733
+ return from$2;
11734
+ }
11735
+
11736
+ var from$1;
11737
+ var hasRequiredFrom$1;
11738
+
11739
+ function requireFrom$1 () {
11740
+ if (hasRequiredFrom$1) return from$1;
11741
+ hasRequiredFrom$1 = 1;
11742
+ var parent = /*@__PURE__*/ requireFrom$2();
11743
+
11744
+ from$1 = parent;
11745
+ return from$1;
11746
+ }
11747
+
11748
+ var from;
11749
+ var hasRequiredFrom;
11750
+
11751
+ function requireFrom () {
11752
+ if (hasRequiredFrom) return from;
11753
+ hasRequiredFrom = 1;
11754
+ from = /*@__PURE__*/ requireFrom$1();
11755
+ return from;
11756
+ }
11757
+
11758
+ var fromExports = /*@__PURE__*/ requireFrom();
11759
+ var _Array$from = /*@__PURE__*/getDefaultExportFromCjs(fromExports);
11760
+
11761
+ function _arrayLikeToArray(r, a) {
11762
+ (null == a || a > r.length) && (a = r.length);
11763
+ for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
11764
+ return n;
11765
+ }
11766
+
11767
+ function _unsupportedIterableToArray(r, a) {
11768
+ if (r) {
11769
+ var _context;
11770
+ if ("string" == typeof r) return _arrayLikeToArray(r, a);
11771
+ var t = _sliceInstanceProperty(_context = {}.toString.call(r)).call(_context, 8, -1);
11772
+ 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;
11773
+ }
11774
+ }
11775
+
11776
+ function _nonIterableRest() {
11777
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
11778
+ }
11779
+
11780
+ function _slicedToArray(r, e) {
11781
+ return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();
11782
+ }
11783
+
11784
+ var es_object_create = {};
11376
11785
 
11377
11786
  var hasRequiredEs_object_create;
11378
11787
 
@@ -11663,7 +12072,7 @@ function requireSetDifference () {
11663
12072
  var O = aSet(this);
11664
12073
  var otherRec = getSetRecord(other);
11665
12074
  var result = clone(O);
11666
- if (size(O) <= otherRec.size) iterateSet(O, function (e) {
12075
+ if (size(result) <= otherRec.size) iterateSet(result, function (e) {
11667
12076
  if (otherRec.includes(e)) remove(result, e);
11668
12077
  });
11669
12078
  else iterateSimple(otherRec.getIterator(), function (e) {
@@ -11822,7 +12231,7 @@ function requireSetIsDisjointFrom () {
11822
12231
  }, true) !== false;
11823
12232
  var iterator = otherRec.getIterator();
11824
12233
  return iterateSimple(iterator, function (e) {
11825
- if (has(O, e)) return iteratorClose(iterator, 'normal', false);
12234
+ if (has(O, e)) return iteratorClose(iterator.iterator, 'normal', false);
11826
12235
  }) !== false;
11827
12236
  };
11828
12237
  return setIsDisjointFrom;
@@ -11919,7 +12328,7 @@ function requireSetIsSupersetOf () {
11919
12328
  if (size(O) < otherRec.size) return false;
11920
12329
  var iterator = otherRec.getIterator();
11921
12330
  return iterateSimple(iterator, function (e) {
11922
- if (!has(O, e)) return iteratorClose(iterator, 'normal', false);
12331
+ if (!has(O, e)) return iteratorClose(iterator.iterator, 'normal', false);
11923
12332
  }) !== false;
11924
12333
  };
11925
12334
  return setIsSupersetOf;
@@ -12227,7 +12636,10 @@ class DataStream {
12227
12636
  * Return an iterable of key, value pairs for every entry in the stream.
12228
12637
  */
12229
12638
  *[_Symbol$iterator]() {
12230
- for (const [id, item] of this._pairs) {
12639
+ for (const _ref of this._pairs) {
12640
+ var _ref2 = _slicedToArray(_ref, 2);
12641
+ const id = _ref2[0];
12642
+ const item = _ref2[1];
12231
12643
  yield [id, item];
12232
12644
  }
12233
12645
  }
@@ -12235,7 +12647,10 @@ class DataStream {
12235
12647
  * Return an iterable of key, value pairs for every entry in the stream.
12236
12648
  */
12237
12649
  *entries() {
12238
- for (const [id, item] of this._pairs) {
12650
+ for (const _ref3 of this._pairs) {
12651
+ var _ref4 = _slicedToArray(_ref3, 2);
12652
+ const id = _ref4[0];
12653
+ const item = _ref4[1];
12239
12654
  yield [id, item];
12240
12655
  }
12241
12656
  }
@@ -12243,7 +12658,9 @@ class DataStream {
12243
12658
  * Return an iterable of keys in the stream.
12244
12659
  */
12245
12660
  *keys() {
12246
- for (const [id] of this._pairs) {
12661
+ for (const _ref5 of this._pairs) {
12662
+ var _ref6 = _slicedToArray(_ref5, 1);
12663
+ const id = _ref6[0];
12247
12664
  yield id;
12248
12665
  }
12249
12666
  }
@@ -12251,7 +12668,9 @@ class DataStream {
12251
12668
  * Return an iterable of values in the stream.
12252
12669
  */
12253
12670
  *values() {
12254
- for (const [, item] of this._pairs) {
12671
+ for (const _ref7 of this._pairs) {
12672
+ var _ref8 = _slicedToArray(_ref7, 2);
12673
+ const item = _ref8[1];
12255
12674
  yield item;
12256
12675
  }
12257
12676
  }
@@ -12292,7 +12711,10 @@ class DataStream {
12292
12711
  */
12293
12712
  toObjectMap() {
12294
12713
  const map = _Object$create(null);
12295
- for (const [id, item] of this._pairs) {
12714
+ for (const _ref9 of this._pairs) {
12715
+ var _ref0 = _slicedToArray(_ref9, 2);
12716
+ const id = _ref0[0];
12717
+ const item = _ref0[1];
12296
12718
  map[id] = item;
12297
12719
  }
12298
12720
  return map;
@@ -12319,158 +12741,604 @@ class DataStream {
12319
12741
  return new _Set(this.toItemArray());
12320
12742
  }
12321
12743
  /**
12322
- * Cache the items from this stream.
12323
- * @remarks
12324
- * This method allows for items to be fetched immediatelly and used (possibly multiple times) later.
12325
- * It can also be used to optimize performance as {@link DataStream} would otherwise reevaluate everything upon each iteration.
12326
- *
12327
- * ## Example
12328
- * ```javascript
12329
- * const ds = new DataSet([…])
12330
- *
12331
- * const cachedStream = ds.stream()
12332
- * .filter(…)
12333
- * .sort(…)
12334
- * .map(…)
12335
- * .cached(…) // Data are fetched, processed and cached here.
12336
- *
12337
- * ds.clear()
12338
- * chachedStream // Still has all the items.
12339
- * ```
12340
- * @returns A new {@link DataStream} with cached items (detached from the original {@link DataSet}).
12744
+ * Cache the items from this stream.
12745
+ * @remarks
12746
+ * This method allows for items to be fetched immediatelly and used (possibly multiple times) later.
12747
+ * It can also be used to optimize performance as {@link DataStream} would otherwise reevaluate everything upon each iteration.
12748
+ *
12749
+ * ## Example
12750
+ * ```javascript
12751
+ * const ds = new DataSet([…])
12752
+ *
12753
+ * const cachedStream = ds.stream()
12754
+ * .filter(…)
12755
+ * .sort(…)
12756
+ * .map(…)
12757
+ * .cached(…) // Data are fetched, processed and cached here.
12758
+ *
12759
+ * ds.clear()
12760
+ * chachedStream // Still has all the items.
12761
+ * ```
12762
+ * @returns A new {@link DataStream} with cached items (detached from the original {@link DataSet}).
12763
+ */
12764
+ cache() {
12765
+ return new DataStream([...this._pairs]);
12766
+ }
12767
+ /**
12768
+ * Get the distinct values of given property.
12769
+ * @param callback - The function that picks and possibly converts the property.
12770
+ * @typeParam T - The type of the distinct value.
12771
+ * @returns A set of all distinct properties.
12772
+ */
12773
+ distinct(callback) {
12774
+ const set = new _Set();
12775
+ for (const _ref1 of this._pairs) {
12776
+ var _ref10 = _slicedToArray(_ref1, 2);
12777
+ const id = _ref10[0];
12778
+ const item = _ref10[1];
12779
+ set.add(callback(item, id));
12780
+ }
12781
+ return set;
12782
+ }
12783
+ /**
12784
+ * Filter the items of the stream.
12785
+ * @param callback - The function that decides whether an item will be included.
12786
+ * @returns A new data stream with the filtered items.
12787
+ */
12788
+ filter(callback) {
12789
+ const pairs = this._pairs;
12790
+ return new DataStream({
12791
+ *[_Symbol$iterator]() {
12792
+ for (const _ref11 of pairs) {
12793
+ var _ref12 = _slicedToArray(_ref11, 2);
12794
+ const id = _ref12[0];
12795
+ const item = _ref12[1];
12796
+ if (callback(item, id)) {
12797
+ yield [id, item];
12798
+ }
12799
+ }
12800
+ }
12801
+ });
12802
+ }
12803
+ /**
12804
+ * Execute a callback for each item of the stream.
12805
+ * @param callback - The function that will be invoked for each item.
12806
+ */
12807
+ forEach(callback) {
12808
+ for (const _ref13 of this._pairs) {
12809
+ var _ref14 = _slicedToArray(_ref13, 2);
12810
+ const id = _ref14[0];
12811
+ const item = _ref14[1];
12812
+ callback(item, id);
12813
+ }
12814
+ }
12815
+ /**
12816
+ * Map the items into a different type.
12817
+ * @param callback - The function that does the conversion.
12818
+ * @typeParam Mapped - The type of the item after mapping.
12819
+ * @returns A new data stream with the mapped items.
12820
+ */
12821
+ map(callback) {
12822
+ const pairs = this._pairs;
12823
+ return new DataStream({
12824
+ *[_Symbol$iterator]() {
12825
+ for (const _ref15 of pairs) {
12826
+ var _ref16 = _slicedToArray(_ref15, 2);
12827
+ const id = _ref16[0];
12828
+ const item = _ref16[1];
12829
+ yield [id, callback(item, id)];
12830
+ }
12831
+ }
12832
+ });
12833
+ }
12834
+ /**
12835
+ * Get the item with the maximum value of given property.
12836
+ * @param callback - The function that picks and possibly converts the property.
12837
+ * @returns The item with the maximum if found otherwise null.
12838
+ */
12839
+ max(callback) {
12840
+ const iter = _getIterator(this._pairs);
12841
+ let curr = iter.next();
12842
+ if (curr.done) {
12843
+ return null;
12844
+ }
12845
+ let maxItem = curr.value[1];
12846
+ let maxValue = callback(curr.value[1], curr.value[0]);
12847
+ while (!(curr = iter.next()).done) {
12848
+ const _curr$value = _slicedToArray(curr.value, 2),
12849
+ id = _curr$value[0],
12850
+ item = _curr$value[1];
12851
+ const value = callback(item, id);
12852
+ if (value > maxValue) {
12853
+ maxValue = value;
12854
+ maxItem = item;
12855
+ }
12856
+ }
12857
+ return maxItem;
12858
+ }
12859
+ /**
12860
+ * Get the item with the minimum value of given property.
12861
+ * @param callback - The function that picks and possibly converts the property.
12862
+ * @returns The item with the minimum if found otherwise null.
12863
+ */
12864
+ min(callback) {
12865
+ const iter = _getIterator(this._pairs);
12866
+ let curr = iter.next();
12867
+ if (curr.done) {
12868
+ return null;
12869
+ }
12870
+ let minItem = curr.value[1];
12871
+ let minValue = callback(curr.value[1], curr.value[0]);
12872
+ while (!(curr = iter.next()).done) {
12873
+ const _curr$value2 = _slicedToArray(curr.value, 2),
12874
+ id = _curr$value2[0],
12875
+ item = _curr$value2[1];
12876
+ const value = callback(item, id);
12877
+ if (value < minValue) {
12878
+ minValue = value;
12879
+ minItem = item;
12880
+ }
12881
+ }
12882
+ return minItem;
12883
+ }
12884
+ /**
12885
+ * Reduce the items into a single value.
12886
+ * @param callback - The function that does the reduction.
12887
+ * @param accumulator - The initial value of the accumulator.
12888
+ * @typeParam T - The type of the accumulated value.
12889
+ * @returns The reduced value.
12890
+ */
12891
+ reduce(callback, accumulator) {
12892
+ for (const _ref17 of this._pairs) {
12893
+ var _ref18 = _slicedToArray(_ref17, 2);
12894
+ const id = _ref18[0];
12895
+ const item = _ref18[1];
12896
+ accumulator = callback(accumulator, item, id);
12897
+ }
12898
+ return accumulator;
12899
+ }
12900
+ /**
12901
+ * Sort the items.
12902
+ * @param callback - Item comparator.
12903
+ * @returns A new stream with sorted items.
12904
+ */
12905
+ sort(callback) {
12906
+ return new DataStream({
12907
+ [_Symbol$iterator]: () => _getIterator([...this._pairs].toSorted((_ref19, _ref20) => {
12908
+ let _ref21 = _slicedToArray(_ref19, 2),
12909
+ idA = _ref21[0],
12910
+ itemA = _ref21[1];
12911
+ let _ref22 = _slicedToArray(_ref20, 2),
12912
+ idB = _ref22[0],
12913
+ itemB = _ref22[1];
12914
+ return callback(itemA, itemB, idA, idB);
12915
+ }))
12916
+ });
12917
+ }
12918
+ }
12919
+
12920
+ var web_timers = {};
12921
+
12922
+ var web_setInterval = {};
12923
+
12924
+ var validateArgumentsLength;
12925
+ var hasRequiredValidateArgumentsLength;
12926
+
12927
+ function requireValidateArgumentsLength () {
12928
+ if (hasRequiredValidateArgumentsLength) return validateArgumentsLength;
12929
+ hasRequiredValidateArgumentsLength = 1;
12930
+ var $TypeError = TypeError;
12931
+
12932
+ validateArgumentsLength = function (passed, required) {
12933
+ if (passed < required) throw new $TypeError('Not enough arguments');
12934
+ return passed;
12935
+ };
12936
+ return validateArgumentsLength;
12937
+ }
12938
+
12939
+ var schedulersFix;
12940
+ var hasRequiredSchedulersFix;
12941
+
12942
+ function requireSchedulersFix () {
12943
+ if (hasRequiredSchedulersFix) return schedulersFix;
12944
+ hasRequiredSchedulersFix = 1;
12945
+ var globalThis = /*@__PURE__*/ requireGlobalThis();
12946
+ var apply = /*@__PURE__*/ requireFunctionApply();
12947
+ var isCallable = /*@__PURE__*/ requireIsCallable();
12948
+ var ENVIRONMENT = /*@__PURE__*/ requireEnvironment();
12949
+ var USER_AGENT = /*@__PURE__*/ requireEnvironmentUserAgent();
12950
+ var arraySlice = /*@__PURE__*/ requireArraySlice();
12951
+ var validateArgumentsLength = /*@__PURE__*/ requireValidateArgumentsLength();
12952
+
12953
+ var Function = globalThis.Function;
12954
+ // dirty IE9- and Bun 0.3.0- checks
12955
+ var WRAP = /MSIE .\./.test(USER_AGENT) || ENVIRONMENT === 'BUN' && (function () {
12956
+ var version = globalThis.Bun.version.split('.');
12957
+ return version.length < 3 || version[0] === '0' && (version[1] < 3 || version[1] === '3' && version[2] === '0');
12958
+ })();
12959
+
12960
+ // IE9- / Bun 0.3.0- setTimeout / setInterval / setImmediate additional parameters fix
12961
+ // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timers
12962
+ // https://github.com/oven-sh/bun/issues/1633
12963
+ schedulersFix = function (scheduler, hasTimeArg) {
12964
+ var firstParamIndex = hasTimeArg ? 2 : 1;
12965
+ return WRAP ? function (handler, timeout /* , ...arguments */) {
12966
+ var boundArgs = validateArgumentsLength(arguments.length, 1) > firstParamIndex;
12967
+ var fn = isCallable(handler) ? handler : Function(handler);
12968
+ var params = boundArgs ? arraySlice(arguments, firstParamIndex) : [];
12969
+ var callback = boundArgs ? function () {
12970
+ apply(fn, this, params);
12971
+ } : fn;
12972
+ return hasTimeArg ? scheduler(callback, timeout) : scheduler(callback);
12973
+ } : scheduler;
12974
+ };
12975
+ return schedulersFix;
12976
+ }
12977
+
12978
+ var hasRequiredWeb_setInterval;
12979
+
12980
+ function requireWeb_setInterval () {
12981
+ if (hasRequiredWeb_setInterval) return web_setInterval;
12982
+ hasRequiredWeb_setInterval = 1;
12983
+ var $ = /*@__PURE__*/ require_export();
12984
+ var globalThis = /*@__PURE__*/ requireGlobalThis();
12985
+ var schedulersFix = /*@__PURE__*/ requireSchedulersFix();
12986
+
12987
+ var setInterval = schedulersFix(globalThis.setInterval, true);
12988
+
12989
+ // Bun / IE9- setInterval additional parameters fix
12990
+ // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-setinterval
12991
+ $({ global: true, bind: true, forced: globalThis.setInterval !== setInterval }, {
12992
+ setInterval: setInterval
12993
+ });
12994
+ return web_setInterval;
12995
+ }
12996
+
12997
+ var web_setTimeout = {};
12998
+
12999
+ var hasRequiredWeb_setTimeout;
13000
+
13001
+ function requireWeb_setTimeout () {
13002
+ if (hasRequiredWeb_setTimeout) return web_setTimeout;
13003
+ hasRequiredWeb_setTimeout = 1;
13004
+ var $ = /*@__PURE__*/ require_export();
13005
+ var globalThis = /*@__PURE__*/ requireGlobalThis();
13006
+ var schedulersFix = /*@__PURE__*/ requireSchedulersFix();
13007
+
13008
+ var setTimeout = schedulersFix(globalThis.setTimeout, true);
13009
+
13010
+ // Bun / IE9- setTimeout additional parameters fix
13011
+ // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-settimeout
13012
+ $({ global: true, bind: true, forced: globalThis.setTimeout !== setTimeout }, {
13013
+ setTimeout: setTimeout
13014
+ });
13015
+ return web_setTimeout;
13016
+ }
13017
+
13018
+ var hasRequiredWeb_timers;
13019
+
13020
+ function requireWeb_timers () {
13021
+ if (hasRequiredWeb_timers) return web_timers;
13022
+ hasRequiredWeb_timers = 1;
13023
+ // TODO: Remove this module from `core-js@4` since it's split to modules listed below
13024
+ requireWeb_setInterval();
13025
+ requireWeb_setTimeout();
13026
+ return web_timers;
13027
+ }
13028
+
13029
+ var setTimeout$2;
13030
+ var hasRequiredSetTimeout$1;
13031
+
13032
+ function requireSetTimeout$1 () {
13033
+ if (hasRequiredSetTimeout$1) return setTimeout$2;
13034
+ hasRequiredSetTimeout$1 = 1;
13035
+ requireWeb_timers();
13036
+ var path = /*@__PURE__*/ requirePath();
13037
+
13038
+ setTimeout$2 = path.setTimeout;
13039
+ return setTimeout$2;
13040
+ }
13041
+
13042
+ var setTimeout$1;
13043
+ var hasRequiredSetTimeout;
13044
+
13045
+ function requireSetTimeout () {
13046
+ if (hasRequiredSetTimeout) return setTimeout$1;
13047
+ hasRequiredSetTimeout = 1;
13048
+ setTimeout$1 = /*@__PURE__*/ requireSetTimeout$1();
13049
+ return setTimeout$1;
13050
+ }
13051
+
13052
+ var setTimeoutExports = requireSetTimeout();
13053
+ var _setTimeout = /*@__PURE__*/getDefaultExportFromCjs(setTimeoutExports);
13054
+
13055
+ var es_array_splice = {};
13056
+
13057
+ var hasRequiredEs_array_splice;
13058
+
13059
+ function requireEs_array_splice () {
13060
+ if (hasRequiredEs_array_splice) return es_array_splice;
13061
+ hasRequiredEs_array_splice = 1;
13062
+ var $ = /*@__PURE__*/ require_export();
13063
+ var toObject = /*@__PURE__*/ requireToObject();
13064
+ var toAbsoluteIndex = /*@__PURE__*/ requireToAbsoluteIndex();
13065
+ var toIntegerOrInfinity = /*@__PURE__*/ requireToIntegerOrInfinity();
13066
+ var lengthOfArrayLike = /*@__PURE__*/ requireLengthOfArrayLike();
13067
+ var setArrayLength = /*@__PURE__*/ requireArraySetLength();
13068
+ var doesNotExceedSafeInteger = /*@__PURE__*/ requireDoesNotExceedSafeInteger();
13069
+ var arraySpeciesCreate = /*@__PURE__*/ requireArraySpeciesCreate();
13070
+ var createProperty = /*@__PURE__*/ requireCreateProperty();
13071
+ var deletePropertyOrThrow = /*@__PURE__*/ requireDeletePropertyOrThrow();
13072
+ var arrayMethodHasSpeciesSupport = /*@__PURE__*/ requireArrayMethodHasSpeciesSupport();
13073
+
13074
+ var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice');
13075
+
13076
+ var max = Math.max;
13077
+ var min = Math.min;
13078
+
13079
+ // `Array.prototype.splice` method
13080
+ // https://tc39.es/ecma262/#sec-array.prototype.splice
13081
+ // with adding support of @@species
13082
+ $({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {
13083
+ splice: function splice(start, deleteCount /* , ...items */) {
13084
+ var O = toObject(this);
13085
+ var len = lengthOfArrayLike(O);
13086
+ var actualStart = toAbsoluteIndex(start, len);
13087
+ var argumentsLength = arguments.length;
13088
+ var insertCount, actualDeleteCount, A, k, from, to;
13089
+ if (argumentsLength === 0) {
13090
+ insertCount = actualDeleteCount = 0;
13091
+ } else if (argumentsLength === 1) {
13092
+ insertCount = 0;
13093
+ actualDeleteCount = len - actualStart;
13094
+ } else {
13095
+ insertCount = argumentsLength - 2;
13096
+ actualDeleteCount = min(max(toIntegerOrInfinity(deleteCount), 0), len - actualStart);
13097
+ }
13098
+ doesNotExceedSafeInteger(len + insertCount - actualDeleteCount);
13099
+ A = arraySpeciesCreate(O, actualDeleteCount);
13100
+ for (k = 0; k < actualDeleteCount; k++) {
13101
+ from = actualStart + k;
13102
+ if (from in O) createProperty(A, k, O[from]);
13103
+ }
13104
+ setArrayLength(A, actualDeleteCount);
13105
+ if (insertCount < actualDeleteCount) {
13106
+ for (k = actualStart; k < len - actualDeleteCount; k++) {
13107
+ from = k + actualDeleteCount;
13108
+ to = k + insertCount;
13109
+ if (from in O) O[to] = O[from];
13110
+ else deletePropertyOrThrow(O, to);
13111
+ }
13112
+ for (k = len; k > len - actualDeleteCount + insertCount; k--) deletePropertyOrThrow(O, k - 1);
13113
+ } else if (insertCount > actualDeleteCount) {
13114
+ for (k = len - actualDeleteCount; k > actualStart; k--) {
13115
+ from = k + actualDeleteCount - 1;
13116
+ to = k + insertCount - 1;
13117
+ if (from in O) O[to] = O[from];
13118
+ else deletePropertyOrThrow(O, to);
13119
+ }
13120
+ }
13121
+ for (k = 0; k < insertCount; k++) {
13122
+ O[k + actualStart] = arguments[k + 2];
13123
+ }
13124
+ setArrayLength(O, len - actualDeleteCount + insertCount);
13125
+ return A;
13126
+ }
13127
+ });
13128
+ return es_array_splice;
13129
+ }
13130
+
13131
+ var splice$3;
13132
+ var hasRequiredSplice$3;
13133
+
13134
+ function requireSplice$3 () {
13135
+ if (hasRequiredSplice$3) return splice$3;
13136
+ hasRequiredSplice$3 = 1;
13137
+ requireEs_array_splice();
13138
+ var getBuiltInPrototypeMethod = /*@__PURE__*/ requireGetBuiltInPrototypeMethod();
13139
+
13140
+ splice$3 = getBuiltInPrototypeMethod('Array', 'splice');
13141
+ return splice$3;
13142
+ }
13143
+
13144
+ var splice$2;
13145
+ var hasRequiredSplice$2;
13146
+
13147
+ function requireSplice$2 () {
13148
+ if (hasRequiredSplice$2) return splice$2;
13149
+ hasRequiredSplice$2 = 1;
13150
+ var isPrototypeOf = /*@__PURE__*/ requireObjectIsPrototypeOf();
13151
+ var method = /*@__PURE__*/ requireSplice$3();
13152
+
13153
+ var ArrayPrototype = Array.prototype;
13154
+
13155
+ splice$2 = function (it) {
13156
+ var own = it.splice;
13157
+ return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.splice) ? method : own;
13158
+ };
13159
+ return splice$2;
13160
+ }
13161
+
13162
+ var splice$1;
13163
+ var hasRequiredSplice$1;
13164
+
13165
+ function requireSplice$1 () {
13166
+ if (hasRequiredSplice$1) return splice$1;
13167
+ hasRequiredSplice$1 = 1;
13168
+ var parent = /*@__PURE__*/ requireSplice$2();
13169
+
13170
+ splice$1 = parent;
13171
+ return splice$1;
13172
+ }
13173
+
13174
+ var splice;
13175
+ var hasRequiredSplice;
13176
+
13177
+ function requireSplice () {
13178
+ if (hasRequiredSplice) return splice;
13179
+ hasRequiredSplice = 1;
13180
+ splice = /*@__PURE__*/ requireSplice$1();
13181
+ return splice;
13182
+ }
13183
+
13184
+ var spliceExports = requireSplice();
13185
+ var _spliceInstanceProperty = /*@__PURE__*/getDefaultExportFromCjs(spliceExports);
13186
+
13187
+ /**
13188
+ * A queue.
13189
+ * @typeParam T - The type of method names to be replaced by queued versions.
13190
+ */
13191
+ class Queue {
13192
+ /**
13193
+ * Construct a new Queue.
13194
+ * @param options - Queue configuration.
12341
13195
  */
12342
- cache() {
12343
- return new DataStream([...this._pairs]);
13196
+ constructor(options) {
13197
+ /** Delay in milliseconds. If defined the queue will be periodically flushed. */
13198
+ /** Maximum number of entries in the queue before it will be flushed. */
13199
+ _defineProperty(this, "_queue", []);
13200
+ _defineProperty(this, "_timeout", null);
13201
+ _defineProperty(this, "_extended", null);
13202
+ // options
13203
+ this.delay = null;
13204
+ this.max = Infinity;
13205
+ this.setOptions(options);
12344
13206
  }
12345
13207
  /**
12346
- * Get the distinct values of given property.
12347
- * @param callback - The function that picks and possibly converts the property.
12348
- * @typeParam T - The type of the distinct value.
12349
- * @returns A set of all distinct properties.
13208
+ * Update the configuration of the queue.
13209
+ * @param options - Queue configuration.
12350
13210
  */
12351
- distinct(callback) {
12352
- const set = new _Set();
12353
- for (const [id, item] of this._pairs) {
12354
- set.add(callback(item, id));
13211
+ setOptions(options) {
13212
+ if (options && typeof options.delay !== "undefined") {
13213
+ this.delay = options.delay;
12355
13214
  }
12356
- return set;
13215
+ if (options && typeof options.max !== "undefined") {
13216
+ this.max = options.max;
13217
+ }
13218
+ this._flushIfNeeded();
12357
13219
  }
12358
13220
  /**
12359
- * Filter the items of the stream.
12360
- * @param callback - The function that decides whether an item will be included.
12361
- * @returns A new data stream with the filtered items.
13221
+ * Extend an object with queuing functionality.
13222
+ * The object will be extended with a function flush, and the methods provided in options.replace will be replaced with queued ones.
13223
+ * @param object - The object to be extended.
13224
+ * @param options - Additional options.
13225
+ * @returns The created queue.
12362
13226
  */
12363
- filter(callback) {
12364
- const pairs = this._pairs;
12365
- return new DataStream({
12366
- *[_Symbol$iterator]() {
12367
- for (const [id, item] of pairs) {
12368
- if (callback(item, id)) {
12369
- yield [id, item];
12370
- }
12371
- }
13227
+ static extend(object, options) {
13228
+ const queue = new Queue(options);
13229
+ if (object.flush !== undefined) {
13230
+ throw new Error("Target object already has a property flush");
13231
+ }
13232
+ object.flush = () => {
13233
+ queue.flush();
13234
+ };
13235
+ const methods = [{
13236
+ name: "flush",
13237
+ original: undefined
13238
+ }];
13239
+ if (options && options.replace) {
13240
+ for (let i = 0; i < options.replace.length; i++) {
13241
+ const name = options.replace[i];
13242
+ methods.push({
13243
+ name: name,
13244
+ // @TODO: better solution?
13245
+ original: object[name]
13246
+ });
13247
+ // @TODO: better solution?
13248
+ queue.replace(object, name);
12372
13249
  }
12373
- });
12374
- }
12375
- /**
12376
- * Execute a callback for each item of the stream.
12377
- * @param callback - The function that will be invoked for each item.
12378
- */
12379
- forEach(callback) {
12380
- for (const [id, item] of this._pairs) {
12381
- callback(item, id);
12382
13250
  }
13251
+ queue._extended = {
13252
+ object: object,
13253
+ methods: methods
13254
+ };
13255
+ return queue;
12383
13256
  }
12384
13257
  /**
12385
- * Map the items into a different type.
12386
- * @param callback - The function that does the conversion.
12387
- * @typeParam Mapped - The type of the item after mapping.
12388
- * @returns A new data stream with the mapped items.
13258
+ * Destroy the queue. The queue will first flush all queued actions, and in case it has extended an object, will restore the original object.
12389
13259
  */
12390
- map(callback) {
12391
- const pairs = this._pairs;
12392
- return new DataStream({
12393
- *[_Symbol$iterator]() {
12394
- for (const [id, item] of pairs) {
12395
- yield [id, callback(item, id)];
13260
+ destroy() {
13261
+ this.flush();
13262
+ if (this._extended) {
13263
+ const object = this._extended.object;
13264
+ const methods = this._extended.methods;
13265
+ for (let i = 0; i < methods.length; i++) {
13266
+ const method = methods[i];
13267
+ if (method.original) {
13268
+ // @TODO: better solution?
13269
+ object[method.name] = method.original;
13270
+ } else {
13271
+ // @TODO: better solution?
13272
+ delete object[method.name];
12396
13273
  }
12397
13274
  }
12398
- });
13275
+ this._extended = null;
13276
+ }
12399
13277
  }
12400
13278
  /**
12401
- * Get the item with the maximum value of given property.
12402
- * @param callback - The function that picks and possibly converts the property.
12403
- * @returns The item with the maximum if found otherwise null.
13279
+ * Replace a method on an object with a queued version.
13280
+ * @param object - Object having the method.
13281
+ * @param method - The method name.
12404
13282
  */
12405
- max(callback) {
12406
- const iter = _getIterator(this._pairs);
12407
- let curr = iter.next();
12408
- if (curr.done) {
12409
- return null;
13283
+ replace(object, method) {
13284
+ /* eslint-disable-next-line @typescript-eslint/no-this-alias -- Function this is necessary in the function bellow, so class this has to be saved into a variable here. */
13285
+ const me = this;
13286
+ const original = object[method];
13287
+ if (!original) {
13288
+ throw new Error("Method " + method + " undefined");
12410
13289
  }
12411
- let maxItem = curr.value[1];
12412
- let maxValue = callback(curr.value[1], curr.value[0]);
12413
- while (!(curr = iter.next()).done) {
12414
- const [id, item] = curr.value;
12415
- const value = callback(item, id);
12416
- if (value > maxValue) {
12417
- maxValue = value;
12418
- maxItem = item;
13290
+ object[method] = function () {
13291
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
13292
+ args[_key] = arguments[_key];
12419
13293
  }
12420
- }
12421
- return maxItem;
13294
+ // add this call to the queue
13295
+ me.queue({
13296
+ args: args,
13297
+ fn: original,
13298
+ context: this
13299
+ });
13300
+ };
12422
13301
  }
12423
13302
  /**
12424
- * Get the item with the minimum value of given property.
12425
- * @param callback - The function that picks and possibly converts the property.
12426
- * @returns The item with the minimum if found otherwise null.
13303
+ * Queue a call.
13304
+ * @param entry - The function or entry to be queued.
12427
13305
  */
12428
- min(callback) {
12429
- const iter = _getIterator(this._pairs);
12430
- let curr = iter.next();
12431
- if (curr.done) {
12432
- return null;
12433
- }
12434
- let minItem = curr.value[1];
12435
- let minValue = callback(curr.value[1], curr.value[0]);
12436
- while (!(curr = iter.next()).done) {
12437
- const [id, item] = curr.value;
12438
- const value = callback(item, id);
12439
- if (value < minValue) {
12440
- minValue = value;
12441
- minItem = item;
12442
- }
13306
+ queue(entry) {
13307
+ if (typeof entry === "function") {
13308
+ this._queue.push({
13309
+ fn: entry
13310
+ });
13311
+ } else {
13312
+ this._queue.push(entry);
12443
13313
  }
12444
- return minItem;
13314
+ this._flushIfNeeded();
12445
13315
  }
12446
13316
  /**
12447
- * Reduce the items into a single value.
12448
- * @param callback - The function that does the reduction.
12449
- * @param accumulator - The initial value of the accumulator.
12450
- * @typeParam T - The type of the accumulated value.
12451
- * @returns The reduced value.
13317
+ * Check whether the queue needs to be flushed.
12452
13318
  */
12453
- reduce(callback, accumulator) {
12454
- for (const [id, item] of this._pairs) {
12455
- accumulator = callback(accumulator, item, id);
13319
+ _flushIfNeeded() {
13320
+ // flush when the maximum is exceeded.
13321
+ if (this._queue.length > this.max) {
13322
+ this.flush();
13323
+ }
13324
+ // flush after a period of inactivity when a delay is configured
13325
+ if (this._timeout != null) {
13326
+ clearTimeout(this._timeout);
13327
+ this._timeout = null;
13328
+ }
13329
+ if (this.queue.length > 0 && typeof this.delay === "number") {
13330
+ this._timeout = _setTimeout(() => {
13331
+ this.flush();
13332
+ }, this.delay);
12456
13333
  }
12457
- return accumulator;
12458
13334
  }
12459
13335
  /**
12460
- * Sort the items.
12461
- * @param callback - Item comparator.
12462
- * @returns A new stream with sorted items.
13336
+ * Flush all queued calls
12463
13337
  */
12464
- sort(callback) {
12465
- return new DataStream({
12466
- [_Symbol$iterator]: () => {
12467
- var _context3;
12468
- return _getIterator(_sortInstanceProperty(_context3 = [...this._pairs]).call(_context3, (_ref, _ref2) => {
12469
- let [idA, itemA] = _ref;
12470
- let [idB, itemB] = _ref2;
12471
- return callback(itemA, itemB, idA, idB);
12472
- }));
12473
- }
13338
+ flush() {
13339
+ var _context, _context2;
13340
+ _forEachInstanceProperty(_context = _spliceInstanceProperty(_context2 = this._queue).call(_context2, 0)).call(_context, entry => {
13341
+ entry.fn.apply(entry.context || entry.fn, entry.args || []);
12474
13342
  });
12475
13343
  }
12476
13344
  }
@@ -12570,7 +13438,7 @@ class DataSet extends DataSetPart {
12570
13438
  super();
12571
13439
  // correctly read optional arguments
12572
13440
  _defineProperty(this, "_queue", null);
12573
- if (data && !_Array$isArray(data)) {
13441
+ if (data && !_Array$isArray$1(data)) {
12574
13442
  options = data;
12575
13443
  data = [];
12576
13444
  }
@@ -12637,7 +13505,7 @@ class DataSet extends DataSetPart {
12637
13505
  add(data, senderId) {
12638
13506
  const addedIds = [];
12639
13507
  let id;
12640
- if (_Array$isArray(data)) {
13508
+ if (_Array$isArray$1(data)) {
12641
13509
  // Array
12642
13510
  const idsToAdd = _mapInstanceProperty(data).call(data, d => d[this._idProp]);
12643
13511
  if (_someInstanceProperty(idsToAdd).call(idsToAdd, id => this._data.has(id))) {
@@ -12716,7 +13584,7 @@ class DataSet extends DataSetPart {
12716
13584
  addedIds.push(id);
12717
13585
  }
12718
13586
  };
12719
- if (_Array$isArray(data)) {
13587
+ if (_Array$isArray$1(data)) {
12720
13588
  // Array
12721
13589
  for (let i = 0, len = data.length; i < len; i++) {
12722
13590
  if (data[i] && typeof data[i] === "object") {
@@ -12788,7 +13656,7 @@ class DataSet extends DataSetPart {
12788
13656
  */
12789
13657
  updateOnly(data, senderId) {
12790
13658
  var _context;
12791
- if (!_Array$isArray(data)) {
13659
+ if (!_Array$isArray$1(data)) {
12792
13660
  data = [data];
12793
13661
  }
12794
13662
  const updateEventData = _mapInstanceProperty(_context = _mapInstanceProperty(data).call(data, update => {
@@ -12801,10 +13669,8 @@ class DataSet extends DataSetPart {
12801
13669
  update
12802
13670
  };
12803
13671
  })).call(_context, _ref => {
12804
- let {
12805
- oldData,
12806
- update
12807
- } = _ref;
13672
+ let oldData = _ref.oldData,
13673
+ update = _ref.update;
12808
13674
  const id = oldData[this._idProp];
12809
13675
  const updatedData = pureDeepObjectAssign(oldData, update);
12810
13676
  this._data.set(id, updatedData);
@@ -12844,7 +13710,7 @@ class DataSet extends DataSetPart {
12844
13710
  // get(id [, options])
12845
13711
  id = first;
12846
13712
  options = second;
12847
- } else if (_Array$isArray(first)) {
13713
+ } else if (_Array$isArray$1(first)) {
12848
13714
  // get(ids [, options])
12849
13715
  ids = first;
12850
13716
  options = second;
@@ -13054,7 +13920,7 @@ class DataSet extends DataSetPart {
13054
13920
  // item is null
13055
13921
  return item;
13056
13922
  }
13057
- return _reduceInstanceProperty(_context3 = _Array$isArray(fields) ?
13923
+ return _reduceInstanceProperty(_context3 = _Array$isArray$1(fields) ?
13058
13924
  // Use the supplied array
13059
13925
  fields :
13060
13926
  // Use the keys of the supplied object
@@ -13117,7 +13983,7 @@ class DataSet extends DataSetPart {
13117
13983
  const removedIds = [];
13118
13984
  const removedItems = [];
13119
13985
  // force everything to be an array for simplicity
13120
- const ids = _Array$isArray(id) ? id : [id];
13986
+ const ids = _Array$isArray$1(id) ? id : [id];
13121
13987
  for (let i = 0, len = ids.length; i < len; i++) {
13122
13988
  const item = this._remove(ids[i]);
13123
13989
  if (item) {
@@ -13539,7 +14405,7 @@ class DataView extends DataSetPart {
13539
14405
  // parse the arguments
13540
14406
  let ids = null;
13541
14407
  let options;
13542
- if (isId(first) || _Array$isArray(first)) {
14408
+ if (isId(first) || _Array$isArray$1(first)) {
13543
14409
  ids = first;
13544
14410
  options = second;
13545
14411
  } else {