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,10 +1,8 @@
1
- var global = require('../internals/global');
2
-
3
- var TypeError = global.TypeError;
1
+ var $TypeError = TypeError;
4
2
 
5
3
  // `RequireObjectCoercible` abstract operation
6
4
  // https://tc39.es/ecma262/#sec-requireobjectcoercible
7
5
  module.exports = function (it) {
8
- if (it == undefined) throw TypeError("Can't call method on " + it);
6
+ if (it == undefined) throw $TypeError("Can't call method on " + it);
9
7
  return it;
10
8
  };
@@ -1,7 +1,7 @@
1
1
  var global = require('../internals/global');
2
- var setGlobal = require('../internals/set-global');
2
+ var defineGlobalProperty = require('../internals/define-global-property');
3
3
 
4
4
  var SHARED = '__core-js_shared__';
5
- var store = global[SHARED] || setGlobal(SHARED, {});
5
+ var store = global[SHARED] || defineGlobalProperty(SHARED, {});
6
6
 
7
7
  module.exports = store;
@@ -4,9 +4,9 @@ var store = require('../internals/shared-store');
4
4
  (module.exports = function (key, value) {
5
5
  return store[key] || (store[key] = value !== undefined ? value : {});
6
6
  })('versions', []).push({
7
- version: '3.22.3',
7
+ version: '3.22.8',
8
8
  mode: IS_PURE ? 'pure' : 'global',
9
9
  copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',
10
- license: 'https://github.com/zloirock/core-js/blob/v3.22.3/LICENSE',
10
+ license: 'https://github.com/zloirock/core-js/blob/v3.22.8/LICENSE',
11
11
  source: 'https://github.com/zloirock/core-js'
12
12
  });
@@ -1,6 +1,5 @@
1
1
  'use strict';
2
2
  // based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js
3
- var global = require('../internals/global');
4
3
  var uncurryThis = require('../internals/function-uncurry-this');
5
4
 
6
5
  var maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1
@@ -17,7 +16,7 @@ var regexSeparators = /[.\u3002\uFF0E\uFF61]/g; // RFC 3490 separators
17
16
  var OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';
18
17
  var baseMinusTMin = base - tMin;
19
18
 
20
- var RangeError = global.RangeError;
19
+ var $RangeError = RangeError;
21
20
  var exec = uncurryThis(regexSeparators.exec);
22
21
  var floor = Math.floor;
23
22
  var fromCharCode = String.fromCharCode;
@@ -132,7 +131,7 @@ var encode = function (input) {
132
131
  // Increase `delta` enough to advance the decoder's <n,i> state to <m,0>, but guard against overflow.
133
132
  var handledCPCountPlusOne = handledCPCount + 1;
134
133
  if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {
135
- throw RangeError(OVERFLOW_ERROR);
134
+ throw $RangeError(OVERFLOW_ERROR);
136
135
  }
137
136
 
138
137
  delta += (m - n) * handledCPCountPlusOne;
@@ -141,7 +140,7 @@ var encode = function (input) {
141
140
  for (i = 0; i < input.length; i++) {
142
141
  currentValue = input[i];
143
142
  if (currentValue < n && ++delta > maxInt) {
144
- throw RangeError(OVERFLOW_ERROR);
143
+ throw $RangeError(OVERFLOW_ERROR);
145
144
  }
146
145
  if (currentValue == n) {
147
146
  // Represent delta as a generalized variable-length integer.
@@ -1,10 +1,9 @@
1
1
  'use strict';
2
- var global = require('../internals/global');
3
2
  var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
4
3
  var toString = require('../internals/to-string');
5
4
  var requireObjectCoercible = require('../internals/require-object-coercible');
6
5
 
7
- var RangeError = global.RangeError;
6
+ var $RangeError = RangeError;
8
7
 
9
8
  // `String.prototype.repeat` method implementation
10
9
  // https://tc39.es/ecma262/#sec-string.prototype.repeat
@@ -12,7 +11,7 @@ module.exports = function repeat(count) {
12
11
  var str = toString(requireObjectCoercible(this));
13
12
  var result = '';
14
13
  var n = toIntegerOrInfinity(count);
15
- if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions');
14
+ if (n < 0 || n == Infinity) throw $RangeError('Wrong number of repetitions');
16
15
  for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;
17
16
  return result;
18
17
  };
@@ -1,7 +1,7 @@
1
1
  var call = require('../internals/function-call');
2
2
  var getBuiltIn = require('../internals/get-built-in');
3
3
  var wellKnownSymbol = require('../internals/well-known-symbol');
4
- var redefine = require('../internals/redefine');
4
+ var defineBuiltIn = require('../internals/define-built-in');
5
5
 
6
6
  module.exports = function () {
7
7
  var Symbol = getBuiltIn('Symbol');
@@ -13,8 +13,8 @@ module.exports = function () {
13
13
  // `Symbol.prototype[@@toPrimitive]` method
14
14
  // https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive
15
15
  // eslint-disable-next-line no-unused-vars -- required for .length
16
- redefine(SymbolPrototype, TO_PRIMITIVE, function (hint) {
16
+ defineBuiltIn(SymbolPrototype, TO_PRIMITIVE, function (hint) {
17
17
  return call(valueOf, this);
18
- });
18
+ }, { arity: 1 });
19
19
  }
20
20
  };
@@ -0,0 +1,12 @@
1
+ var toPrimitive = require('../internals/to-primitive');
2
+
3
+ var $TypeError = TypeError;
4
+
5
+ // `ToBigInt` abstract operation
6
+ // https://tc39.es/ecma262/#sec-tobigint
7
+ module.exports = function (argument) {
8
+ var prim = toPrimitive(argument, 'number');
9
+ if (typeof prim == 'number') throw $TypeError("Can't convert number to bigint");
10
+ // eslint-disable-next-line es-x/no-bigint -- safe
11
+ return BigInt(prim);
12
+ };
@@ -1,8 +1,7 @@
1
- var global = require('../internals/global');
2
1
  var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
3
2
  var toLength = require('../internals/to-length');
4
3
 
5
- var RangeError = global.RangeError;
4
+ var $RangeError = RangeError;
6
5
 
7
6
  // `ToIndex` abstract operation
8
7
  // https://tc39.es/ecma262/#sec-toindex
@@ -10,6 +9,6 @@ module.exports = function (it) {
10
9
  if (it === undefined) return 0;
11
10
  var number = toIntegerOrInfinity(it);
12
11
  var length = toLength(number);
13
- if (number !== length) throw RangeError('Wrong length or index');
12
+ if (number !== length) throw $RangeError('Wrong length or index');
14
13
  return length;
15
14
  };
@@ -1,10 +1,9 @@
1
- var ceil = Math.ceil;
2
- var floor = Math.floor;
1
+ var trunc = require('../internals/math-trunc');
3
2
 
4
3
  // `ToIntegerOrInfinity` abstract operation
5
4
  // https://tc39.es/ecma262/#sec-tointegerorinfinity
6
5
  module.exports = function (argument) {
7
6
  var number = +argument;
8
- // eslint-disable-next-line no-self-compare -- safe
9
- return number !== number || number === 0 ? 0 : (number > 0 ? floor : ceil)(number);
7
+ // eslint-disable-next-line no-self-compare -- NaN check
8
+ return number !== number || number === 0 ? 0 : trunc(number);
10
9
  };
@@ -1,10 +1,9 @@
1
- var global = require('../internals/global');
2
1
  var requireObjectCoercible = require('../internals/require-object-coercible');
3
2
 
4
- var Object = global.Object;
3
+ var $Object = Object;
5
4
 
6
5
  // `ToObject` abstract operation
7
6
  // https://tc39.es/ecma262/#sec-toobject
8
7
  module.exports = function (argument) {
9
- return Object(requireObjectCoercible(argument));
8
+ return $Object(requireObjectCoercible(argument));
10
9
  };
@@ -1,10 +1,9 @@
1
- var global = require('../internals/global');
2
1
  var toPositiveInteger = require('../internals/to-positive-integer');
3
2
 
4
- var RangeError = global.RangeError;
3
+ var $RangeError = RangeError;
5
4
 
6
5
  module.exports = function (it, BYTES) {
7
6
  var offset = toPositiveInteger(it);
8
- if (offset % BYTES) throw RangeError('Wrong offset');
7
+ if (offset % BYTES) throw $RangeError('Wrong offset');
9
8
  return offset;
10
9
  };
@@ -1,10 +1,9 @@
1
- var global = require('../internals/global');
2
1
  var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
3
2
 
4
- var RangeError = global.RangeError;
3
+ var $RangeError = RangeError;
5
4
 
6
5
  module.exports = function (it) {
7
6
  var result = toIntegerOrInfinity(it);
8
- if (result < 0) throw RangeError("The argument can't be less than 0");
7
+ if (result < 0) throw $RangeError("The argument can't be less than 0");
9
8
  return result;
10
9
  };
@@ -1,4 +1,3 @@
1
- var global = require('../internals/global');
2
1
  var call = require('../internals/function-call');
3
2
  var isObject = require('../internals/is-object');
4
3
  var isSymbol = require('../internals/is-symbol');
@@ -6,7 +5,7 @@ var getMethod = require('../internals/get-method');
6
5
  var ordinaryToPrimitive = require('../internals/ordinary-to-primitive');
7
6
  var wellKnownSymbol = require('../internals/well-known-symbol');
8
7
 
9
- var TypeError = global.TypeError;
8
+ var $TypeError = TypeError;
10
9
  var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
11
10
 
12
11
  // `ToPrimitive` abstract operation
@@ -19,7 +18,7 @@ module.exports = function (input, pref) {
19
18
  if (pref === undefined) pref = 'default';
20
19
  result = call(exoticToPrim, input, pref);
21
20
  if (!isObject(result) || isSymbol(result)) return result;
22
- throw TypeError("Can't convert object to primitive value");
21
+ throw $TypeError("Can't convert object to primitive value");
23
22
  }
24
23
  if (pref === undefined) pref = 'number';
25
24
  return ordinaryToPrimitive(input, pref);
@@ -1,9 +1,8 @@
1
- var global = require('../internals/global');
2
1
  var classof = require('../internals/classof');
3
2
 
4
- var String = global.String;
3
+ var $String = String;
5
4
 
6
5
  module.exports = function (argument) {
7
6
  if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');
8
- return String(argument);
7
+ return $String(argument);
9
8
  };
@@ -1,10 +1,8 @@
1
- var global = require('../internals/global');
2
-
3
- var String = global.String;
1
+ var $String = String;
4
2
 
5
3
  module.exports = function (argument) {
6
4
  try {
7
- return String(argument);
5
+ return $String(argument);
8
6
  } catch (error) {
9
7
  return 'Object';
10
8
  }
@@ -223,11 +223,11 @@ if (DESCRIPTORS) {
223
223
  createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME);
224
224
  }
225
225
 
226
+ var FORCED = TypedArrayConstructor != NativeTypedArrayConstructor;
227
+
226
228
  exported[CONSTRUCTOR_NAME] = TypedArrayConstructor;
227
229
 
228
- $({
229
- global: true, forced: TypedArrayConstructor != NativeTypedArrayConstructor, sham: !NATIVE_ARRAY_BUFFER_VIEWS
230
- }, exported);
230
+ $({ global: true, constructor: true, forced: FORCED, sham: !NATIVE_ARRAY_BUFFER_VIEWS }, exported);
231
231
 
232
232
  if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) {
233
233
  createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES);
@@ -1,8 +1,6 @@
1
- var global = require('../internals/global');
2
-
3
- var TypeError = global.TypeError;
1
+ var $TypeError = TypeError;
4
2
 
5
3
  module.exports = function (passed, required) {
6
- if (passed < required) throw TypeError('Not enough arguments');
4
+ if (passed < required) throw $TypeError('Not enough arguments');
7
5
  return passed;
8
6
  };
@@ -13,7 +13,7 @@ var FORCED = !fails(function () {
13
13
  });
14
14
 
15
15
  // https://github.com/tc39/proposal-error-cause
16
- $({ global: true, forced: FORCED }, {
16
+ $({ global: true, constructor: true, arity: 2, forced: FORCED }, {
17
17
  AggregateError: wrapErrorConstructorWithCause(AGGREGATE_ERROR, function (init) {
18
18
  // eslint-disable-next-line no-unused-vars -- required for functions `.length`
19
19
  return function AggregateError(errors, message) { return apply(init, this, arguments); };
@@ -1,6 +1,5 @@
1
1
  'use strict';
2
2
  var $ = require('../internals/export');
3
- var global = require('../internals/global');
4
3
  var isPrototypeOf = require('../internals/object-is-prototype-of');
5
4
  var getPrototypeOf = require('../internals/object-get-prototype-of');
6
5
  var setPrototypeOf = require('../internals/object-set-prototype-of');
@@ -16,7 +15,7 @@ var wellKnownSymbol = require('../internals/well-known-symbol');
16
15
  var ERROR_STACK_INSTALLABLE = require('../internals/error-stack-installable');
17
16
 
18
17
  var TO_STRING_TAG = wellKnownSymbol('toStringTag');
19
- var Error = global.Error;
18
+ var $Error = Error;
20
19
  var push = [].push;
21
20
 
22
21
  var $AggregateError = function AggregateError(errors, message /* , options */) {
@@ -24,7 +23,7 @@ var $AggregateError = function AggregateError(errors, message /* , options */) {
24
23
  var isInstance = isPrototypeOf(AggregateErrorPrototype, this);
25
24
  var that;
26
25
  if (setPrototypeOf) {
27
- that = setPrototypeOf(new Error(), isInstance ? getPrototypeOf(this) : AggregateErrorPrototype);
26
+ that = setPrototypeOf(new $Error(), isInstance ? getPrototypeOf(this) : AggregateErrorPrototype);
28
27
  } else {
29
28
  that = isInstance ? this : create(AggregateErrorPrototype);
30
29
  createNonEnumerableProperty(that, TO_STRING_TAG, 'Error');
@@ -38,10 +37,10 @@ var $AggregateError = function AggregateError(errors, message /* , options */) {
38
37
  return that;
39
38
  };
40
39
 
41
- if (setPrototypeOf) setPrototypeOf($AggregateError, Error);
42
- else copyConstructorProperties($AggregateError, Error, { name: true });
40
+ if (setPrototypeOf) setPrototypeOf($AggregateError, $Error);
41
+ else copyConstructorProperties($AggregateError, $Error, { name: true });
43
42
 
44
- var AggregateErrorPrototype = $AggregateError.prototype = create(Error.prototype, {
43
+ var AggregateErrorPrototype = $AggregateError.prototype = create($Error.prototype, {
45
44
  constructor: createPropertyDescriptor(1, $AggregateError),
46
45
  message: createPropertyDescriptor(1, ''),
47
46
  name: createPropertyDescriptor(1, 'AggregateError')
@@ -49,6 +48,6 @@ var AggregateErrorPrototype = $AggregateError.prototype = create(Error.prototype
49
48
 
50
49
  // `AggregateError` constructor
51
50
  // https://tc39.es/ecma262/#sec-aggregate-error-constructor
52
- $({ global: true }, {
51
+ $({ global: true, constructor: true, arity: 2 }, {
53
52
  AggregateError: $AggregateError
54
53
  });
@@ -10,7 +10,7 @@ var NativeArrayBuffer = global[ARRAY_BUFFER];
10
10
 
11
11
  // `ArrayBuffer` constructor
12
12
  // https://tc39.es/ecma262/#sec-arraybuffer-constructor
13
- $({ global: true, forced: NativeArrayBuffer !== ArrayBuffer }, {
13
+ $({ global: true, constructor: true, forced: NativeArrayBuffer !== ArrayBuffer }, {
14
14
  ArrayBuffer: ArrayBuffer
15
15
  });
16
16
 
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
  var $ = require('../internals/export');
3
- var global = require('../internals/global');
4
3
  var fails = require('../internals/fails');
5
4
  var isArray = require('../internals/is-array');
6
5
  var isObject = require('../internals/is-object');
7
6
  var toObject = require('../internals/to-object');
8
7
  var lengthOfArrayLike = require('../internals/length-of-array-like');
8
+ var doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');
9
9
  var createProperty = require('../internals/create-property');
10
10
  var arraySpeciesCreate = require('../internals/array-species-create');
11
11
  var arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');
@@ -13,9 +13,6 @@ var wellKnownSymbol = require('../internals/well-known-symbol');
13
13
  var V8_VERSION = require('../internals/engine-v8-version');
14
14
 
15
15
  var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
16
- var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
17
- var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
18
- var TypeError = global.TypeError;
19
16
 
20
17
  // We can't use this feature detection in V8 since it causes
21
18
  // deoptimization and serious performance degradation
@@ -39,7 +36,7 @@ var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
39
36
  // `Array.prototype.concat` method
40
37
  // https://tc39.es/ecma262/#sec-array.prototype.concat
41
38
  // with adding support of @@isConcatSpreadable and @@species
42
- $({ target: 'Array', proto: true, forced: FORCED }, {
39
+ $({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {
43
40
  // eslint-disable-next-line no-unused-vars -- required for `.length`
44
41
  concat: function concat(arg) {
45
42
  var O = toObject(this);
@@ -50,10 +47,10 @@ $({ target: 'Array', proto: true, forced: FORCED }, {
50
47
  E = i === -1 ? O : arguments[i];
51
48
  if (isConcatSpreadable(E)) {
52
49
  len = lengthOfArrayLike(E);
53
- if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
50
+ doesNotExceedSafeInteger(n + len);
54
51
  for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
55
52
  } else {
56
- if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
53
+ doesNotExceedSafeInteger(n + 1);
57
54
  createProperty(A, n++, E);
58
55
  }
59
56
  }
@@ -1,15 +1,15 @@
1
1
  'use strict';
2
2
  var $ = require('../internals/export');
3
- var global = require('../internals/global');
4
3
  var fails = require('../internals/fails');
5
4
  var isConstructor = require('../internals/is-constructor');
6
5
  var createProperty = require('../internals/create-property');
7
6
 
8
- var Array = global.Array;
7
+ var $Array = Array;
9
8
 
10
9
  var ISNT_GENERIC = fails(function () {
11
10
  function F() { /* empty */ }
12
- return !(Array.of.call(F) instanceof F);
11
+ // eslint-disable-next-line es-x/no-array-of -- safe
12
+ return !($Array.of.call(F) instanceof F);
13
13
  });
14
14
 
15
15
  // `Array.of` method
@@ -19,7 +19,7 @@ $({ target: 'Array', stat: true, forced: ISNT_GENERIC }, {
19
19
  of: function of(/* ...args */) {
20
20
  var index = 0;
21
21
  var argumentsLength = arguments.length;
22
- var result = new (isConstructor(this) ? this : Array)(argumentsLength);
22
+ var result = new (isConstructor(this) ? this : $Array)(argumentsLength);
23
23
  while (argumentsLength > index) createProperty(result, index, arguments[index++]);
24
24
  result.length = argumentsLength;
25
25
  return result;
@@ -1,6 +1,5 @@
1
1
  'use strict';
2
2
  var $ = require('../internals/export');
3
- var global = require('../internals/global');
4
3
  var isArray = require('../internals/is-array');
5
4
  var isConstructor = require('../internals/is-constructor');
6
5
  var isObject = require('../internals/is-object');
@@ -15,7 +14,7 @@ var un$Slice = require('../internals/array-slice');
15
14
  var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');
16
15
 
17
16
  var SPECIES = wellKnownSymbol('species');
18
- var Array = global.Array;
17
+ var $Array = Array;
19
18
  var max = Math.max;
20
19
 
21
20
  // `Array.prototype.slice` method
@@ -32,17 +31,17 @@ $({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {
32
31
  if (isArray(O)) {
33
32
  Constructor = O.constructor;
34
33
  // cross-realm fallback
35
- if (isConstructor(Constructor) && (Constructor === Array || isArray(Constructor.prototype))) {
34
+ if (isConstructor(Constructor) && (Constructor === $Array || isArray(Constructor.prototype))) {
36
35
  Constructor = undefined;
37
36
  } else if (isObject(Constructor)) {
38
37
  Constructor = Constructor[SPECIES];
39
38
  if (Constructor === null) Constructor = undefined;
40
39
  }
41
- if (Constructor === Array || Constructor === undefined) {
40
+ if (Constructor === $Array || Constructor === undefined) {
42
41
  return un$Slice(O, k, fin);
43
42
  }
44
43
  }
45
- result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));
44
+ result = new (Constructor === undefined ? $Array : Constructor)(max(fin - k, 0));
46
45
  for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);
47
46
  result.length = n;
48
47
  return result;
@@ -4,6 +4,7 @@ var uncurryThis = require('../internals/function-uncurry-this');
4
4
  var aCallable = require('../internals/a-callable');
5
5
  var toObject = require('../internals/to-object');
6
6
  var lengthOfArrayLike = require('../internals/length-of-array-like');
7
+ var deletePropertyOrThrow = require('../internals/delete-property-or-throw');
7
8
  var toString = require('../internals/to-string');
8
9
  var fails = require('../internals/fails');
9
10
  var internalSort = require('../internals/array-sort');
@@ -98,7 +99,7 @@ $({ target: 'Array', proto: true, forced: FORCED }, {
98
99
  index = 0;
99
100
 
100
101
  while (index < itemsLength) array[index] = items[index++];
101
- while (index < arrayLength) delete array[index++];
102
+ while (index < arrayLength) deletePropertyOrThrow(array, index++);
102
103
 
103
104
  return array;
104
105
  }
@@ -1,21 +1,19 @@
1
1
  'use strict';
2
2
  var $ = require('../internals/export');
3
- var global = require('../internals/global');
3
+ var toObject = require('../internals/to-object');
4
4
  var toAbsoluteIndex = require('../internals/to-absolute-index');
5
5
  var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
6
6
  var lengthOfArrayLike = require('../internals/length-of-array-like');
7
- var toObject = require('../internals/to-object');
7
+ var doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');
8
8
  var arraySpeciesCreate = require('../internals/array-species-create');
9
9
  var createProperty = require('../internals/create-property');
10
+ var deletePropertyOrThrow = require('../internals/delete-property-or-throw');
10
11
  var arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');
11
12
 
12
13
  var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice');
13
14
 
14
- var TypeError = global.TypeError;
15
15
  var max = Math.max;
16
16
  var min = Math.min;
17
- var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
18
- var MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded';
19
17
 
20
18
  // `Array.prototype.splice` method
21
19
  // https://tc39.es/ecma262/#sec-array.prototype.splice
@@ -36,9 +34,7 @@ $({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {
36
34
  insertCount = argumentsLength - 2;
37
35
  actualDeleteCount = min(max(toIntegerOrInfinity(deleteCount), 0), len - actualStart);
38
36
  }
39
- if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER) {
40
- throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED);
41
- }
37
+ doesNotExceedSafeInteger(len + insertCount - actualDeleteCount);
42
38
  A = arraySpeciesCreate(O, actualDeleteCount);
43
39
  for (k = 0; k < actualDeleteCount; k++) {
44
40
  from = actualStart + k;
@@ -50,15 +46,15 @@ $({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {
50
46
  from = k + actualDeleteCount;
51
47
  to = k + insertCount;
52
48
  if (from in O) O[to] = O[from];
53
- else delete O[to];
49
+ else deletePropertyOrThrow(O, to);
54
50
  }
55
- for (k = len; k > len - actualDeleteCount + insertCount; k--) delete O[k - 1];
51
+ for (k = len; k > len - actualDeleteCount + insertCount; k--) deletePropertyOrThrow(O, k - 1);
56
52
  } else if (insertCount > actualDeleteCount) {
57
53
  for (k = len - actualDeleteCount; k > actualStart; k--) {
58
54
  from = k + actualDeleteCount - 1;
59
55
  to = k + insertCount - 1;
60
56
  if (from in O) O[to] = O[from];
61
- else delete O[to];
57
+ else deletePropertyOrThrow(O, to);
62
58
  }
63
59
  }
64
60
  for (k = 0; k < insertCount; k++) {
@@ -4,6 +4,6 @@ var NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');
4
4
 
5
5
  // `DataView` constructor
6
6
  // https://tc39.es/ecma262/#sec-dataview-constructor
7
- $({ global: true, forced: !NATIVE_ARRAY_BUFFER }, {
7
+ $({ global: true, constructor: true, forced: !NATIVE_ARRAY_BUFFER }, {
8
8
  DataView: ArrayBufferModule.DataView
9
9
  });
@@ -1,15 +1,14 @@
1
1
  // TODO: Remove from `core-js@4`
2
2
  var $ = require('../internals/export');
3
- var global = require('../internals/global');
4
3
  var uncurryThis = require('../internals/function-uncurry-this');
5
4
 
6
- var Date = global.Date;
7
- var getTime = uncurryThis(Date.prototype.getTime);
5
+ var $Date = Date;
6
+ var getTime = uncurryThis($Date.prototype.getTime);
8
7
 
9
8
  // `Date.now` method
10
9
  // https://tc39.es/ecma262/#sec-date.now
11
10
  $({ target: 'Date', stat: true }, {
12
11
  now: function now() {
13
- return getTime(new Date());
12
+ return getTime(new $Date());
14
13
  }
15
14
  });
@@ -11,7 +11,7 @@ var FORCED = fails(function () {
11
11
 
12
12
  // `Date.prototype.toJSON` method
13
13
  // https://tc39.es/ecma262/#sec-date.prototype.tojson
14
- $({ target: 'Date', proto: true, forced: FORCED }, {
14
+ $({ target: 'Date', proto: true, arity: 1, forced: FORCED }, {
15
15
  // eslint-disable-next-line no-unused-vars -- required for `.length`
16
16
  toJSON: function toJSON(key) {
17
17
  var O = toObject(this);
@@ -1,5 +1,5 @@
1
1
  var hasOwn = require('../internals/has-own-property');
2
- var redefine = require('../internals/redefine');
2
+ var defineBuiltIn = require('../internals/define-built-in');
3
3
  var dateToPrimitive = require('../internals/date-to-primitive');
4
4
  var wellKnownSymbol = require('../internals/well-known-symbol');
5
5
 
@@ -9,5 +9,5 @@ var DatePrototype = Date.prototype;
9
9
  // `Date.prototype[@@toPrimitive]` method
10
10
  // https://tc39.es/ecma262/#sec-date.prototype-@@toprimitive
11
11
  if (!hasOwn(DatePrototype, TO_PRIMITIVE)) {
12
- redefine(DatePrototype, TO_PRIMITIVE, dateToPrimitive);
12
+ defineBuiltIn(DatePrototype, TO_PRIMITIVE, dateToPrimitive);
13
13
  }
@@ -1,6 +1,6 @@
1
1
  // TODO: Remove from `core-js@4`
2
2
  var uncurryThis = require('../internals/function-uncurry-this');
3
- var redefine = require('../internals/redefine');
3
+ var defineBuiltIn = require('../internals/define-built-in');
4
4
 
5
5
  var DatePrototype = Date.prototype;
6
6
  var INVALID_DATE = 'Invalid Date';
@@ -11,7 +11,7 @@ var getTime = uncurryThis(DatePrototype.getTime);
11
11
  // `Date.prototype.toString` method
12
12
  // https://tc39.es/ecma262/#sec-date.prototype.tostring
13
13
  if (String(new Date(NaN)) != INVALID_DATE) {
14
- redefine(DatePrototype, TO_STRING, function toString() {
14
+ defineBuiltIn(DatePrototype, TO_STRING, function toString() {
15
15
  var value = getTime(this);
16
16
  // eslint-disable-next-line no-self-compare -- NaN check
17
17
  return value === value ? un$DateToString(this) : INVALID_DATE;
@@ -12,14 +12,14 @@ var FORCED = Error('e', { cause: 7 }).cause !== 7;
12
12
  var exportGlobalErrorCauseWrapper = function (ERROR_NAME, wrapper) {
13
13
  var O = {};
14
14
  O[ERROR_NAME] = wrapErrorConstructorWithCause(ERROR_NAME, wrapper, FORCED);
15
- $({ global: true, forced: FORCED }, O);
15
+ $({ global: true, constructor: true, arity: 1, forced: FORCED }, O);
16
16
  };
17
17
 
18
18
  var exportWebAssemblyErrorCauseWrapper = function (ERROR_NAME, wrapper) {
19
19
  if (WebAssembly && WebAssembly[ERROR_NAME]) {
20
20
  var O = {};
21
21
  O[ERROR_NAME] = wrapErrorConstructorWithCause(WEB_ASSEMBLY + '.' + ERROR_NAME, wrapper, FORCED);
22
- $({ target: WEB_ASSEMBLY, stat: true, forced: FORCED }, O);
22
+ $({ target: WEB_ASSEMBLY, stat: true, constructor: true, arity: 1, forced: FORCED }, O);
23
23
  }
24
24
  };
25
25
 
@@ -1,4 +1,4 @@
1
- var redefine = require('../internals/redefine');
1
+ var defineBuiltIn = require('../internals/define-built-in');
2
2
  var errorToString = require('../internals/error-to-string');
3
3
 
4
4
  var ErrorPrototype = Error.prototype;
@@ -6,5 +6,5 @@ var ErrorPrototype = Error.prototype;
6
6
  // `Error.prototype.toString` method fix
7
7
  // https://tc39.es/ecma262/#sec-error.prototype.tostring
8
8
  if (ErrorPrototype.toString !== errorToString) {
9
- redefine(ErrorPrototype, 'toString', errorToString);
9
+ defineBuiltIn(ErrorPrototype, 'toString', errorToString);
10
10
  }