core-js 3.47.0 → 3.48.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/LICENSE +2 -1
  2. package/actual/map/get-or-insert-computed.js +2 -3
  3. package/actual/map/get-or-insert.js +2 -3
  4. package/actual/map/group-by.js +2 -0
  5. package/actual/weak-map/get-or-insert-computed.js +2 -3
  6. package/actual/weak-map/get-or-insert.js +2 -3
  7. package/es/index.js +4 -0
  8. package/es/map/get-or-insert-computed.js +6 -0
  9. package/es/map/get-or-insert.js +6 -0
  10. package/es/map/group-by.js +2 -0
  11. package/es/map/index.js +2 -0
  12. package/es/weak-map/get-or-insert-computed.js +6 -0
  13. package/es/weak-map/get-or-insert.js +6 -0
  14. package/es/weak-map/index.js +2 -0
  15. package/full/index.js +4 -0
  16. package/internals/array-from.js +2 -1
  17. package/internals/array-iteration.js +11 -13
  18. package/internals/array-unique-by.js +3 -3
  19. package/internals/async-iterator-iteration.js +5 -3
  20. package/internals/flatten-into-array.js +2 -1
  21. package/internals/native-raw-json.js +2 -2
  22. package/internals/shared-store.js +3 -3
  23. package/modules/es.array.concat.js +2 -1
  24. package/modules/es.array.flat-map.js +1 -1
  25. package/modules/es.array.flat.js +1 -1
  26. package/modules/es.array.of.js +2 -1
  27. package/modules/es.array.slice.js +2 -1
  28. package/modules/es.array.splice.js +1 -1
  29. package/modules/es.array.to-reversed.js +8 -2
  30. package/modules/es.array.to-spliced.js +4 -3
  31. package/modules/es.array.with.js +13 -2
  32. package/modules/es.iterator.flat-map.js +15 -1
  33. package/modules/es.iterator.to-array.js +5 -3
  34. package/modules/es.map.get-or-insert-computed.js +25 -0
  35. package/modules/es.map.get-or-insert.js +19 -0
  36. package/modules/es.regexp.constructor.js +2 -2
  37. package/modules/es.typed-array.map.js +3 -4
  38. package/modules/es.typed-array.to-reversed.js +7 -2
  39. package/modules/es.typed-array.with.js +11 -3
  40. package/modules/es.uint8-array.set-from-hex.js +14 -1
  41. package/modules/es.weak-map.get-or-insert-computed.js +36 -0
  42. package/modules/es.weak-map.get-or-insert.js +19 -0
  43. package/modules/esnext.map.get-or-insert-computed.js +2 -24
  44. package/modules/esnext.map.get-or-insert.js +2 -18
  45. package/modules/esnext.weak-map.get-or-insert-computed.js +2 -35
  46. package/modules/esnext.weak-map.get-or-insert.js +2 -18
  47. package/package.json +1 -1
  48. package/stable/index.js +4 -0
  49. package/stable/map/get-or-insert-computed.js +4 -0
  50. package/stable/map/get-or-insert.js +4 -0
  51. package/stable/weak-map/get-or-insert-computed.js +4 -0
  52. package/stable/weak-map/get-or-insert.js +4 -0
  53. package/stage/3.js +0 -1
  54. package/stage/4.js +1 -0
  55. package/internals/array-to-reversed.js +0 -12
  56. package/internals/array-with.js +0 -18
package/LICENSE CHANGED
@@ -1,4 +1,5 @@
1
- Copyright (c) 2014-2025 Denis Pushkarev, 2025 CoreJS Company
1
+ Copyright (c) 2013–2025 Denis Pushkarev (zloirock.ru)
2
+ Copyright (c) 2025–2026 CoreJS Company (core-js.io)
2
3
 
3
4
  Permission is hereby granted, free of charge, to any person obtaining a copy
4
5
  of this software and associated documentation files (the "Software"), to deal
@@ -1,6 +1,5 @@
1
1
  'use strict';
2
- require('../../modules/es.map');
2
+ var parent = require('../../stable/map/get-or-insert-computed');
3
3
  require('../../modules/esnext.map.get-or-insert-computed');
4
- var entryUnbind = require('../../internals/entry-unbind');
5
4
 
6
- module.exports = entryUnbind('Map', 'getOrInsertComputed');
5
+ module.exports = parent;
@@ -1,6 +1,5 @@
1
1
  'use strict';
2
- require('../../modules/es.map');
2
+ var parent = require('../../stable/map/get-or-insert');
3
3
  require('../../modules/esnext.map.get-or-insert');
4
- var entryUnbind = require('../../internals/entry-unbind');
5
4
 
6
- module.exports = entryUnbind('Map', 'getOrInsert');
5
+ module.exports = parent;
@@ -1,5 +1,7 @@
1
1
  'use strict';
2
2
  var parent = require('../../stable/map/group-by');
3
3
  require('../../modules/esnext.map.group-by');
4
+ require('../../modules/esnext.map.get-or-insert');
5
+ require('../../modules/esnext.map.get-or-insert-computed');
4
6
 
5
7
  module.exports = parent;
@@ -1,6 +1,5 @@
1
1
  'use strict';
2
- require('../../modules/es.weak-map');
2
+ var parent = require('../../stable/weak-map/get-or-insert-computed');
3
3
  require('../../modules/esnext.weak-map.get-or-insert-computed');
4
- var entryUnbind = require('../../internals/entry-unbind');
5
4
 
6
- module.exports = entryUnbind('WeakMap', 'getOrInsertComputed');
5
+ module.exports = parent;
@@ -1,6 +1,5 @@
1
1
  'use strict';
2
- require('../../modules/es.weak-map');
2
+ var parent = require('../../stable/weak-map/get-or-insert');
3
3
  require('../../modules/esnext.weak-map.get-or-insert');
4
- var entryUnbind = require('../../internals/entry-unbind');
5
4
 
6
- module.exports = entryUnbind('WeakMap', 'getOrInsert');
5
+ module.exports = parent;
package/es/index.js CHANGED
@@ -105,6 +105,8 @@ require('../modules/es.json.stringify');
105
105
  require('../modules/es.json.to-string-tag');
106
106
  require('../modules/es.map');
107
107
  require('../modules/es.map.group-by');
108
+ require('../modules/es.map.get-or-insert');
109
+ require('../modules/es.map.get-or-insert-computed');
108
110
  require('../modules/es.math.acosh');
109
111
  require('../modules/es.math.asinh');
110
112
  require('../modules/es.math.atanh');
@@ -291,6 +293,8 @@ require('../modules/es.uint8-array.to-base64');
291
293
  require('../modules/es.uint8-array.to-hex');
292
294
  require('../modules/es.unescape');
293
295
  require('../modules/es.weak-map');
296
+ require('../modules/es.weak-map.get-or-insert');
297
+ require('../modules/es.weak-map.get-or-insert-computed');
294
298
  require('../modules/es.weak-set');
295
299
 
296
300
  module.exports = require('../internals/path');
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+ require('../../modules/es.map');
3
+ require('../../modules/es.map.get-or-insert-computed');
4
+ var entryUnbind = require('../../internals/entry-unbind');
5
+
6
+ module.exports = entryUnbind('Map', 'getOrInsertComputed');
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+ require('../../modules/es.map');
3
+ require('../../modules/es.map.get-or-insert');
4
+ var entryUnbind = require('../../internals/entry-unbind');
5
+
6
+ module.exports = entryUnbind('Map', 'getOrInsert');
@@ -2,6 +2,8 @@
2
2
  require('../../modules/es.object.to-string');
3
3
  require('../../modules/es.map');
4
4
  require('../../modules/es.map.group-by');
5
+ require('../../modules/es.map.get-or-insert');
6
+ require('../../modules/es.map.get-or-insert-computed');
5
7
  var path = require('../../internals/path');
6
8
 
7
9
  module.exports = path.Map.groupBy;
package/es/map/index.js CHANGED
@@ -2,6 +2,8 @@
2
2
  require('../../modules/es.array.iterator');
3
3
  require('../../modules/es.map');
4
4
  require('../../modules/es.map.group-by');
5
+ require('../../modules/es.map.get-or-insert');
6
+ require('../../modules/es.map.get-or-insert-computed');
5
7
  require('../../modules/es.object.to-string');
6
8
  require('../../modules/es.string.iterator');
7
9
  var path = require('../../internals/path');
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+ require('../../modules/es.weak-map');
3
+ require('../../modules/es.weak-map.get-or-insert-computed');
4
+ var entryUnbind = require('../../internals/entry-unbind');
5
+
6
+ module.exports = entryUnbind('WeakMap', 'getOrInsertComputed');
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+ require('../../modules/es.weak-map');
3
+ require('../../modules/es.weak-map.get-or-insert');
4
+ var entryUnbind = require('../../internals/entry-unbind');
5
+
6
+ module.exports = entryUnbind('WeakMap', 'getOrInsert');
@@ -2,6 +2,8 @@
2
2
  require('../../modules/es.array.iterator');
3
3
  require('../../modules/es.object.to-string');
4
4
  require('../../modules/es.weak-map');
5
+ require('../../modules/es.weak-map.get-or-insert');
6
+ require('../../modules/es.weak-map.get-or-insert-computed');
5
7
  var path = require('../../internals/path');
6
8
 
7
9
  module.exports = path.WeakMap;
package/full/index.js CHANGED
@@ -105,6 +105,8 @@ require('../modules/es.json.stringify');
105
105
  require('../modules/es.json.to-string-tag');
106
106
  require('../modules/es.map');
107
107
  require('../modules/es.map.group-by');
108
+ require('../modules/es.map.get-or-insert');
109
+ require('../modules/es.map.get-or-insert-computed');
108
110
  require('../modules/es.math.acosh');
109
111
  require('../modules/es.math.asinh');
110
112
  require('../modules/es.math.atanh');
@@ -291,6 +293,8 @@ require('../modules/es.uint8-array.to-base64');
291
293
  require('../modules/es.uint8-array.to-hex');
292
294
  require('../modules/es.unescape');
293
295
  require('../modules/es.weak-map');
296
+ require('../modules/es.weak-map.get-or-insert');
297
+ require('../modules/es.weak-map.get-or-insert-computed');
294
298
  require('../modules/es.weak-set');
295
299
  require('../modules/esnext.aggregate-error');
296
300
  require('../modules/esnext.suppressed-error.constructor');
@@ -7,6 +7,7 @@ var isArrayIteratorMethod = require('../internals/is-array-iterator-method');
7
7
  var isConstructor = require('../internals/is-constructor');
8
8
  var lengthOfArrayLike = require('../internals/length-of-array-like');
9
9
  var createProperty = require('../internals/create-property');
10
+ var setArrayLength = require('../internals/array-set-length');
10
11
  var getIterator = require('../internals/get-iterator');
11
12
  var getIteratorMethod = require('../internals/get-iterator-method');
12
13
 
@@ -41,6 +42,6 @@ module.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undef
41
42
  createProperty(result, index, value);
42
43
  }
43
44
  }
44
- result.length = index;
45
+ setArrayLength(result, index);
45
46
  return result;
46
47
  };
@@ -1,12 +1,10 @@
1
1
  'use strict';
2
2
  var bind = require('../internals/function-bind-context');
3
- var uncurryThis = require('../internals/function-uncurry-this');
4
3
  var IndexedObject = require('../internals/indexed-object');
5
4
  var toObject = require('../internals/to-object');
6
5
  var lengthOfArrayLike = require('../internals/length-of-array-like');
7
6
  var arraySpeciesCreate = require('../internals/array-species-create');
8
-
9
- var push = uncurryThis([].push);
7
+ var createProperty = require('../internals/create-property');
10
8
 
11
9
  // `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation
12
10
  var createMethod = function (TYPE) {
@@ -17,28 +15,28 @@ var createMethod = function (TYPE) {
17
15
  var IS_FIND_INDEX = TYPE === 6;
18
16
  var IS_FILTER_REJECT = TYPE === 7;
19
17
  var NO_HOLES = TYPE === 5 || IS_FIND_INDEX;
20
- return function ($this, callbackfn, that, specificCreate) {
18
+ return function ($this, callbackfn, that) {
21
19
  var O = toObject($this);
22
20
  var self = IndexedObject(O);
23
21
  var length = lengthOfArrayLike(self);
24
22
  var boundFunction = bind(callbackfn, that);
25
23
  var index = 0;
26
- var create = specificCreate || arraySpeciesCreate;
27
- var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;
24
+ var resIndex = 0;
25
+ var target = IS_MAP ? arraySpeciesCreate($this, length) : IS_FILTER || IS_FILTER_REJECT ? arraySpeciesCreate($this, 0) : undefined;
28
26
  var value, result;
29
27
  for (;length > index; index++) if (NO_HOLES || index in self) {
30
28
  value = self[index];
31
29
  result = boundFunction(value, index, O);
32
30
  if (TYPE) {
33
- if (IS_MAP) target[index] = result; // map
31
+ if (IS_MAP) createProperty(target, index, result); // map
34
32
  else if (result) switch (TYPE) {
35
- case 3: return true; // some
36
- case 5: return value; // find
37
- case 6: return index; // findIndex
38
- case 2: push(target, value); // filter
33
+ case 3: return true; // some
34
+ case 5: return value; // find
35
+ case 6: return index; // findIndex
36
+ case 2: createProperty(target, resIndex++, value); // filter
39
37
  } else switch (TYPE) {
40
- case 4: return false; // every
41
- case 7: push(target, value); // filterReject
38
+ case 4: return false; // every
39
+ case 7: createProperty(target, resIndex++, value); // filterReject
42
40
  }
43
41
  }
44
42
  }
@@ -1,16 +1,15 @@
1
1
  'use strict';
2
- var uncurryThis = require('../internals/function-uncurry-this');
3
2
  var aCallable = require('../internals/a-callable');
4
3
  var isNullOrUndefined = require('../internals/is-null-or-undefined');
5
4
  var lengthOfArrayLike = require('../internals/length-of-array-like');
6
5
  var toObject = require('../internals/to-object');
6
+ var createProperty = require('../internals/create-property');
7
7
  var MapHelpers = require('../internals/map-helpers');
8
8
  var iterate = require('../internals/map-iterate');
9
9
 
10
10
  var Map = MapHelpers.Map;
11
11
  var mapHas = MapHelpers.has;
12
12
  var mapSet = MapHelpers.set;
13
- var push = uncurryThis([].push);
14
13
 
15
14
  // `Array.prototype.uniqueBy` method
16
15
  // https://github.com/tc39/proposal-array-unique
@@ -28,8 +27,9 @@ module.exports = function uniqueBy(resolver) {
28
27
  key = resolverFunction(item);
29
28
  if (!mapHas(map, key)) mapSet(map, key, item);
30
29
  }
30
+ index = 0;
31
31
  iterate(map, function (value) {
32
- push(result, value);
32
+ createProperty(result, index++, value);
33
33
  });
34
34
  return result;
35
35
  };
@@ -7,6 +7,8 @@ var anObject = require('../internals/an-object');
7
7
  var isObject = require('../internals/is-object');
8
8
  var doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');
9
9
  var getBuiltIn = require('../internals/get-built-in');
10
+ var createProperty = require('../internals/create-property');
11
+ var setArrayLength = require('../internals/array-set-length');
10
12
  var getIteratorDirect = require('../internals/get-iterator-direct');
11
13
  var closeAsyncIteration = require('../internals/async-iterator-close');
12
14
 
@@ -39,7 +41,7 @@ var createMethod = function (TYPE) {
39
41
  try {
40
42
  if (anObject(step).done) {
41
43
  if (IS_TO_ARRAY) {
42
- target.length = counter;
44
+ setArrayLength(target, counter);
43
45
  resolve(target);
44
46
  } else resolve(IS_SOME ? false : IS_EVERY || undefined);
45
47
  } else {
@@ -55,7 +57,7 @@ var createMethod = function (TYPE) {
55
57
  $result ? loop() : closeAsyncIteration(iterator, resolve, false, reject);
56
58
  } else if (IS_TO_ARRAY) {
57
59
  try {
58
- target[counter++] = $result;
60
+ createProperty(target, counter++, $result);
59
61
  loop();
60
62
  } catch (error4) { ifAbruptCloseAsyncIterator(error4); }
61
63
  } else {
@@ -66,7 +68,7 @@ var createMethod = function (TYPE) {
66
68
  if (isObject(result)) Promise.resolve(result).then(handler, ifAbruptCloseAsyncIterator);
67
69
  else handler(result);
68
70
  } else {
69
- target[counter++] = value;
71
+ createProperty(target, counter++, value);
70
72
  loop();
71
73
  }
72
74
  } catch (error3) { ifAbruptCloseAsyncIterator(error3); }
@@ -3,6 +3,7 @@ var isArray = require('../internals/is-array');
3
3
  var lengthOfArrayLike = require('../internals/length-of-array-like');
4
4
  var doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');
5
5
  var bind = require('../internals/function-bind-context');
6
+ var createProperty = require('../internals/create-property');
6
7
 
7
8
  // `FlattenIntoArray` abstract operation
8
9
  // https://tc39.es/ecma262/#sec-flattenintoarray
@@ -21,7 +22,7 @@ var flattenIntoArray = function (target, original, source, sourceLen, start, dep
21
22
  targetIndex = flattenIntoArray(target, original, element, elementLen, targetIndex, depth - 1) - 1;
22
23
  } else {
23
24
  doesNotExceedSafeInteger(targetIndex + 1);
24
- target[targetIndex] = element;
25
+ createProperty(target, targetIndex, element);
25
26
  }
26
27
 
27
28
  targetIndex++;
@@ -4,8 +4,8 @@ var fails = require('../internals/fails');
4
4
 
5
5
  module.exports = !fails(function () {
6
6
  var unsafeInt = '9007199254740993';
7
- // eslint-disable-next-line es/no-nonstandard-json-properties -- feature detection
7
+ // eslint-disable-next-line es/no-json-rawjson -- feature detection
8
8
  var raw = JSON.rawJSON(unsafeInt);
9
- // eslint-disable-next-line es/no-nonstandard-json-properties -- feature detection
9
+ // eslint-disable-next-line es/no-json-israwjson -- feature detection
10
10
  return !JSON.isRawJSON(raw) || JSON.stringify(raw) !== unsafeInt;
11
11
  });
@@ -7,9 +7,9 @@ var SHARED = '__core-js_shared__';
7
7
  var store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});
8
8
 
9
9
  (store.versions || (store.versions = [])).push({
10
- version: '3.47.0',
10
+ version: '3.48.0',
11
11
  mode: IS_PURE ? 'pure' : 'global',
12
- copyright: '© 2014-2025 Denis Pushkarev (zloirock.ru), 2025 CoreJS Company (core-js.io)',
13
- license: 'https://github.com/zloirock/core-js/blob/v3.47.0/LICENSE',
12
+ copyright: '© 2013–2025 Denis Pushkarev (zloirock.ru), 2025–2026 CoreJS Company (core-js.io). All rights reserved.',
13
+ license: 'https://github.com/zloirock/core-js/blob/v3.48.0/LICENSE',
14
14
  source: 'https://github.com/zloirock/core-js'
15
15
  });
@@ -7,6 +7,7 @@ var toObject = require('../internals/to-object');
7
7
  var lengthOfArrayLike = require('../internals/length-of-array-like');
8
8
  var doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');
9
9
  var createProperty = require('../internals/create-property');
10
+ var setArrayLength = require('../internals/array-set-length');
10
11
  var arraySpeciesCreate = require('../internals/array-species-create');
11
12
  var arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');
12
13
  var wellKnownSymbol = require('../internals/well-known-symbol');
@@ -52,7 +53,7 @@ $({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {
52
53
  createProperty(A, n++, E);
53
54
  }
54
55
  }
55
- A.length = n;
56
+ setArrayLength(A, n);
56
57
  return A;
57
58
  }
58
59
  });
@@ -15,7 +15,7 @@ $({ target: 'Array', proto: true }, {
15
15
  var A;
16
16
  aCallable(callbackfn);
17
17
  A = arraySpeciesCreate(O, 0);
18
- A.length = flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
18
+ flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
19
19
  return A;
20
20
  }
21
21
  });
@@ -14,7 +14,7 @@ $({ target: 'Array', proto: true }, {
14
14
  var O = toObject(this);
15
15
  var sourceLen = lengthOfArrayLike(O);
16
16
  var A = arraySpeciesCreate(O, 0);
17
- A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toIntegerOrInfinity(depthArg));
17
+ flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toIntegerOrInfinity(depthArg));
18
18
  return A;
19
19
  }
20
20
  });
@@ -3,6 +3,7 @@ var $ = require('../internals/export');
3
3
  var fails = require('../internals/fails');
4
4
  var isConstructor = require('../internals/is-constructor');
5
5
  var createProperty = require('../internals/create-property');
6
+ var setArrayLength = require('../internals/array-set-length');
6
7
 
7
8
  var $Array = Array;
8
9
 
@@ -21,7 +22,7 @@ $({ target: 'Array', stat: true, forced: ISNT_GENERIC }, {
21
22
  var argumentsLength = arguments.length;
22
23
  var result = new (isConstructor(this) ? this : $Array)(argumentsLength);
23
24
  while (argumentsLength > index) createProperty(result, index, arguments[index++]);
24
- result.length = argumentsLength;
25
+ setArrayLength(result, argumentsLength);
25
26
  return result;
26
27
  }
27
28
  });
@@ -7,6 +7,7 @@ var toAbsoluteIndex = require('../internals/to-absolute-index');
7
7
  var lengthOfArrayLike = require('../internals/length-of-array-like');
8
8
  var toIndexedObject = require('../internals/to-indexed-object');
9
9
  var createProperty = require('../internals/create-property');
10
+ var setArrayLength = require('../internals/array-set-length');
10
11
  var wellKnownSymbol = require('../internals/well-known-symbol');
11
12
  var arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');
12
13
  var nativeSlice = require('../internals/array-slice');
@@ -43,7 +44,7 @@ $({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {
43
44
  }
44
45
  result = new (Constructor === undefined ? $Array : Constructor)(max(fin - k, 0));
45
46
  for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);
46
- result.length = n;
47
+ setArrayLength(result, n);
47
48
  return result;
48
49
  }
49
50
  });
@@ -41,7 +41,7 @@ $({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {
41
41
  from = actualStart + k;
42
42
  if (from in O) createProperty(A, k, O[from]);
43
43
  }
44
- A.length = actualDeleteCount;
44
+ setArrayLength(A, actualDeleteCount);
45
45
  if (insertCount < actualDeleteCount) {
46
46
  for (k = actualStart; k < len - actualDeleteCount; k++) {
47
47
  from = k + actualDeleteCount;
@@ -1,7 +1,8 @@
1
1
  'use strict';
2
2
  var $ = require('../internals/export');
3
- var arrayToReversed = require('../internals/array-to-reversed');
3
+ var lengthOfArrayLike = require('../internals/length-of-array-like');
4
4
  var toIndexedObject = require('../internals/to-indexed-object');
5
+ var createProperty = require('../internals/create-property');
5
6
  var addToUnscopables = require('../internals/add-to-unscopables');
6
7
 
7
8
  var $Array = Array;
@@ -10,7 +11,12 @@ var $Array = Array;
10
11
  // https://tc39.es/ecma262/#sec-array.prototype.toreversed
11
12
  $({ target: 'Array', proto: true }, {
12
13
  toReversed: function toReversed() {
13
- return arrayToReversed(toIndexedObject(this), $Array);
14
+ var O = toIndexedObject(this);
15
+ var len = lengthOfArrayLike(O);
16
+ var A = new $Array(len);
17
+ var k = 0;
18
+ for (; k < len; k++) createProperty(A, k, O[len - k - 1]);
19
+ return A;
14
20
  }
15
21
  });
16
22
 
@@ -6,6 +6,7 @@ var lengthOfArrayLike = require('../internals/length-of-array-like');
6
6
  var toAbsoluteIndex = require('../internals/to-absolute-index');
7
7
  var toIndexedObject = require('../internals/to-indexed-object');
8
8
  var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
9
+ var createProperty = require('../internals/create-property');
9
10
 
10
11
  var $Array = Array;
11
12
  var max = Math.max;
@@ -33,9 +34,9 @@ $({ target: 'Array', proto: true }, {
33
34
  newLen = doesNotExceedSafeInteger(len + insertCount - actualDeleteCount);
34
35
  A = $Array(newLen);
35
36
 
36
- for (; k < actualStart; k++) A[k] = O[k];
37
- for (; k < actualStart + insertCount; k++) A[k] = arguments[k - actualStart + 2];
38
- for (; k < newLen; k++) A[k] = O[k + actualDeleteCount - insertCount];
37
+ for (; k < actualStart; k++) createProperty(A, k, O[k]);
38
+ for (; k < actualStart + insertCount; k++) createProperty(A, k, arguments[k - actualStart + 2]);
39
+ for (; k < newLen; k++) createProperty(A, k, O[k + actualDeleteCount - insertCount]);
39
40
 
40
41
  return A;
41
42
  }
@@ -1,9 +1,12 @@
1
1
  'use strict';
2
2
  var $ = require('../internals/export');
3
- var arrayWith = require('../internals/array-with');
3
+ var lengthOfArrayLike = require('../internals/length-of-array-like');
4
+ var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
4
5
  var toIndexedObject = require('../internals/to-indexed-object');
6
+ var createProperty = require('../internals/create-property');
5
7
 
6
8
  var $Array = Array;
9
+ var $RangeError = RangeError;
7
10
 
8
11
  // Firefox bug
9
12
  var INCORRECT_EXCEPTION_ON_COERCION_FAIL = (function () {
@@ -19,6 +22,14 @@ var INCORRECT_EXCEPTION_ON_COERCION_FAIL = (function () {
19
22
  // https://tc39.es/ecma262/#sec-array.prototype.with
20
23
  $({ target: 'Array', proto: true, forced: INCORRECT_EXCEPTION_ON_COERCION_FAIL }, {
21
24
  'with': function (index, value) {
22
- return arrayWith(toIndexedObject(this), $Array, index, value);
25
+ var O = toIndexedObject(this);
26
+ var len = lengthOfArrayLike(O);
27
+ var relativeIndex = toIntegerOrInfinity(index);
28
+ var actualIndex = relativeIndex < 0 ? len + relativeIndex : relativeIndex;
29
+ if (actualIndex >= len || actualIndex < 0) throw new $RangeError('Incorrect index');
30
+ var A = new $Array(len);
31
+ var k = 0;
32
+ for (; k < len; k++) createProperty(A, k, k === actualIndex ? value : O[k]);
33
+ return A;
23
34
  }
24
35
  });
@@ -11,12 +11,26 @@ var IS_PURE = require('../internals/is-pure');
11
11
  var iteratorHelperThrowsOnInvalidIterator = require('../internals/iterator-helper-throws-on-invalid-iterator');
12
12
  var iteratorHelperWithoutClosingOnEarlyError = require('../internals/iterator-helper-without-closing-on-early-error');
13
13
 
14
+ // Should not throw an error for an iterator without `return` method. Fixed in Safari 26.2
15
+ // https://bugs.webkit.org/show_bug.cgi?id=297532
16
+ function throwsOnIteratorWithoutReturn() {
17
+ try {
18
+ // eslint-disable-next-line es/no-map, es/no-iterator, es/no-iterator-prototype-flatmap -- required for testing
19
+ var it = Iterator.prototype.flatMap.call(new Map([[4, 5]]).entries(), function (v) { return v; });
20
+ it.next();
21
+ it['return']();
22
+ } catch (error) {
23
+ return true;
24
+ }
25
+ }
26
+
14
27
  var FLAT_MAP_WITHOUT_THROWING_ON_INVALID_ITERATOR = !IS_PURE
15
28
  && !iteratorHelperThrowsOnInvalidIterator('flatMap', function () { /* empty */ });
16
29
  var flatMapWithoutClosingOnEarlyError = !IS_PURE && !FLAT_MAP_WITHOUT_THROWING_ON_INVALID_ITERATOR
17
30
  && iteratorHelperWithoutClosingOnEarlyError('flatMap', TypeError);
18
31
 
19
- var FORCED = IS_PURE || FLAT_MAP_WITHOUT_THROWING_ON_INVALID_ITERATOR || flatMapWithoutClosingOnEarlyError;
32
+ var FORCED = IS_PURE || FLAT_MAP_WITHOUT_THROWING_ON_INVALID_ITERATOR || flatMapWithoutClosingOnEarlyError
33
+ || throwsOnIteratorWithoutReturn();
20
34
 
21
35
  var IteratorProxy = createIteratorProxy(function () {
22
36
  var iterator = this.iterator;
@@ -1,17 +1,19 @@
1
1
  'use strict';
2
2
  var $ = require('../internals/export');
3
3
  var anObject = require('../internals/an-object');
4
+ var createProperty = require('../internals/create-property');
4
5
  var iterate = require('../internals/iterate');
5
6
  var getIteratorDirect = require('../internals/get-iterator-direct');
6
7
 
7
- var push = [].push;
8
-
9
8
  // `Iterator.prototype.toArray` method
10
9
  // https://tc39.es/ecma262/#sec-iterator.prototype.toarray
11
10
  $({ target: 'Iterator', proto: true, real: true }, {
12
11
  toArray: function toArray() {
13
12
  var result = [];
14
- iterate(getIteratorDirect(anObject(this)), push, { that: result, IS_RECORD: true });
13
+ var index = 0;
14
+ iterate(getIteratorDirect(anObject(this)), function (element) {
15
+ createProperty(result, index++, element);
16
+ }, { IS_RECORD: true });
15
17
  return result;
16
18
  }
17
19
  });
@@ -0,0 +1,25 @@
1
+ 'use strict';
2
+ var $ = require('../internals/export');
3
+ var aCallable = require('../internals/a-callable');
4
+ var aMap = require('../internals/a-map');
5
+ var MapHelpers = require('../internals/map-helpers');
6
+ var IS_PURE = require('../internals/is-pure');
7
+
8
+ var get = MapHelpers.get;
9
+ var has = MapHelpers.has;
10
+ var set = MapHelpers.set;
11
+
12
+ // `Map.prototype.getOrInsertComputed` method
13
+ // https://github.com/tc39/proposal-upsert
14
+ $({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {
15
+ getOrInsertComputed: function getOrInsertComputed(key, callbackfn) {
16
+ aMap(this);
17
+ aCallable(callbackfn);
18
+ if (has(this, key)) return get(this, key);
19
+ // CanonicalizeKeyedCollectionKey
20
+ if (key === 0 && 1 / key === -Infinity) key = 0;
21
+ var value = callbackfn(key);
22
+ set(this, key, value);
23
+ return value;
24
+ }
25
+ });
@@ -0,0 +1,19 @@
1
+ 'use strict';
2
+ var $ = require('../internals/export');
3
+ var aMap = require('../internals/a-map');
4
+ var MapHelpers = require('../internals/map-helpers');
5
+ var IS_PURE = require('../internals/is-pure');
6
+
7
+ var get = MapHelpers.get;
8
+ var has = MapHelpers.has;
9
+ var set = MapHelpers.set;
10
+
11
+ // `Map.prototype.getOrInsert` method
12
+ // https://github.com/tc39/proposal-upsert
13
+ $({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {
14
+ getOrInsert: function getOrInsert(key, value) {
15
+ if (has(aMap(this), key)) return get(this, key);
16
+ set(this, key, value);
17
+ return value;
18
+ }
19
+ });
@@ -56,7 +56,7 @@ var handleDotAll = function (string) {
56
56
  var result = '';
57
57
  var brackets = false;
58
58
  var chr;
59
- for (; index <= length; index++) {
59
+ for (; index < length; index++) {
60
60
  chr = charAt(string, index);
61
61
  if (chr === '\\') {
62
62
  result += chr + charAt(string, ++index);
@@ -85,7 +85,7 @@ var handleNCG = function (string) {
85
85
  var groupid = 0;
86
86
  var groupname = '';
87
87
  var chr;
88
- for (; index <= length; index++) {
88
+ for (; index < length; index++) {
89
89
  chr = charAt(string, index);
90
90
  if (chr === '\\') {
91
91
  chr += charAt(string, ++index);
@@ -1,15 +1,14 @@
1
1
  'use strict';
2
2
  var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
3
3
  var $map = require('../internals/array-iteration').map;
4
+ var fromSameTypeAndList = require('../internals/typed-array-from-same-type-and-list');
4
5
 
5
6
  var aTypedArray = ArrayBufferViewCore.aTypedArray;
6
- var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;
7
7
  var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
8
8
 
9
9
  // `%TypedArray%.prototype.map` method
10
10
  // https://tc39.es/ecma262/#sec-%typedarray%.prototype.map
11
11
  exportTypedArrayMethod('map', function map(mapfn /* , thisArg */) {
12
- return $map(aTypedArray(this), mapfn, arguments.length > 1 ? arguments[1] : undefined, function (O, length) {
13
- return new (getTypedArrayConstructor(O))(length);
14
- });
12
+ var list = $map(aTypedArray(this), mapfn, arguments.length > 1 ? arguments[1] : undefined);
13
+ return fromSameTypeAndList(this, list);
15
14
  });
@@ -1,5 +1,5 @@
1
1
  'use strict';
2
- var arrayToReversed = require('../internals/array-to-reversed');
2
+ var lengthOfArrayLike = require('../internals/length-of-array-like');
3
3
  var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
4
4
 
5
5
  var aTypedArray = ArrayBufferViewCore.aTypedArray;
@@ -9,5 +9,10 @@ var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;
9
9
  // `%TypedArray%.prototype.toReversed` method
10
10
  // https://tc39.es/ecma262/#sec-%typedarray%.prototype.toreversed
11
11
  exportTypedArrayMethod('toReversed', function toReversed() {
12
- return arrayToReversed(aTypedArray(this), getTypedArrayConstructor(this));
12
+ var O = aTypedArray(this);
13
+ var len = lengthOfArrayLike(O);
14
+ var A = new (getTypedArrayConstructor(O))(len);
15
+ var k = 0;
16
+ for (; k < len; k++) A[k] = O[len - k - 1];
17
+ return A;
13
18
  });
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
- var arrayWith = require('../internals/array-with');
3
2
  var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
4
3
  var isBigIntArray = require('../internals/is-big-int-array');
4
+ var lengthOfArrayLike = require('../internals/length-of-array-like');
5
5
  var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
6
6
  var toBigInt = require('../internals/to-big-int');
7
7
 
@@ -9,6 +9,8 @@ var aTypedArray = ArrayBufferViewCore.aTypedArray;
9
9
  var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;
10
10
  var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
11
11
 
12
+ var $RangeError = RangeError;
13
+
12
14
  var PROPER_ORDER = function () {
13
15
  try {
14
16
  // eslint-disable-next-line no-throw-literal, es/no-typed-arrays, es/no-array-prototype-with -- required for testing
@@ -34,7 +36,13 @@ var THROW_ON_NEGATIVE_FRACTIONAL_INDEX = PROPER_ORDER && function () {
34
36
  // https://tc39.es/ecma262/#sec-%typedarray%.prototype.with
35
37
  exportTypedArrayMethod('with', { 'with': function (index, value) {
36
38
  var O = aTypedArray(this);
39
+ var len = lengthOfArrayLike(O);
37
40
  var relativeIndex = toIntegerOrInfinity(index);
38
- var actualValue = isBigIntArray(O) ? toBigInt(value) : +value;
39
- return arrayWith(O, getTypedArrayConstructor(O), relativeIndex, actualValue);
41
+ var actualIndex = relativeIndex < 0 ? len + relativeIndex : relativeIndex;
42
+ var numericValue = isBigIntArray(O) ? toBigInt(value) : +value;
43
+ if (actualIndex >= len || actualIndex < 0) throw new $RangeError('Incorrect index');
44
+ var A = new (getTypedArrayConstructor(O))(len);
45
+ var k = 0;
46
+ for (; k < len; k++) A[k] = k === actualIndex ? numericValue : O[k];
47
+ return A;
40
48
  } }['with'], !PROPER_ORDER || THROW_ON_NEGATIVE_FRACTIONAL_INDEX);
@@ -6,9 +6,22 @@ var anUint8Array = require('../internals/an-uint8-array');
6
6
  var notDetached = require('../internals/array-buffer-not-detached');
7
7
  var $fromHex = require('../internals/uint8-from-hex');
8
8
 
9
+ // Should not throw an error on length-tracking views over ResizableArrayBuffer
10
+ // https://issues.chromium.org/issues/454630441
11
+ function throwsOnLengthTrackingView() {
12
+ try {
13
+ // eslint-disable-next-line es/no-resizable-and-growable-arraybuffers -- required for testing
14
+ var rab = new ArrayBuffer(16, { maxByteLength: 1024 });
15
+ // eslint-disable-next-line es/no-uint8array-prototype-setfromhex, es/no-typed-arrays -- required for testing
16
+ new Uint8Array(rab).setFromHex('cafed00d');
17
+ } catch (error) {
18
+ return true;
19
+ }
20
+ }
21
+
9
22
  // `Uint8Array.prototype.setFromHex` method
10
23
  // https://github.com/tc39/proposal-arraybuffer-base64
11
- if (globalThis.Uint8Array) $({ target: 'Uint8Array', proto: true }, {
24
+ if (globalThis.Uint8Array) $({ target: 'Uint8Array', proto: true, forced: throwsOnLengthTrackingView() }, {
12
25
  setFromHex: function setFromHex(string) {
13
26
  anUint8Array(this);
14
27
  aString(string);
@@ -0,0 +1,36 @@
1
+ 'use strict';
2
+ var $ = require('../internals/export');
3
+ var aCallable = require('../internals/a-callable');
4
+ var aWeakMap = require('../internals/a-weak-map');
5
+ var aWeakKey = require('../internals/a-weak-key');
6
+ var WeakMapHelpers = require('../internals/weak-map-helpers');
7
+ var IS_PURE = require('../internals/is-pure');
8
+
9
+ var get = WeakMapHelpers.get;
10
+ var has = WeakMapHelpers.has;
11
+ var set = WeakMapHelpers.set;
12
+
13
+ var FORCED = IS_PURE || !function () {
14
+ try {
15
+ // eslint-disable-next-line es/no-weak-map, no-throw-literal -- testing
16
+ if (WeakMap.prototype.getOrInsertComputed) new WeakMap().getOrInsertComputed(1, function () { throw 1; });
17
+ } catch (error) {
18
+ // FF144 Nightly - Beta 3 bug
19
+ // https://bugzilla.mozilla.org/show_bug.cgi?id=1988369
20
+ return error instanceof TypeError;
21
+ }
22
+ }();
23
+
24
+ // `WeakMap.prototype.getOrInsertComputed` method
25
+ // https://github.com/tc39/proposal-upsert
26
+ $({ target: 'WeakMap', proto: true, real: true, forced: FORCED }, {
27
+ getOrInsertComputed: function getOrInsertComputed(key, callbackfn) {
28
+ aWeakMap(this);
29
+ aWeakKey(key);
30
+ aCallable(callbackfn);
31
+ if (has(this, key)) return get(this, key);
32
+ var value = callbackfn(key);
33
+ set(this, key, value);
34
+ return value;
35
+ }
36
+ });
@@ -0,0 +1,19 @@
1
+ 'use strict';
2
+ var $ = require('../internals/export');
3
+ var aWeakMap = require('../internals/a-weak-map');
4
+ var WeakMapHelpers = require('../internals/weak-map-helpers');
5
+ var IS_PURE = require('../internals/is-pure');
6
+
7
+ var get = WeakMapHelpers.get;
8
+ var has = WeakMapHelpers.has;
9
+ var set = WeakMapHelpers.set;
10
+
11
+ // `WeakMap.prototype.getOrInsert` method
12
+ // https://github.com/tc39/proposal-upsert
13
+ $({ target: 'WeakMap', proto: true, real: true, forced: IS_PURE }, {
14
+ getOrInsert: function getOrInsert(key, value) {
15
+ if (has(aWeakMap(this), key)) return get(this, key);
16
+ set(this, key, value);
17
+ return value;
18
+ }
19
+ });
@@ -1,25 +1,3 @@
1
1
  'use strict';
2
- var $ = require('../internals/export');
3
- var aCallable = require('../internals/a-callable');
4
- var aMap = require('../internals/a-map');
5
- var MapHelpers = require('../internals/map-helpers');
6
- var IS_PURE = require('../internals/is-pure');
7
-
8
- var get = MapHelpers.get;
9
- var has = MapHelpers.has;
10
- var set = MapHelpers.set;
11
-
12
- // `Map.prototype.getOrInsertComputed` method
13
- // https://github.com/tc39/proposal-upsert
14
- $({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {
15
- getOrInsertComputed: function getOrInsertComputed(key, callbackfn) {
16
- aMap(this);
17
- aCallable(callbackfn);
18
- if (has(this, key)) return get(this, key);
19
- // CanonicalizeKeyedCollectionKey
20
- if (key === 0 && 1 / key === -Infinity) key = 0;
21
- var value = callbackfn(key);
22
- set(this, key, value);
23
- return value;
24
- }
25
- });
2
+ // TODO: Remove from `core-js@4`
3
+ require('../modules/es.map.get-or-insert-computed');
@@ -1,19 +1,3 @@
1
1
  'use strict';
2
- var $ = require('../internals/export');
3
- var aMap = require('../internals/a-map');
4
- var MapHelpers = require('../internals/map-helpers');
5
- var IS_PURE = require('../internals/is-pure');
6
-
7
- var get = MapHelpers.get;
8
- var has = MapHelpers.has;
9
- var set = MapHelpers.set;
10
-
11
- // `Map.prototype.getOrInsert` method
12
- // https://github.com/tc39/proposal-upsert
13
- $({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {
14
- getOrInsert: function getOrInsert(key, value) {
15
- if (has(aMap(this), key)) return get(this, key);
16
- set(this, key, value);
17
- return value;
18
- }
19
- });
2
+ // TODO: Remove from `core-js@4`
3
+ require('../modules/es.map.get-or-insert');
@@ -1,36 +1,3 @@
1
1
  'use strict';
2
- var $ = require('../internals/export');
3
- var aCallable = require('../internals/a-callable');
4
- var aWeakMap = require('../internals/a-weak-map');
5
- var aWeakKey = require('../internals/a-weak-key');
6
- var WeakMapHelpers = require('../internals/weak-map-helpers');
7
- var IS_PURE = require('../internals/is-pure');
8
-
9
- var get = WeakMapHelpers.get;
10
- var has = WeakMapHelpers.has;
11
- var set = WeakMapHelpers.set;
12
-
13
- var FORCED = IS_PURE || !function () {
14
- try {
15
- // eslint-disable-next-line es/no-weak-map, no-throw-literal -- testing
16
- if (WeakMap.prototype.getOrInsertComputed) new WeakMap().getOrInsertComputed(1, function () { throw 1; });
17
- } catch (error) {
18
- // FF144 Nightly - Beta 3 bug
19
- // https://bugzilla.mozilla.org/show_bug.cgi?id=1988369
20
- return error instanceof TypeError;
21
- }
22
- }();
23
-
24
- // `WeakMap.prototype.getOrInsertComputed` method
25
- // https://github.com/tc39/proposal-upsert
26
- $({ target: 'WeakMap', proto: true, real: true, forced: FORCED }, {
27
- getOrInsertComputed: function getOrInsertComputed(key, callbackfn) {
28
- aWeakMap(this);
29
- aWeakKey(key);
30
- aCallable(callbackfn);
31
- if (has(this, key)) return get(this, key);
32
- var value = callbackfn(key);
33
- set(this, key, value);
34
- return value;
35
- }
36
- });
2
+ // TODO: Remove from `core-js@4`
3
+ require('../modules/es.weak-map.get-or-insert-computed');
@@ -1,19 +1,3 @@
1
1
  'use strict';
2
- var $ = require('../internals/export');
3
- var aWeakMap = require('../internals/a-weak-map');
4
- var WeakMapHelpers = require('../internals/weak-map-helpers');
5
- var IS_PURE = require('../internals/is-pure');
6
-
7
- var get = WeakMapHelpers.get;
8
- var has = WeakMapHelpers.has;
9
- var set = WeakMapHelpers.set;
10
-
11
- // `WeakMap.prototype.getOrInsert` method
12
- // https://github.com/tc39/proposal-upsert
13
- $({ target: 'WeakMap', proto: true, real: true, forced: IS_PURE }, {
14
- getOrInsert: function getOrInsert(key, value) {
15
- if (has(aWeakMap(this), key)) return get(this, key);
16
- set(this, key, value);
17
- return value;
18
- }
19
- });
2
+ // TODO: Remove from `core-js@4`
3
+ require('../modules/es.weak-map.get-or-insert');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "core-js",
3
- "version": "3.47.0",
3
+ "version": "3.48.0",
4
4
  "type": "commonjs",
5
5
  "description": "Standard library",
6
6
  "keywords": [
package/stable/index.js CHANGED
@@ -105,6 +105,8 @@ require('../modules/es.json.stringify');
105
105
  require('../modules/es.json.to-string-tag');
106
106
  require('../modules/es.map');
107
107
  require('../modules/es.map.group-by');
108
+ require('../modules/es.map.get-or-insert');
109
+ require('../modules/es.map.get-or-insert-computed');
108
110
  require('../modules/es.math.acosh');
109
111
  require('../modules/es.math.asinh');
110
112
  require('../modules/es.math.atanh');
@@ -291,6 +293,8 @@ require('../modules/es.uint8-array.to-base64');
291
293
  require('../modules/es.uint8-array.to-hex');
292
294
  require('../modules/es.unescape');
293
295
  require('../modules/es.weak-map');
296
+ require('../modules/es.weak-map.get-or-insert');
297
+ require('../modules/es.weak-map.get-or-insert-computed');
294
298
  require('../modules/es.weak-set');
295
299
  require('../modules/web.atob');
296
300
  require('../modules/web.btoa');
@@ -0,0 +1,4 @@
1
+ 'use strict';
2
+ var parent = require('../../es/map/get-or-insert-computed');
3
+
4
+ module.exports = parent;
@@ -0,0 +1,4 @@
1
+ 'use strict';
2
+ var parent = require('../../es/map/get-or-insert');
3
+
4
+ module.exports = parent;
@@ -0,0 +1,4 @@
1
+ 'use strict';
2
+ var parent = require('../../es/weak-map/get-or-insert-computed');
3
+
4
+ module.exports = parent;
@@ -0,0 +1,4 @@
1
+ 'use strict';
2
+ var parent = require('../../es/weak-map/get-or-insert');
3
+
4
+ module.exports = parent;
package/stage/3.js CHANGED
@@ -3,7 +3,6 @@ var parent = require('./4');
3
3
 
4
4
  require('../proposals/decorator-metadata-v2');
5
5
  require('../proposals/joint-iteration');
6
- require('../proposals/map-upsert-v4');
7
6
  // TODO: Obsolete versions, remove from `core-js@4`
8
7
  require('../proposals/array-grouping-stage-3');
9
8
  require('../proposals/array-grouping-stage-3-2');
package/stage/4.js CHANGED
@@ -15,6 +15,7 @@ require('../proposals/is-error');
15
15
  require('../proposals/iterator-helpers-stage-3-2');
16
16
  require('../proposals/iterator-sequencing');
17
17
  require('../proposals/json-parse-with-source');
18
+ require('../proposals/map-upsert-v4');
18
19
  require('../proposals/math-sum');
19
20
  require('../proposals/promise-all-settled');
20
21
  require('../proposals/promise-any');
@@ -1,12 +0,0 @@
1
- 'use strict';
2
- var lengthOfArrayLike = require('../internals/length-of-array-like');
3
-
4
- // https://tc39.es/ecma262/#sec-array.prototype.toreversed
5
- // https://tc39.es/ecma262/#sec-%typedarray%.prototype.toreversed
6
- module.exports = function (O, C) {
7
- var len = lengthOfArrayLike(O);
8
- var A = new C(len);
9
- var k = 0;
10
- for (; k < len; k++) A[k] = O[len - k - 1];
11
- return A;
12
- };
@@ -1,18 +0,0 @@
1
- 'use strict';
2
- var lengthOfArrayLike = require('../internals/length-of-array-like');
3
- var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
4
-
5
- var $RangeError = RangeError;
6
-
7
- // https://tc39.es/ecma262/#sec-array.prototype.with
8
- // https://tc39.es/ecma262/#sec-%typedarray%.prototype.with
9
- module.exports = function (O, C, index, value) {
10
- var len = lengthOfArrayLike(O);
11
- var relativeIndex = toIntegerOrInfinity(index);
12
- var actualIndex = relativeIndex < 0 ? len + relativeIndex : relativeIndex;
13
- if (actualIndex >= len || actualIndex < 0) throw new $RangeError('Incorrect index');
14
- var A = new C(len);
15
- var k = 0;
16
- for (; k < len; k++) A[k] = k === actualIndex ? value : O[k];
17
- return A;
18
- };