core-js 3.22.3 → 3.22.8

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 (157) hide show
  1. package/actual/typed-array/at.js +1 -1
  2. package/full/typed-array/at.js +1 -1
  3. package/internals/a-callable.js +2 -3
  4. package/internals/a-constructor.js +2 -3
  5. package/internals/a-possible-prototype.js +3 -4
  6. package/internals/add-to-unscopables.js +2 -2
  7. package/internals/an-instance.js +2 -3
  8. package/internals/an-object.js +3 -4
  9. package/internals/array-buffer-view-core.js +4 -4
  10. package/internals/array-buffer.js +3 -3
  11. package/internals/array-copy-within.js +2 -1
  12. package/internals/array-from.js +3 -4
  13. package/internals/array-group-by.js +2 -3
  14. package/internals/array-reduce.js +2 -3
  15. package/internals/array-slice-simple.js +2 -3
  16. package/internals/array-species-constructor.js +3 -4
  17. package/internals/array-to-spliced.js +2 -4
  18. package/internals/array-with.js +2 -3
  19. package/internals/async-from-sync-iterator.js +2 -2
  20. package/internals/async-iterator-create-proxy.js +2 -2
  21. package/internals/async-iterator-iteration.js +2 -7
  22. package/internals/async-iterator-prototype.js +2 -2
  23. package/internals/classof.js +2 -3
  24. package/internals/collection-strong.js +3 -3
  25. package/internals/collection-weak.js +3 -3
  26. package/internals/collection.js +3 -3
  27. package/internals/composite-key.js +3 -4
  28. package/internals/date-to-iso-string.js +2 -3
  29. package/internals/date-to-primitive.js +2 -3
  30. package/internals/define-built-in-accessor.js +8 -0
  31. package/internals/define-built-in.js +20 -0
  32. package/internals/define-built-ins.js +6 -0
  33. package/internals/{set-global.js → define-global-property.js} +0 -0
  34. package/internals/define-iterator.js +4 -4
  35. package/internals/delete-property-or-throw.js +8 -0
  36. package/internals/does-not-exceed-safe-integer.js +7 -0
  37. package/internals/export.js +18 -19
  38. package/internals/fix-regexp-well-known-symbol-logic.js +3 -3
  39. package/internals/flatten-into-array.js +2 -4
  40. package/internals/function-bind.js +3 -4
  41. package/internals/get-iterator.js +2 -3
  42. package/internals/ieee754.js +2 -4
  43. package/internals/indexed-object.js +4 -5
  44. package/internals/is-iterable.js +2 -3
  45. package/internals/is-symbol.js +2 -3
  46. package/internals/iterate.js +2 -3
  47. package/internals/iterator-create-proxy.js +2 -2
  48. package/internals/iterators-core.js +2 -2
  49. package/internals/make-built-in.js +48 -0
  50. package/internals/map-upsert.js +2 -3
  51. package/internals/math-expm1.js +2 -1
  52. package/internals/math-fround.js +3 -2
  53. package/internals/math-log1p.js +2 -1
  54. package/internals/math-sign.js +2 -1
  55. package/internals/math-trunc.js +10 -0
  56. package/internals/not-a-regexp.js +2 -3
  57. package/internals/numeric-range-iterator.js +7 -8
  58. package/internals/object-define-property.js +2 -3
  59. package/internals/object-get-prototype-of.js +5 -5
  60. package/internals/ordinary-to-primitive.js +2 -3
  61. package/internals/regexp-exec-abstract.js +2 -3
  62. package/internals/require-object-coercible.js +2 -4
  63. package/internals/shared-store.js +2 -2
  64. package/internals/shared.js +2 -2
  65. package/internals/string-punycode-to-ascii.js +3 -4
  66. package/internals/string-repeat.js +2 -3
  67. package/internals/symbol-define-to-primitive.js +3 -3
  68. package/internals/to-big-int.js +12 -0
  69. package/internals/to-index.js +2 -3
  70. package/internals/to-integer-or-infinity.js +3 -4
  71. package/internals/to-object.js +2 -3
  72. package/internals/to-offset.js +2 -3
  73. package/internals/to-positive-integer.js +2 -3
  74. package/internals/to-primitive.js +2 -3
  75. package/internals/to-string.js +2 -3
  76. package/internals/try-to-string.js +2 -4
  77. package/internals/typed-array-constructor.js +3 -3
  78. package/internals/validate-arguments-length.js +2 -4
  79. package/modules/es.aggregate-error.cause.js +1 -1
  80. package/modules/es.aggregate-error.constructor.js +6 -7
  81. package/modules/es.array-buffer.constructor.js +1 -1
  82. package/modules/es.array.concat.js +4 -7
  83. package/modules/es.array.of.js +4 -4
  84. package/modules/es.array.slice.js +4 -5
  85. package/modules/es.array.sort.js +2 -1
  86. package/modules/es.array.splice.js +7 -11
  87. package/modules/es.data-view.constructor.js +1 -1
  88. package/modules/es.date.now.js +3 -4
  89. package/modules/es.date.to-json.js +1 -1
  90. package/modules/es.date.to-primitive.js +2 -2
  91. package/modules/es.date.to-string.js +2 -2
  92. package/modules/es.error.cause.js +2 -2
  93. package/modules/es.error.to-string.js +2 -2
  94. package/modules/es.function.has-instance.js +3 -2
  95. package/modules/es.json.stringify.js +1 -1
  96. package/modules/es.math.acosh.js +4 -3
  97. package/modules/es.math.asinh.js +2 -1
  98. package/modules/es.math.atanh.js +2 -1
  99. package/modules/es.math.cbrt.js +2 -1
  100. package/modules/es.math.clz32.js +2 -1
  101. package/modules/es.math.hypot.js +1 -1
  102. package/modules/es.math.sinh.js +2 -1
  103. package/modules/es.math.tanh.js +4 -3
  104. package/modules/es.math.trunc.js +2 -6
  105. package/modules/es.number.constructor.js +2 -2
  106. package/modules/es.number.to-exponential.js +7 -8
  107. package/modules/es.number.to-fixed.js +5 -6
  108. package/modules/es.object.assign.js +1 -1
  109. package/modules/es.object.to-string.js +2 -2
  110. package/modules/es.promise.catch.js +2 -2
  111. package/modules/es.promise.constructor.js +17 -21
  112. package/modules/es.promise.finally.js +2 -2
  113. package/modules/es.regexp.constructor.js +2 -2
  114. package/modules/es.regexp.dot-all.js +5 -6
  115. package/modules/es.regexp.flags.js +2 -2
  116. package/modules/es.regexp.sticky.js +5 -6
  117. package/modules/es.regexp.test.js +2 -3
  118. package/modules/es.regexp.to-string.js +2 -2
  119. package/modules/es.string.from-code-point.js +3 -4
  120. package/modules/es.string.match-all.js +4 -5
  121. package/modules/es.string.replace-all.js +2 -3
  122. package/modules/es.symbol.constructor.js +5 -5
  123. package/modules/es.symbol.description.js +1 -1
  124. package/modules/es.typed-array.fill.js +18 -9
  125. package/modules/es.weak-map.constructor.js +2 -2
  126. package/modules/esnext.array.last-index.js +2 -2
  127. package/modules/esnext.array.last-item.js +2 -2
  128. package/modules/esnext.array.to-reversed.js +2 -3
  129. package/modules/esnext.array.to-sorted.js +2 -3
  130. package/modules/esnext.array.to-spliced.js +3 -4
  131. package/modules/esnext.array.with.js +2 -3
  132. package/modules/esnext.async-iterator.constructor.js +1 -1
  133. package/modules/esnext.async-iterator.reduce.js +2 -3
  134. package/modules/esnext.composite-key.js +2 -3
  135. package/modules/esnext.iterator.constructor.js +1 -1
  136. package/modules/esnext.iterator.flat-map.js +2 -3
  137. package/modules/esnext.iterator.reduce.js +2 -3
  138. package/modules/esnext.map.merge.js +1 -1
  139. package/modules/esnext.map.reduce.js +2 -3
  140. package/modules/esnext.map.update.js +2 -3
  141. package/modules/esnext.math.seeded-prng.js +2 -3
  142. package/modules/esnext.math.signbit.js +3 -1
  143. package/modules/esnext.number.from-string.js +8 -9
  144. package/modules/esnext.observable.constructor.js +12 -12
  145. package/modules/esnext.set.reduce.js +2 -3
  146. package/modules/esnext.string.cooked.js +2 -3
  147. package/modules/esnext.typed-array.to-spliced.js +1 -1
  148. package/modules/esnext.typed-array.with.js +9 -0
  149. package/modules/web.dom-exception.constructor.js +10 -10
  150. package/modules/web.dom-exception.stack.js +1 -1
  151. package/modules/web.queue-microtask.js +1 -1
  152. package/modules/web.structured-clone.js +21 -9
  153. package/modules/web.url-search-params.constructor.js +8 -8
  154. package/modules/web.url.constructor.js +43 -45
  155. package/package.json +2 -3
  156. package/internals/redefine-all.js +0 -6
  157. package/internals/redefine.js +0 -46
@@ -1,3 +1,3 @@
1
- var parent = require('../../stable/typed-array/every');
1
+ var parent = require('../../stable/typed-array/at');
2
2
 
3
3
  module.exports = parent;
@@ -1,4 +1,4 @@
1
- var parent = require('../../actual/typed-array/every');
1
+ var parent = require('../../actual/typed-array/at');
2
2
 
3
3
  // TODO: Remove from `core-js@4`
4
4
  require('../../modules/esnext.typed-array.at');
@@ -1,11 +1,10 @@
1
- var global = require('../internals/global');
2
1
  var isCallable = require('../internals/is-callable');
3
2
  var tryToString = require('../internals/try-to-string');
4
3
 
5
- var TypeError = global.TypeError;
4
+ var $TypeError = TypeError;
6
5
 
7
6
  // `Assert: IsCallable(argument) is true`
8
7
  module.exports = function (argument) {
9
8
  if (isCallable(argument)) return argument;
10
- throw TypeError(tryToString(argument) + ' is not a function');
9
+ throw $TypeError(tryToString(argument) + ' is not a function');
11
10
  };
@@ -1,11 +1,10 @@
1
- var global = require('../internals/global');
2
1
  var isConstructor = require('../internals/is-constructor');
3
2
  var tryToString = require('../internals/try-to-string');
4
3
 
5
- var TypeError = global.TypeError;
4
+ var $TypeError = TypeError;
6
5
 
7
6
  // `Assert: IsConstructor(argument) is true`
8
7
  module.exports = function (argument) {
9
8
  if (isConstructor(argument)) return argument;
10
- throw TypeError(tryToString(argument) + ' is not a constructor');
9
+ throw $TypeError(tryToString(argument) + ' is not a constructor');
11
10
  };
@@ -1,10 +1,9 @@
1
- var global = require('../internals/global');
2
1
  var isCallable = require('../internals/is-callable');
3
2
 
4
- var String = global.String;
5
- var TypeError = global.TypeError;
3
+ var $String = String;
4
+ var $TypeError = TypeError;
6
5
 
7
6
  module.exports = function (argument) {
8
7
  if (typeof argument == 'object' || isCallable(argument)) return argument;
9
- throw TypeError("Can't set " + String(argument) + ' as a prototype');
8
+ throw $TypeError("Can't set " + $String(argument) + ' as a prototype');
10
9
  };
@@ -1,6 +1,6 @@
1
1
  var wellKnownSymbol = require('../internals/well-known-symbol');
2
2
  var create = require('../internals/object-create');
3
- var definePropertyModule = require('../internals/object-define-property');
3
+ var defineProperty = require('../internals/object-define-property').f;
4
4
 
5
5
  var UNSCOPABLES = wellKnownSymbol('unscopables');
6
6
  var ArrayPrototype = Array.prototype;
@@ -8,7 +8,7 @@ var ArrayPrototype = Array.prototype;
8
8
  // Array.prototype[@@unscopables]
9
9
  // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
10
10
  if (ArrayPrototype[UNSCOPABLES] == undefined) {
11
- definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {
11
+ defineProperty(ArrayPrototype, UNSCOPABLES, {
12
12
  configurable: true,
13
13
  value: create(null)
14
14
  });
@@ -1,9 +1,8 @@
1
- var global = require('../internals/global');
2
1
  var isPrototypeOf = require('../internals/object-is-prototype-of');
3
2
 
4
- var TypeError = global.TypeError;
3
+ var $TypeError = TypeError;
5
4
 
6
5
  module.exports = function (it, Prototype) {
7
6
  if (isPrototypeOf(Prototype, it)) return it;
8
- throw TypeError('Incorrect invocation');
7
+ throw $TypeError('Incorrect invocation');
9
8
  };
@@ -1,11 +1,10 @@
1
- var global = require('../internals/global');
2
1
  var isObject = require('../internals/is-object');
3
2
 
4
- var String = global.String;
5
- var TypeError = global.TypeError;
3
+ var $String = String;
4
+ var $TypeError = TypeError;
6
5
 
7
6
  // `Assert: Type(argument) is Object`
8
7
  module.exports = function (argument) {
9
8
  if (isObject(argument)) return argument;
10
- throw TypeError(String(argument) + ' is not an object');
9
+ throw $TypeError($String(argument) + ' is not an object');
11
10
  };
@@ -8,7 +8,7 @@ var hasOwn = require('../internals/has-own-property');
8
8
  var classof = require('../internals/classof');
9
9
  var tryToString = require('../internals/try-to-string');
10
10
  var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
11
- var redefine = require('../internals/redefine');
11
+ var defineBuiltIn = require('../internals/define-built-in');
12
12
  var defineProperty = require('../internals/object-define-property').f;
13
13
  var isPrototypeOf = require('../internals/object-is-prototype-of');
14
14
  var getPrototypeOf = require('../internals/object-get-prototype-of');
@@ -89,7 +89,7 @@ var exportTypedArrayMethod = function (KEY, property, forced, options) {
89
89
  }
90
90
  }
91
91
  if (!TypedArrayPrototype[KEY] || forced) {
92
- redefine(TypedArrayPrototype, KEY, forced ? property
92
+ defineBuiltIn(TypedArrayPrototype, KEY, forced ? property
93
93
  : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property, options);
94
94
  }
95
95
  };
@@ -107,14 +107,14 @@ var exportTypedArrayStaticMethod = function (KEY, property, forced) {
107
107
  if (!TypedArray[KEY] || forced) {
108
108
  // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable
109
109
  try {
110
- return redefine(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property);
110
+ return defineBuiltIn(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property);
111
111
  } catch (error) { /* empty */ }
112
112
  } else return;
113
113
  }
114
114
  for (ARRAY in TypedArrayConstructorsList) {
115
115
  TypedArrayConstructor = global[ARRAY];
116
116
  if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {
117
- redefine(TypedArrayConstructor, KEY, property);
117
+ defineBuiltIn(TypedArrayConstructor, KEY, property);
118
118
  }
119
119
  }
120
120
  };
@@ -5,7 +5,7 @@ var DESCRIPTORS = require('../internals/descriptors');
5
5
  var NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');
6
6
  var FunctionName = require('../internals/function-name');
7
7
  var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
8
- var redefineAll = require('../internals/redefine-all');
8
+ var defineBuiltIns = require('../internals/define-built-ins');
9
9
  var fails = require('../internals/fails');
10
10
  var anInstance = require('../internals/an-instance');
11
11
  var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
@@ -134,7 +134,7 @@ if (!NATIVE_ARRAY_BUFFER) {
134
134
  addGetter($DataView, 'byteOffset');
135
135
  }
136
136
 
137
- redefineAll(DataViewPrototype, {
137
+ defineBuiltIns(DataViewPrototype, {
138
138
  getInt8: function getInt8(byteOffset) {
139
139
  return get(this, 1, byteOffset)[0] << 24 >> 24;
140
140
  },
@@ -228,7 +228,7 @@ if (!NATIVE_ARRAY_BUFFER) {
228
228
  var $setInt8 = uncurryThis(DataViewPrototype.setInt8);
229
229
  testView.setInt8(0, 2147483648);
230
230
  testView.setInt8(1, 2147483649);
231
- if (testView.getInt8(0) || !testView.getInt8(1)) redefineAll(DataViewPrototype, {
231
+ if (testView.getInt8(0) || !testView.getInt8(1)) defineBuiltIns(DataViewPrototype, {
232
232
  setInt8: function setInt8(byteOffset, value) {
233
233
  $setInt8(this, byteOffset, value << 24 >> 24);
234
234
  },
@@ -2,6 +2,7 @@
2
2
  var toObject = require('../internals/to-object');
3
3
  var toAbsoluteIndex = require('../internals/to-absolute-index');
4
4
  var lengthOfArrayLike = require('../internals/length-of-array-like');
5
+ var deletePropertyOrThrow = require('../internals/delete-property-or-throw');
5
6
 
6
7
  var min = Math.min;
7
8
 
@@ -23,7 +24,7 @@ module.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /*
23
24
  }
24
25
  while (count-- > 0) {
25
26
  if (from in O) O[to] = O[from];
26
- else delete O[to];
27
+ else deletePropertyOrThrow(O, to);
27
28
  to += inc;
28
29
  from += inc;
29
30
  } return O;
@@ -1,5 +1,4 @@
1
1
  'use strict';
2
- var global = require('../internals/global');
3
2
  var bind = require('../internals/function-bind-context');
4
3
  var call = require('../internals/function-call');
5
4
  var toObject = require('../internals/to-object');
@@ -11,7 +10,7 @@ var createProperty = require('../internals/create-property');
11
10
  var getIterator = require('../internals/get-iterator');
12
11
  var getIteratorMethod = require('../internals/get-iterator-method');
13
12
 
14
- var Array = global.Array;
13
+ var $Array = Array;
15
14
 
16
15
  // `Array.from` method implementation
17
16
  // https://tc39.es/ecma262/#sec-array.from
@@ -26,7 +25,7 @@ module.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undef
26
25
  var index = 0;
27
26
  var length, result, step, iterator, next, value;
28
27
  // if the target is not iterable or it's an array with the default iterator - use a simple case
29
- if (iteratorMethod && !(this == Array && isArrayIteratorMethod(iteratorMethod))) {
28
+ if (iteratorMethod && !(this === $Array && isArrayIteratorMethod(iteratorMethod))) {
30
29
  iterator = getIterator(O, iteratorMethod);
31
30
  next = iterator.next;
32
31
  result = IS_CONSTRUCTOR ? new this() : [];
@@ -36,7 +35,7 @@ module.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undef
36
35
  }
37
36
  } else {
38
37
  length = lengthOfArrayLike(O);
39
- result = IS_CONSTRUCTOR ? new this(length) : Array(length);
38
+ result = IS_CONSTRUCTOR ? new this(length) : $Array(length);
40
39
  for (;length > index; index++) {
41
40
  value = mapping ? mapfn(O[index], index) : O[index];
42
41
  createProperty(result, index, value);
@@ -1,4 +1,3 @@
1
- var global = require('../internals/global');
2
1
  var bind = require('../internals/function-bind-context');
3
2
  var uncurryThis = require('../internals/function-uncurry-this');
4
3
  var IndexedObject = require('../internals/indexed-object');
@@ -8,7 +7,7 @@ var lengthOfArrayLike = require('../internals/length-of-array-like');
8
7
  var objectCreate = require('../internals/object-create');
9
8
  var arrayFromConstructorAndList = require('../internals/array-from-constructor-and-list');
10
9
 
11
- var Array = global.Array;
10
+ var $Array = Array;
12
11
  var push = uncurryThis([].push);
13
12
 
14
13
  module.exports = function ($this, callbackfn, that, specificConstructor) {
@@ -30,7 +29,7 @@ module.exports = function ($this, callbackfn, that, specificConstructor) {
30
29
  // TODO: Remove this block from `core-js@4`
31
30
  if (specificConstructor) {
32
31
  Constructor = specificConstructor(O);
33
- if (Constructor !== Array) {
32
+ if (Constructor !== $Array) {
34
33
  for (key in target) target[key] = arrayFromConstructorAndList(Constructor, target[key]);
35
34
  }
36
35
  } return target;
@@ -1,10 +1,9 @@
1
- var global = require('../internals/global');
2
1
  var aCallable = require('../internals/a-callable');
3
2
  var toObject = require('../internals/to-object');
4
3
  var IndexedObject = require('../internals/indexed-object');
5
4
  var lengthOfArrayLike = require('../internals/length-of-array-like');
6
5
 
7
- var TypeError = global.TypeError;
6
+ var $TypeError = TypeError;
8
7
 
9
8
  // `Array.prototype.{ reduce, reduceRight }` methods implementation
10
9
  var createMethod = function (IS_RIGHT) {
@@ -23,7 +22,7 @@ var createMethod = function (IS_RIGHT) {
23
22
  }
24
23
  index += i;
25
24
  if (IS_RIGHT ? index < 0 : length <= index) {
26
- throw TypeError('Reduce of empty array with no initial value');
25
+ throw $TypeError('Reduce of empty array with no initial value');
27
26
  }
28
27
  }
29
28
  for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {
@@ -1,16 +1,15 @@
1
- var global = require('../internals/global');
2
1
  var toAbsoluteIndex = require('../internals/to-absolute-index');
3
2
  var lengthOfArrayLike = require('../internals/length-of-array-like');
4
3
  var createProperty = require('../internals/create-property');
5
4
 
6
- var Array = global.Array;
5
+ var $Array = Array;
7
6
  var max = Math.max;
8
7
 
9
8
  module.exports = function (O, start, end) {
10
9
  var length = lengthOfArrayLike(O);
11
10
  var k = toAbsoluteIndex(start, length);
12
11
  var fin = toAbsoluteIndex(end === undefined ? length : end, length);
13
- var result = Array(max(fin - k, 0));
12
+ var result = $Array(max(fin - k, 0));
14
13
  for (var n = 0; k < fin; k++, n++) createProperty(result, n, O[k]);
15
14
  result.length = n;
16
15
  return result;
@@ -1,11 +1,10 @@
1
- var global = require('../internals/global');
2
1
  var isArray = require('../internals/is-array');
3
2
  var isConstructor = require('../internals/is-constructor');
4
3
  var isObject = require('../internals/is-object');
5
4
  var wellKnownSymbol = require('../internals/well-known-symbol');
6
5
 
7
6
  var SPECIES = wellKnownSymbol('species');
8
- var Array = global.Array;
7
+ var $Array = Array;
9
8
 
10
9
  // a part of `ArraySpeciesCreate` abstract operation
11
10
  // https://tc39.es/ecma262/#sec-arrayspeciescreate
@@ -14,10 +13,10 @@ module.exports = function (originalArray) {
14
13
  if (isArray(originalArray)) {
15
14
  C = originalArray.constructor;
16
15
  // cross-realm fallback
17
- if (isConstructor(C) && (C === Array || isArray(C.prototype))) C = undefined;
16
+ if (isConstructor(C) && (C === $Array || isArray(C.prototype))) C = undefined;
18
17
  else if (isObject(C)) {
19
18
  C = C[SPECIES];
20
19
  if (C === null) C = undefined;
21
20
  }
22
- } return C === undefined ? Array : C;
21
+ } return C === undefined ? $Array : C;
23
22
  };
@@ -1,11 +1,10 @@
1
1
  var lengthOfArrayLike = require('../internals/length-of-array-like');
2
+ var doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');
2
3
  var toAbsoluteIndex = require('../internals/to-absolute-index');
3
4
  var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
4
5
 
5
- var $TypeError = TypeError;
6
6
  var max = Math.max;
7
7
  var min = Math.min;
8
- var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
9
8
 
10
9
  // https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.toSpliced
11
10
  // https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.toSpliced
@@ -26,8 +25,7 @@ module.exports = function (O, C, args) {
26
25
  insertCount = argumentsLength - 2;
27
26
  actualDeleteCount = min(max(toIntegerOrInfinity(deleteCount), 0), len - actualStart);
28
27
  }
29
- newLen = len + insertCount - actualDeleteCount;
30
- if (newLen > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed length exceeded');
28
+ newLen = doesNotExceedSafeInteger(len + insertCount - actualDeleteCount);
31
29
  A = new C(newLen);
32
30
 
33
31
  for (; k < actualStart; k++) A[k] = O[k];
@@ -1,8 +1,7 @@
1
- var global = require('../internals/global');
2
1
  var lengthOfArrayLike = require('../internals/length-of-array-like');
3
2
  var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
4
3
 
5
- var RangeError = global.RangeError;
4
+ var $RangeError = RangeError;
6
5
 
7
6
  // https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.with
8
7
  // https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.with
@@ -10,7 +9,7 @@ module.exports = function (O, C, index, value) {
10
9
  var len = lengthOfArrayLike(O);
11
10
  var relativeIndex = toIntegerOrInfinity(index);
12
11
  var actualIndex = relativeIndex < 0 ? len + relativeIndex : relativeIndex;
13
- if (actualIndex >= len || actualIndex < 0) throw RangeError('Incorrect index');
12
+ if (actualIndex >= len || actualIndex < 0) throw $RangeError('Incorrect index');
14
13
  var A = new C(len);
15
14
  var k = 0;
16
15
  for (; k < len; k++) A[k] = k === actualIndex ? value : O[k];
@@ -3,7 +3,7 @@ var apply = require('../internals/function-apply');
3
3
  var anObject = require('../internals/an-object');
4
4
  var create = require('../internals/object-create');
5
5
  var getMethod = require('../internals/get-method');
6
- var redefineAll = require('../internals/redefine-all');
6
+ var defineBuiltIns = require('../internals/define-built-ins');
7
7
  var InternalStateModule = require('../internals/internal-state');
8
8
  var getBuiltIn = require('../internals/get-built-in');
9
9
  var AsyncIteratorPrototype = require('../internals/async-iterator-prototype');
@@ -29,7 +29,7 @@ var AsyncFromSyncIterator = function AsyncIterator(iterator) {
29
29
  });
30
30
  };
31
31
 
32
- AsyncFromSyncIterator.prototype = redefineAll(create(AsyncIteratorPrototype), {
32
+ AsyncFromSyncIterator.prototype = defineBuiltIns(create(AsyncIteratorPrototype), {
33
33
  next: function next(arg) {
34
34
  var state = getInternalState(this);
35
35
  var hasArg = !!arguments.length;
@@ -4,7 +4,7 @@ var aCallable = require('../internals/a-callable');
4
4
  var anObject = require('../internals/an-object');
5
5
  var create = require('../internals/object-create');
6
6
  var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
7
- var redefineAll = require('../internals/redefine-all');
7
+ var defineBuiltIns = require('../internals/define-built-ins');
8
8
  var wellKnownSymbol = require('../internals/well-known-symbol');
9
9
  var InternalStateModule = require('../internals/internal-state');
10
10
  var getBuiltIn = require('../internals/get-built-in');
@@ -28,7 +28,7 @@ module.exports = function (nextHandler, IS_ITERATOR) {
28
28
  setInternalState(this, state);
29
29
  };
30
30
 
31
- AsyncIteratorProxy.prototype = redefineAll(create(AsyncIteratorPrototype), {
31
+ AsyncIteratorProxy.prototype = defineBuiltIns(create(AsyncIteratorPrototype), {
32
32
  next: function next(arg) {
33
33
  var that = this;
34
34
  var hasArgument = !!arguments.length;
@@ -1,16 +1,13 @@
1
1
  'use strict';
2
2
  // https://github.com/tc39/proposal-iterator-helpers
3
3
  // https://github.com/tc39/proposal-array-from-async
4
- var global = require('../internals/global');
5
4
  var call = require('../internals/function-call');
6
5
  var aCallable = require('../internals/a-callable');
7
6
  var anObject = require('../internals/an-object');
7
+ var doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');
8
8
  var getBuiltIn = require('../internals/get-built-in');
9
9
  var getMethod = require('../internals/get-method');
10
10
 
11
- var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
12
- var TypeError = global.TypeError;
13
-
14
11
  var createMethod = function (TYPE) {
15
12
  var IS_TO_ARRAY = TYPE == 0;
16
13
  var IS_FOR_EACH = TYPE == 1;
@@ -46,9 +43,7 @@ var createMethod = function (TYPE) {
46
43
 
47
44
  var loop = function () {
48
45
  try {
49
- if (IS_TO_ARRAY && (index > MAX_SAFE_INTEGER) && MAPPING) {
50
- throw TypeError('The allowed number of iterations has been exceeded');
51
- }
46
+ if (IS_TO_ARRAY && MAPPING) doesNotExceedSafeInteger(index);
52
47
  Promise.resolve(anObject(call(next, iterator))).then(function (step) {
53
48
  try {
54
49
  if (anObject(step).done) {
@@ -3,7 +3,7 @@ var shared = require('../internals/shared-store');
3
3
  var isCallable = require('../internals/is-callable');
4
4
  var create = require('../internals/object-create');
5
5
  var getPrototypeOf = require('../internals/object-get-prototype-of');
6
- var redefine = require('../internals/redefine');
6
+ var defineBuiltIn = require('../internals/define-built-in');
7
7
  var wellKnownSymbol = require('../internals/well-known-symbol');
8
8
  var IS_PURE = require('../internals/is-pure');
9
9
 
@@ -29,7 +29,7 @@ if (!AsyncIteratorPrototype) AsyncIteratorPrototype = {};
29
29
  else if (IS_PURE) AsyncIteratorPrototype = create(AsyncIteratorPrototype);
30
30
 
31
31
  if (!isCallable(AsyncIteratorPrototype[ASYNC_ITERATOR])) {
32
- redefine(AsyncIteratorPrototype, ASYNC_ITERATOR, function () {
32
+ defineBuiltIn(AsyncIteratorPrototype, ASYNC_ITERATOR, function () {
33
33
  return this;
34
34
  });
35
35
  }
@@ -1,11 +1,10 @@
1
- var global = require('../internals/global');
2
1
  var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');
3
2
  var isCallable = require('../internals/is-callable');
4
3
  var classofRaw = require('../internals/classof-raw');
5
4
  var wellKnownSymbol = require('../internals/well-known-symbol');
6
5
 
7
6
  var TO_STRING_TAG = wellKnownSymbol('toStringTag');
8
- var Object = global.Object;
7
+ var $Object = Object;
9
8
 
10
9
  // ES3 wrong here
11
10
  var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';
@@ -22,7 +21,7 @@ module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {
22
21
  var O, tag, result;
23
22
  return it === undefined ? 'Undefined' : it === null ? 'Null'
24
23
  // @@toStringTag case
25
- : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag
24
+ : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag
26
25
  // builtinTag case
27
26
  : CORRECT_ARGUMENTS ? classofRaw(O)
28
27
  // ES3 arguments fallback
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
  var defineProperty = require('../internals/object-define-property').f;
3
3
  var create = require('../internals/object-create');
4
- var redefineAll = require('../internals/redefine-all');
4
+ var defineBuiltIns = require('../internals/define-built-ins');
5
5
  var bind = require('../internals/function-bind-context');
6
6
  var anInstance = require('../internals/an-instance');
7
7
  var iterate = require('../internals/iterate');
@@ -71,7 +71,7 @@ module.exports = {
71
71
  }
72
72
  };
73
73
 
74
- redefineAll(Prototype, {
74
+ defineBuiltIns(Prototype, {
75
75
  // `{ Map, Set }.prototype.clear()` methods
76
76
  // https://tc39.es/ecma262/#sec-map.prototype.clear
77
77
  // https://tc39.es/ecma262/#sec-set.prototype.clear
@@ -131,7 +131,7 @@ module.exports = {
131
131
  }
132
132
  });
133
133
 
134
- redefineAll(Prototype, IS_MAP ? {
134
+ defineBuiltIns(Prototype, IS_MAP ? {
135
135
  // `Map.prototype.get(key)` method
136
136
  // https://tc39.es/ecma262/#sec-map.prototype.get
137
137
  get: function get(key) {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  var uncurryThis = require('../internals/function-uncurry-this');
3
- var redefineAll = require('../internals/redefine-all');
3
+ var defineBuiltIns = require('../internals/define-built-ins');
4
4
  var getWeakData = require('../internals/internal-metadata').getWeakData;
5
5
  var anObject = require('../internals/an-object');
6
6
  var isObject = require('../internals/is-object');
@@ -78,7 +78,7 @@ module.exports = {
78
78
  return that;
79
79
  };
80
80
 
81
- redefineAll(Prototype, {
81
+ defineBuiltIns(Prototype, {
82
82
  // `{ WeakMap, WeakSet }.prototype.delete(key)` methods
83
83
  // https://tc39.es/ecma262/#sec-weakmap.prototype.delete
84
84
  // https://tc39.es/ecma262/#sec-weakset.prototype.delete
@@ -101,7 +101,7 @@ module.exports = {
101
101
  }
102
102
  });
103
103
 
104
- redefineAll(Prototype, IS_MAP ? {
104
+ defineBuiltIns(Prototype, IS_MAP ? {
105
105
  // `WeakMap.prototype.get(key)` method
106
106
  // https://tc39.es/ecma262/#sec-weakmap.prototype.get
107
107
  get: function get(key) {
@@ -3,7 +3,7 @@ var $ = require('../internals/export');
3
3
  var global = require('../internals/global');
4
4
  var uncurryThis = require('../internals/function-uncurry-this');
5
5
  var isForced = require('../internals/is-forced');
6
- var redefine = require('../internals/redefine');
6
+ var defineBuiltIn = require('../internals/define-built-in');
7
7
  var InternalMetadataModule = require('../internals/internal-metadata');
8
8
  var iterate = require('../internals/iterate');
9
9
  var anInstance = require('../internals/an-instance');
@@ -25,7 +25,7 @@ module.exports = function (CONSTRUCTOR_NAME, wrapper, common) {
25
25
 
26
26
  var fixMethod = function (KEY) {
27
27
  var uncurriedNativeMethod = uncurryThis(NativePrototype[KEY]);
28
- redefine(NativePrototype, KEY,
28
+ defineBuiltIn(NativePrototype, KEY,
29
29
  KEY == 'add' ? function add(value) {
30
30
  uncurriedNativeMethod(this, value === 0 ? 0 : value);
31
31
  return this;
@@ -95,7 +95,7 @@ module.exports = function (CONSTRUCTOR_NAME, wrapper, common) {
95
95
  }
96
96
 
97
97
  exported[CONSTRUCTOR_NAME] = Constructor;
98
- $({ global: true, forced: Constructor != NativeConstructor }, exported);
98
+ $({ global: true, constructor: true, forced: Constructor != NativeConstructor }, exported);
99
99
 
100
100
  setToStringTag(Constructor, CONSTRUCTOR_NAME);
101
101
 
@@ -1,13 +1,12 @@
1
1
  // TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`
2
2
  require('../modules/es.map');
3
3
  require('../modules/es.weak-map');
4
- var global = require('../internals/global');
5
4
  var getBuiltIn = require('../internals/get-built-in');
6
5
  var create = require('../internals/object-create');
7
6
  var isObject = require('../internals/is-object');
8
7
 
9
- var Object = global.Object;
10
- var TypeError = global.TypeError;
8
+ var $Object = Object;
9
+ var $TypeError = TypeError;
11
10
  var Map = getBuiltIn('Map');
12
11
  var WeakMap = getBuiltIn('WeakMap');
13
12
 
@@ -43,7 +42,7 @@ module.exports = function () {
43
42
  for (i = 0; i < length; i++) {
44
43
  if (isObject(it = arguments[i])) active = active.next(i, it, true);
45
44
  }
46
- if (this === Object && active === root) throw TypeError('Composite keys must contain a non-primitive component');
45
+ if (this === $Object && active === root) throw $TypeError('Composite keys must contain a non-primitive component');
47
46
  for (i = 0; i < length; i++) {
48
47
  if (!isObject(it = arguments[i])) active = active.next(i, it, false);
49
48
  } return active;
@@ -1,10 +1,9 @@
1
1
  'use strict';
2
- var global = require('../internals/global');
3
2
  var uncurryThis = require('../internals/function-uncurry-this');
4
3
  var fails = require('../internals/fails');
5
4
  var padStart = require('../internals/string-pad').start;
6
5
 
7
- var RangeError = global.RangeError;
6
+ var $RangeError = RangeError;
8
7
  var abs = Math.abs;
9
8
  var DatePrototype = Date.prototype;
10
9
  var n$DateToISOString = DatePrototype.toISOString;
@@ -25,7 +24,7 @@ module.exports = (fails(function () {
25
24
  }) || !fails(function () {
26
25
  n$DateToISOString.call(new Date(NaN));
27
26
  })) ? function toISOString() {
28
- if (!isFinite(getTime(this))) throw RangeError('Invalid time value');
27
+ if (!isFinite(getTime(this))) throw $RangeError('Invalid time value');
29
28
  var date = this;
30
29
  var year = getUTCFullYear(date);
31
30
  var milliseconds = getUTCMilliseconds(date);
@@ -1,15 +1,14 @@
1
1
  'use strict';
2
- var global = require('../internals/global');
3
2
  var anObject = require('../internals/an-object');
4
3
  var ordinaryToPrimitive = require('../internals/ordinary-to-primitive');
5
4
 
6
- var TypeError = global.TypeError;
5
+ var $TypeError = TypeError;
7
6
 
8
7
  // `Date.prototype[@@toPrimitive](hint)` method implementation
9
8
  // https://tc39.es/ecma262/#sec-date.prototype-@@toprimitive
10
9
  module.exports = function (hint) {
11
10
  anObject(this);
12
11
  if (hint === 'string' || hint === 'default') hint = 'string';
13
- else if (hint !== 'number') throw TypeError('Incorrect hint');
12
+ else if (hint !== 'number') throw $TypeError('Incorrect hint');
14
13
  return ordinaryToPrimitive(this, hint);
15
14
  };
@@ -0,0 +1,8 @@
1
+ var makeBuiltIn = require('../internals/make-built-in');
2
+ var defineProperty = require('../internals/object-define-property');
3
+
4
+ module.exports = function (target, name, descriptor) {
5
+ if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });
6
+ if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });
7
+ return defineProperty.f(target, name, descriptor);
8
+ };
@@ -0,0 +1,20 @@
1
+ var isCallable = require('../internals/is-callable');
2
+ var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
3
+ var makeBuiltIn = require('../internals/make-built-in');
4
+ var defineGlobalProperty = require('../internals/define-global-property');
5
+
6
+ module.exports = function (O, key, value, options) {
7
+ if (!options) options = {};
8
+ var simple = options.enumerable;
9
+ var name = options.name !== undefined ? options.name : key;
10
+ if (isCallable(value)) makeBuiltIn(value, name, options);
11
+ if (options.global) {
12
+ if (simple) O[key] = value;
13
+ else defineGlobalProperty(key, value);
14
+ } else {
15
+ if (!options.unsafe) delete O[key];
16
+ else if (O[key]) simple = true;
17
+ if (simple) O[key] = value;
18
+ else createNonEnumerableProperty(O, key, value);
19
+ } return O;
20
+ };