core-js-pure 3.17.2 → 3.18.2

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 (202) hide show
  1. package/configurator.js +7 -3
  2. package/es/promise/all-settled.js +2 -1
  3. package/es/promise/any.js +2 -1
  4. package/features/array/from-async.js +8 -0
  5. package/features/array/index.js +2 -0
  6. package/features/index.js +2 -0
  7. package/features/map/from.js +2 -1
  8. package/features/map/group-by.js +2 -1
  9. package/features/map/key-by.js +2 -1
  10. package/features/map/of.js +2 -1
  11. package/features/promise/try.js +2 -1
  12. package/features/set/from.js +2 -1
  13. package/features/set/of.js +2 -1
  14. package/features/typed-array/from-async.js +1 -0
  15. package/features/typed-array/index.js +2 -0
  16. package/features/typed-array/methods.js +2 -0
  17. package/features/weak-map/from.js +2 -1
  18. package/features/weak-map/of.js +2 -1
  19. package/features/weak-set/from.js +2 -1
  20. package/features/weak-set/of.js +2 -1
  21. package/internals/a-callable.js +8 -0
  22. package/internals/a-constructor.js +8 -0
  23. package/internals/a-possible-prototype.js +4 -5
  24. package/internals/an-instance.js +2 -3
  25. package/internals/an-object.js +4 -4
  26. package/internals/array-copy-within.js +2 -2
  27. package/internals/array-fill.js +2 -2
  28. package/internals/array-from-async.js +36 -0
  29. package/internals/array-from.js +8 -7
  30. package/internals/array-group-by.js +2 -2
  31. package/internals/array-includes.js +2 -2
  32. package/internals/array-iteration-from-last.js +2 -2
  33. package/internals/array-iteration.js +2 -2
  34. package/internals/array-last-index-of.js +4 -4
  35. package/internals/array-reduce.js +4 -4
  36. package/internals/array-species-constructor.js +3 -2
  37. package/internals/array-unique-by.js +5 -5
  38. package/internals/async-from-sync-iterator.js +4 -4
  39. package/internals/async-iterator-create-proxy.js +7 -6
  40. package/internals/async-iterator-iteration.js +27 -15
  41. package/internals/async-iterator-prototype.js +16 -16
  42. package/internals/classof.js +2 -1
  43. package/internals/collection-add-all.js +2 -2
  44. package/internals/collection-delete-all.js +2 -2
  45. package/internals/collection-from.js +4 -3
  46. package/internals/collection-weak.js +3 -3
  47. package/internals/collection.js +3 -2
  48. package/internals/copy-constructor-properties.js +2 -2
  49. package/internals/define-iterator.js +21 -13
  50. package/internals/define-well-known-symbol.js +2 -2
  51. package/internals/dom-token-list-prototype.js +7 -0
  52. package/internals/export.js +6 -4
  53. package/internals/flatten-into-array.js +4 -3
  54. package/internals/function-bind-context.js +2 -2
  55. package/internals/function-bind.js +2 -2
  56. package/internals/function-name.js +17 -0
  57. package/internals/get-async-iterator.js +2 -5
  58. package/internals/get-built-in.js +2 -1
  59. package/internals/get-iterator-method.js +3 -2
  60. package/internals/get-iterator.js +5 -5
  61. package/internals/get-method.js +4 -3
  62. package/internals/{has.js → has-own-property.js} +2 -0
  63. package/internals/inherit-if-required.js +2 -1
  64. package/internals/inspect-source.js +2 -1
  65. package/internals/install-error-cause.js +10 -0
  66. package/internals/internal-metadata.js +4 -4
  67. package/internals/internal-state.js +4 -4
  68. package/internals/is-array.js +2 -2
  69. package/internals/is-callable.js +5 -0
  70. package/internals/is-constructor.js +41 -0
  71. package/internals/is-data-descriptor.js +2 -2
  72. package/internals/is-forced.js +2 -1
  73. package/internals/is-integral-number.js +10 -0
  74. package/internals/is-object.js +3 -1
  75. package/internals/is-symbol.js +2 -1
  76. package/internals/iterate.js +3 -3
  77. package/internals/iterator-close.js +3 -2
  78. package/internals/iterator-create-proxy.js +10 -9
  79. package/internals/iterators-core.js +8 -6
  80. package/internals/length-of-array-like.js +7 -0
  81. package/internals/map-upsert.js +4 -3
  82. package/internals/native-weak-map.js +2 -1
  83. package/internals/new-promise-capability.js +3 -3
  84. package/internals/number-parse-float.js +6 -1
  85. package/internals/number-parse-int.js +6 -1
  86. package/internals/object-get-own-property-descriptor.js +2 -2
  87. package/internals/object-get-prototype-of.js +8 -6
  88. package/internals/object-iterator.js +2 -2
  89. package/internals/object-keys-internal.js +3 -3
  90. package/internals/ordinary-to-primitive.js +4 -3
  91. package/internals/regexp-exec-abstract.js +17 -1
  92. package/internals/regexp-exec.js +1 -1
  93. package/internals/regexp-unsupported-ncg.js +1 -1
  94. package/internals/set-to-string-tag.js +2 -2
  95. package/internals/shared.js +1 -1
  96. package/internals/species-constructor.js +2 -2
  97. package/internals/string-multibyte.js +2 -3
  98. package/internals/string-pad-webkit-bug.js +0 -1
  99. package/internals/string-pad.js +1 -1
  100. package/internals/string-repeat.js +2 -2
  101. package/internals/string-trim-forced.js +4 -1
  102. package/internals/task.js +3 -2
  103. package/internals/to-absolute-index.js +2 -2
  104. package/internals/to-index.js +2 -2
  105. package/internals/to-integer-or-infinity.js +10 -0
  106. package/internals/to-length.js +2 -2
  107. package/internals/to-positive-integer.js +2 -2
  108. package/internals/to-primitive.js +3 -2
  109. package/internals/to-string.js +2 -2
  110. package/internals/try-to-string.js +7 -0
  111. package/internals/well-known-symbol.js +3 -3
  112. package/modules/es.aggregate-error.js +5 -2
  113. package/modules/es.array.at.js +4 -4
  114. package/modules/es.array.concat.js +2 -2
  115. package/modules/es.array.flat-map.js +4 -4
  116. package/modules/es.array.flat.js +4 -4
  117. package/modules/es.array.of.js +2 -1
  118. package/modules/es.array.slice.js +5 -4
  119. package/modules/es.array.sort.js +4 -4
  120. package/modules/es.array.splice.js +4 -4
  121. package/modules/es.date.set-year.js +2 -2
  122. package/modules/es.function.has-instance.js +2 -1
  123. package/modules/es.number.is-integer.js +2 -2
  124. package/modules/es.number.is-safe-integer.js +2 -2
  125. package/modules/es.number.to-fixed.js +2 -2
  126. package/modules/es.object.define-getter.js +2 -2
  127. package/modules/es.object.define-setter.js +2 -2
  128. package/modules/es.object.has-own.js +1 -1
  129. package/modules/es.parse-float.js +3 -3
  130. package/modules/es.parse-int.js +3 -3
  131. package/modules/es.promise.all-settled.js +2 -2
  132. package/modules/es.promise.any.js +2 -2
  133. package/modules/es.promise.finally.js +3 -2
  134. package/modules/es.promise.js +10 -9
  135. package/modules/es.reflect.apply.js +2 -2
  136. package/modules/es.reflect.construct.js +3 -3
  137. package/modules/es.string.at-alternative.js +3 -4
  138. package/modules/es.string.ends-with.js +1 -1
  139. package/modules/es.string.match-all.js +6 -16
  140. package/modules/es.string.raw.js +12 -6
  141. package/modules/es.string.replace-all.js +5 -3
  142. package/modules/es.string.substr.js +7 -4
  143. package/modules/es.string.trim-end.js +1 -1
  144. package/modules/es.string.trim-start.js +1 -1
  145. package/modules/es.symbol.js +20 -16
  146. package/modules/esnext.aggregate-error.js +1 -1
  147. package/modules/esnext.array.from-async.js +8 -0
  148. package/modules/esnext.async-iterator.constructor.js +3 -3
  149. package/modules/esnext.async-iterator.filter.js +2 -2
  150. package/modules/esnext.async-iterator.flat-map.js +3 -3
  151. package/modules/esnext.async-iterator.from.js +7 -9
  152. package/modules/esnext.async-iterator.map.js +2 -2
  153. package/modules/esnext.async-iterator.reduce.js +3 -3
  154. package/modules/esnext.async-iterator.to-array.js +1 -1
  155. package/modules/esnext.global-this.js +1 -1
  156. package/modules/esnext.iterator.constructor.js +5 -12
  157. package/modules/esnext.iterator.every.js +2 -2
  158. package/modules/esnext.iterator.filter.js +2 -2
  159. package/modules/esnext.iterator.find.js +2 -2
  160. package/modules/esnext.iterator.flat-map.js +4 -4
  161. package/modules/esnext.iterator.from.js +5 -7
  162. package/modules/esnext.iterator.map.js +2 -2
  163. package/modules/esnext.iterator.reduce.js +2 -2
  164. package/modules/esnext.iterator.some.js +2 -2
  165. package/modules/esnext.map.filter.js +2 -2
  166. package/modules/esnext.map.group-by.js +9 -7
  167. package/modules/esnext.map.key-by.js +3 -3
  168. package/modules/esnext.map.key-of.js +1 -1
  169. package/modules/esnext.map.map-keys.js +2 -2
  170. package/modules/esnext.map.map-values.js +2 -2
  171. package/modules/esnext.map.merge.js +2 -2
  172. package/modules/esnext.map.reduce.js +2 -2
  173. package/modules/esnext.map.update-or-insert.js +1 -1
  174. package/modules/esnext.map.update.js +3 -3
  175. package/modules/esnext.number.from-string.js +2 -2
  176. package/modules/esnext.observable.js +16 -14
  177. package/modules/esnext.promise.all-settled.js +1 -1
  178. package/modules/esnext.promise.any.js +1 -1
  179. package/modules/esnext.set.difference.js +2 -2
  180. package/modules/esnext.set.filter.js +2 -2
  181. package/modules/esnext.set.intersection.js +3 -3
  182. package/modules/esnext.set.is-disjoint-from.js +2 -2
  183. package/modules/esnext.set.is-subset-of.js +4 -3
  184. package/modules/esnext.set.is-superset-of.js +2 -2
  185. package/modules/esnext.set.map.js +2 -2
  186. package/modules/esnext.set.reduce.js +2 -2
  187. package/modules/esnext.set.symmetric-difference.js +3 -3
  188. package/modules/esnext.set.union.js +2 -2
  189. package/modules/esnext.string.match-all.js +1 -1
  190. package/modules/esnext.string.replace-all.js +1 -1
  191. package/modules/esnext.typed-array.from-async.js +1 -0
  192. package/modules/web.dom-collections.iterator.js +1 -1
  193. package/modules/web.timers.js +2 -1
  194. package/modules/web.url-search-params.js +7 -6
  195. package/modules/web.url.js +6 -6
  196. package/package.json +2 -2
  197. package/postinstall.js +1 -1
  198. package/proposals/array-from-async.js +3 -0
  199. package/stage/1.js +1 -0
  200. package/internals/a-function.js +0 -5
  201. package/internals/is-integer.js +0 -9
  202. package/internals/to-integer.js +0 -8
@@ -1,5 +1,5 @@
1
1
  var anObject = require('../internals/an-object');
2
- var aFunction = require('../internals/a-function');
2
+ var aConstructor = require('../internals/a-constructor');
3
3
  var wellKnownSymbol = require('../internals/well-known-symbol');
4
4
 
5
5
  var SPECIES = wellKnownSymbol('species');
@@ -9,5 +9,5 @@ var SPECIES = wellKnownSymbol('species');
9
9
  module.exports = function (O, defaultConstructor) {
10
10
  var C = anObject(O).constructor;
11
11
  var S;
12
- return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);
12
+ return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aConstructor(S);
13
13
  };
@@ -1,12 +1,11 @@
1
- var toInteger = require('../internals/to-integer');
1
+ var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
2
2
  var toString = require('../internals/to-string');
3
3
  var requireObjectCoercible = require('../internals/require-object-coercible');
4
4
 
5
- // `String.prototype.codePointAt` methods implementation
6
5
  var createMethod = function (CONVERT_TO_STRING) {
7
6
  return function ($this, pos) {
8
7
  var S = toString(requireObjectCoercible($this));
9
- var position = toInteger(pos);
8
+ var position = toIntegerOrInfinity(pos);
10
9
  var size = S.length;
11
10
  var first, second;
12
11
  if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;
@@ -1,5 +1,4 @@
1
1
  // https://github.com/zloirock/core-js/issues/280
2
2
  var userAgent = require('../internals/engine-user-agent');
3
3
 
4
- // eslint-disable-next-line unicorn/no-unsafe-regex -- safe
5
4
  module.exports = /Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(userAgent);
@@ -10,9 +10,9 @@ var ceil = Math.ceil;
10
10
  var createMethod = function (IS_END) {
11
11
  return function ($this, maxLength, fillString) {
12
12
  var S = toString(requireObjectCoercible($this));
13
+ var intMaxLength = toLength(maxLength);
13
14
  var stringLength = S.length;
14
15
  var fillStr = fillString === undefined ? ' ' : toString(fillString);
15
- var intMaxLength = toLength(maxLength);
16
16
  var fillLen, stringFiller;
17
17
  if (intMaxLength <= stringLength || fillStr == '') return S;
18
18
  fillLen = intMaxLength - stringLength;
@@ -1,5 +1,5 @@
1
1
  'use strict';
2
- var toInteger = require('../internals/to-integer');
2
+ var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
3
3
  var toString = require('../internals/to-string');
4
4
  var requireObjectCoercible = require('../internals/require-object-coercible');
5
5
 
@@ -8,7 +8,7 @@ var requireObjectCoercible = require('../internals/require-object-coercible');
8
8
  module.exports = function repeat(count) {
9
9
  var str = toString(requireObjectCoercible(this));
10
10
  var result = '';
11
- var n = toInteger(count);
11
+ var n = toIntegerOrInfinity(count);
12
12
  if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions');
13
13
  for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;
14
14
  return result;
@@ -1,3 +1,4 @@
1
+ var PROPER_FUNCTION_NAME = require('../internals/function-name').PROPER;
1
2
  var fails = require('../internals/fails');
2
3
  var whitespaces = require('../internals/whitespaces');
3
4
 
@@ -7,6 +8,8 @@ var non = '\u200B\u0085\u180E';
7
8
  // of whitespaces and has a correct name
8
9
  module.exports = function (METHOD_NAME) {
9
10
  return fails(function () {
10
- return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;
11
+ return !!whitespaces[METHOD_NAME]()
12
+ || non[METHOD_NAME]() !== non
13
+ || (PROPER_FUNCTION_NAME && whitespaces[METHOD_NAME].name !== METHOD_NAME);
11
14
  });
12
15
  };
package/internals/task.js CHANGED
@@ -1,4 +1,5 @@
1
1
  var global = require('../internals/global');
2
+ var isCallable = require('../internals/is-callable');
2
3
  var fails = require('../internals/fails');
3
4
  var bind = require('../internals/function-bind-context');
4
5
  var html = require('../internals/html');
@@ -54,7 +55,7 @@ if (!set || !clear) {
54
55
  while (argumentsLength > i) args.push(arguments[i++]);
55
56
  queue[++counter] = function () {
56
57
  // eslint-disable-next-line no-new-func -- spec requirement
57
- (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);
58
+ (isCallable(fn) ? fn : Function(fn)).apply(undefined, args);
58
59
  };
59
60
  defer(counter);
60
61
  return counter;
@@ -83,7 +84,7 @@ if (!set || !clear) {
83
84
  // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'
84
85
  } else if (
85
86
  global.addEventListener &&
86
- typeof postMessage == 'function' &&
87
+ isCallable(global.postMessage) &&
87
88
  !global.importScripts &&
88
89
  location && location.protocol !== 'file:' &&
89
90
  !fails(post)
@@ -1,4 +1,4 @@
1
- var toInteger = require('../internals/to-integer');
1
+ var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
2
2
 
3
3
  var max = Math.max;
4
4
  var min = Math.min;
@@ -7,6 +7,6 @@ var min = Math.min;
7
7
  // Let integer be ? ToInteger(index).
8
8
  // If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
9
9
  module.exports = function (index, length) {
10
- var integer = toInteger(index);
10
+ var integer = toIntegerOrInfinity(index);
11
11
  return integer < 0 ? max(integer + length, 0) : min(integer, length);
12
12
  };
@@ -1,11 +1,11 @@
1
- var toInteger = require('../internals/to-integer');
1
+ var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
2
2
  var toLength = require('../internals/to-length');
3
3
 
4
4
  // `ToIndex` abstract operation
5
5
  // https://tc39.es/ecma262/#sec-toindex
6
6
  module.exports = function (it) {
7
7
  if (it === undefined) return 0;
8
- var number = toInteger(it);
8
+ var number = toIntegerOrInfinity(it);
9
9
  var length = toLength(number);
10
10
  if (number !== length) throw RangeError('Wrong length or index');
11
11
  return length;
@@ -0,0 +1,10 @@
1
+ var ceil = Math.ceil;
2
+ var floor = Math.floor;
3
+
4
+ // `ToIntegerOrInfinity` abstract operation
5
+ // https://tc39.es/ecma262/#sec-tointegerorinfinity
6
+ module.exports = function (argument) {
7
+ var number = +argument;
8
+ // eslint-disable-next-line no-self-compare -- safe
9
+ return number !== number || number === 0 ? 0 : (number > 0 ? floor : ceil)(number);
10
+ };
@@ -1,9 +1,9 @@
1
- var toInteger = require('../internals/to-integer');
1
+ var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
2
2
 
3
3
  var min = Math.min;
4
4
 
5
5
  // `ToLength` abstract operation
6
6
  // https://tc39.es/ecma262/#sec-tolength
7
7
  module.exports = function (argument) {
8
- return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
8
+ return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
9
9
  };
@@ -1,7 +1,7 @@
1
- var toInteger = require('../internals/to-integer');
1
+ var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
2
2
 
3
3
  module.exports = function (it) {
4
- var result = toInteger(it);
4
+ var result = toIntegerOrInfinity(it);
5
5
  if (result < 0) throw RangeError("The argument can't be less than 0");
6
6
  return result;
7
7
  };
@@ -1,5 +1,6 @@
1
1
  var isObject = require('../internals/is-object');
2
2
  var isSymbol = require('../internals/is-symbol');
3
+ var getMethod = require('../internals/get-method');
3
4
  var ordinaryToPrimitive = require('../internals/ordinary-to-primitive');
4
5
  var wellKnownSymbol = require('../internals/well-known-symbol');
5
6
 
@@ -9,9 +10,9 @@ var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
9
10
  // https://tc39.es/ecma262/#sec-toprimitive
10
11
  module.exports = function (input, pref) {
11
12
  if (!isObject(input) || isSymbol(input)) return input;
12
- var exoticToPrim = input[TO_PRIMITIVE];
13
+ var exoticToPrim = getMethod(input, TO_PRIMITIVE);
13
14
  var result;
14
- if (exoticToPrim !== undefined) {
15
+ if (exoticToPrim) {
15
16
  if (pref === undefined) pref = 'default';
16
17
  result = exoticToPrim.call(input, pref);
17
18
  if (!isObject(result) || isSymbol(result)) return result;
@@ -1,6 +1,6 @@
1
- var isSymbol = require('../internals/is-symbol');
1
+ var classof = require('../internals/classof');
2
2
 
3
3
  module.exports = function (argument) {
4
- if (isSymbol(argument)) throw TypeError('Cannot convert a Symbol value to a string');
4
+ if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');
5
5
  return String(argument);
6
6
  };
@@ -0,0 +1,7 @@
1
+ module.exports = function (argument) {
2
+ try {
3
+ return String(argument);
4
+ } catch (error) {
5
+ return 'Object';
6
+ }
7
+ };
@@ -1,6 +1,6 @@
1
1
  var global = require('../internals/global');
2
2
  var shared = require('../internals/shared');
3
- var has = require('../internals/has');
3
+ var hasOwn = require('../internals/has-own-property');
4
4
  var uid = require('../internals/uid');
5
5
  var NATIVE_SYMBOL = require('../internals/native-symbol');
6
6
  var USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');
@@ -10,8 +10,8 @@ var Symbol = global.Symbol;
10
10
  var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;
11
11
 
12
12
  module.exports = function (name) {
13
- if (!has(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {
14
- if (NATIVE_SYMBOL && has(Symbol, name)) {
13
+ if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {
14
+ if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {
15
15
  WellKnownSymbolsStore[name] = Symbol[name];
16
16
  } else {
17
17
  WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
@@ -5,17 +5,20 @@ var setPrototypeOf = require('../internals/object-set-prototype-of');
5
5
  var create = require('../internals/object-create');
6
6
  var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
7
7
  var createPropertyDescriptor = require('../internals/create-property-descriptor');
8
+ var installErrorCause = require('../internals/install-error-cause');
8
9
  var iterate = require('../internals/iterate');
9
10
  var toString = require('../internals/to-string');
10
11
 
11
- var $AggregateError = function AggregateError(errors, message) {
12
+ var $AggregateError = function AggregateError(errors, message /* , options */) {
12
13
  var that = this;
13
- if (!(that instanceof $AggregateError)) return new $AggregateError(errors, message);
14
+ var options = arguments.length > 2 ? arguments[2] : undefined;
15
+ if (!(that instanceof $AggregateError)) return new $AggregateError(errors, message, options);
14
16
  if (setPrototypeOf) {
15
17
  // eslint-disable-next-line unicorn/error-message -- expected
16
18
  that = setPrototypeOf(new Error(undefined), getPrototypeOf(that));
17
19
  }
18
20
  if (message !== undefined) createNonEnumerableProperty(that, 'message', toString(message));
21
+ installErrorCause(that, options);
19
22
  var errorsArray = [];
20
23
  iterate(errors, errorsArray.push, { that: errorsArray });
21
24
  createNonEnumerableProperty(that, 'errors', errorsArray);
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
  var $ = require('../internals/export');
3
3
  var toObject = require('../internals/to-object');
4
- var toLength = require('../internals/to-length');
5
- var toInteger = require('../internals/to-integer');
4
+ var lengthOfArrayLike = require('../internals/length-of-array-like');
5
+ var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
6
6
  var addToUnscopables = require('../internals/add-to-unscopables');
7
7
 
8
8
  // `Array.prototype.at` method
@@ -10,8 +10,8 @@ var addToUnscopables = require('../internals/add-to-unscopables');
10
10
  $({ target: 'Array', proto: true }, {
11
11
  at: function at(index) {
12
12
  var O = toObject(this);
13
- var len = toLength(O.length);
14
- var relativeIndex = toInteger(index);
13
+ var len = lengthOfArrayLike(O);
14
+ var relativeIndex = toIntegerOrInfinity(index);
15
15
  var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex;
16
16
  return (k < 0 || k >= len) ? undefined : O[k];
17
17
  }
@@ -4,7 +4,7 @@ var fails = require('../internals/fails');
4
4
  var isArray = require('../internals/is-array');
5
5
  var isObject = require('../internals/is-object');
6
6
  var toObject = require('../internals/to-object');
7
- var toLength = require('../internals/to-length');
7
+ var lengthOfArrayLike = require('../internals/length-of-array-like');
8
8
  var createProperty = require('../internals/create-property');
9
9
  var arraySpeciesCreate = require('../internals/array-species-create');
10
10
  var arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');
@@ -47,7 +47,7 @@ $({ target: 'Array', proto: true, forced: FORCED }, {
47
47
  for (i = -1, length = arguments.length; i < length; i++) {
48
48
  E = i === -1 ? O : arguments[i];
49
49
  if (isConcatSpreadable(E)) {
50
- len = toLength(E.length);
50
+ len = lengthOfArrayLike(E);
51
51
  if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
52
52
  for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
53
53
  } else {
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
  var $ = require('../internals/export');
3
3
  var flattenIntoArray = require('../internals/flatten-into-array');
4
+ var aCallable = require('../internals/a-callable');
4
5
  var toObject = require('../internals/to-object');
5
- var toLength = require('../internals/to-length');
6
- var aFunction = require('../internals/a-function');
6
+ var lengthOfArrayLike = require('../internals/length-of-array-like');
7
7
  var arraySpeciesCreate = require('../internals/array-species-create');
8
8
 
9
9
  // `Array.prototype.flatMap` method
@@ -11,9 +11,9 @@ var arraySpeciesCreate = require('../internals/array-species-create');
11
11
  $({ target: 'Array', proto: true }, {
12
12
  flatMap: function flatMap(callbackfn /* , thisArg */) {
13
13
  var O = toObject(this);
14
- var sourceLen = toLength(O.length);
14
+ var sourceLen = lengthOfArrayLike(O);
15
15
  var A;
16
- aFunction(callbackfn);
16
+ aCallable(callbackfn);
17
17
  A = arraySpeciesCreate(O, 0);
18
18
  A.length = flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
19
19
  return A;
@@ -2,8 +2,8 @@
2
2
  var $ = require('../internals/export');
3
3
  var flattenIntoArray = require('../internals/flatten-into-array');
4
4
  var toObject = require('../internals/to-object');
5
- var toLength = require('../internals/to-length');
6
- var toInteger = require('../internals/to-integer');
5
+ var lengthOfArrayLike = require('../internals/length-of-array-like');
6
+ var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
7
7
  var arraySpeciesCreate = require('../internals/array-species-create');
8
8
 
9
9
  // `Array.prototype.flat` method
@@ -12,9 +12,9 @@ $({ target: 'Array', proto: true }, {
12
12
  flat: function flat(/* depthArg = 1 */) {
13
13
  var depthArg = arguments.length ? arguments[0] : undefined;
14
14
  var O = toObject(this);
15
- var sourceLen = toLength(O.length);
15
+ var sourceLen = lengthOfArrayLike(O);
16
16
  var A = arraySpeciesCreate(O, 0);
17
- A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toInteger(depthArg));
17
+ A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toIntegerOrInfinity(depthArg));
18
18
  return A;
19
19
  }
20
20
  });
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
  var $ = require('../internals/export');
3
3
  var fails = require('../internals/fails');
4
+ var isConstructor = require('../internals/is-constructor');
4
5
  var createProperty = require('../internals/create-property');
5
6
 
6
7
  var ISNT_GENERIC = fails(function () {
@@ -16,7 +17,7 @@ $({ target: 'Array', stat: true, forced: ISNT_GENERIC }, {
16
17
  of: function of(/* ...args */) {
17
18
  var index = 0;
18
19
  var argumentsLength = arguments.length;
19
- var result = new (typeof this == 'function' ? this : Array)(argumentsLength);
20
+ var result = new (isConstructor(this) ? this : Array)(argumentsLength);
20
21
  while (argumentsLength > index) createProperty(result, index, arguments[index++]);
21
22
  result.length = argumentsLength;
22
23
  return result;
@@ -1,9 +1,10 @@
1
1
  'use strict';
2
2
  var $ = require('../internals/export');
3
- var isObject = require('../internals/is-object');
4
3
  var isArray = require('../internals/is-array');
4
+ var isConstructor = require('../internals/is-constructor');
5
+ var isObject = require('../internals/is-object');
5
6
  var toAbsoluteIndex = require('../internals/to-absolute-index');
6
- var toLength = require('../internals/to-length');
7
+ var lengthOfArrayLike = require('../internals/length-of-array-like');
7
8
  var toIndexedObject = require('../internals/to-indexed-object');
8
9
  var createProperty = require('../internals/create-property');
9
10
  var wellKnownSymbol = require('../internals/well-known-symbol');
@@ -21,7 +22,7 @@ var max = Math.max;
21
22
  $({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {
22
23
  slice: function slice(start, end) {
23
24
  var O = toIndexedObject(this);
24
- var length = toLength(O.length);
25
+ var length = lengthOfArrayLike(O);
25
26
  var k = toAbsoluteIndex(start, length);
26
27
  var fin = toAbsoluteIndex(end === undefined ? length : end, length);
27
28
  // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible
@@ -29,7 +30,7 @@ $({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {
29
30
  if (isArray(O)) {
30
31
  Constructor = O.constructor;
31
32
  // cross-realm fallback
32
- if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {
33
+ if (isConstructor(Constructor) && (Constructor === Array || isArray(Constructor.prototype))) {
33
34
  Constructor = undefined;
34
35
  } else if (isObject(Constructor)) {
35
36
  Constructor = Constructor[SPECIES];
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
  var $ = require('../internals/export');
3
- var aFunction = require('../internals/a-function');
3
+ var aCallable = require('../internals/a-callable');
4
4
  var toObject = require('../internals/to-object');
5
- var toLength = require('../internals/to-length');
5
+ var lengthOfArrayLike = require('../internals/length-of-array-like');
6
6
  var toString = require('../internals/to-string');
7
7
  var fails = require('../internals/fails');
8
8
  var internalSort = require('../internals/array-sort');
@@ -76,14 +76,14 @@ var getSortCompare = function (comparefn) {
76
76
  // https://tc39.es/ecma262/#sec-array.prototype.sort
77
77
  $({ target: 'Array', proto: true, forced: FORCED }, {
78
78
  sort: function sort(comparefn) {
79
- if (comparefn !== undefined) aFunction(comparefn);
79
+ if (comparefn !== undefined) aCallable(comparefn);
80
80
 
81
81
  var array = toObject(this);
82
82
 
83
83
  if (STABLE_SORT) return comparefn === undefined ? nativeSort.call(array) : nativeSort.call(array, comparefn);
84
84
 
85
85
  var items = [];
86
- var arrayLength = toLength(array.length);
86
+ var arrayLength = lengthOfArrayLike(array);
87
87
  var itemsLength, index;
88
88
 
89
89
  for (index = 0; index < arrayLength; index++) {
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
  var $ = require('../internals/export');
3
3
  var toAbsoluteIndex = require('../internals/to-absolute-index');
4
- var toInteger = require('../internals/to-integer');
5
- var toLength = require('../internals/to-length');
4
+ var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
5
+ var lengthOfArrayLike = require('../internals/length-of-array-like');
6
6
  var toObject = require('../internals/to-object');
7
7
  var arraySpeciesCreate = require('../internals/array-species-create');
8
8
  var createProperty = require('../internals/create-property');
@@ -21,7 +21,7 @@ var MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded';
21
21
  $({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {
22
22
  splice: function splice(start, deleteCount /* , ...items */) {
23
23
  var O = toObject(this);
24
- var len = toLength(O.length);
24
+ var len = lengthOfArrayLike(O);
25
25
  var actualStart = toAbsoluteIndex(start, len);
26
26
  var argumentsLength = arguments.length;
27
27
  var insertCount, actualDeleteCount, A, k, from, to;
@@ -32,7 +32,7 @@ $({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {
32
32
  actualDeleteCount = len - actualStart;
33
33
  } else {
34
34
  insertCount = argumentsLength - 2;
35
- actualDeleteCount = min(max(toInteger(deleteCount), 0), len - actualStart);
35
+ actualDeleteCount = min(max(toIntegerOrInfinity(deleteCount), 0), len - actualStart);
36
36
  }
37
37
  if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER) {
38
38
  throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED);
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  var $ = require('../internals/export');
3
- var toInteger = require('../internals/to-integer');
3
+ var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
4
4
 
5
5
  var getTime = Date.prototype.getTime;
6
6
  var setFullYear = Date.prototype.setFullYear;
@@ -11,7 +11,7 @@ $({ target: 'Date', proto: true }, {
11
11
  setYear: function setYear(year) {
12
12
  // validate
13
13
  getTime.call(this);
14
- var yi = toInteger(year);
14
+ var yi = toIntegerOrInfinity(year);
15
15
  var yyyy = 0 <= yi && yi <= 99 ? yi + 1900 : yi;
16
16
  return setFullYear.call(this, yyyy);
17
17
  }
@@ -1,4 +1,5 @@
1
1
  'use strict';
2
+ var isCallable = require('../internals/is-callable');
2
3
  var isObject = require('../internals/is-object');
3
4
  var definePropertyModule = require('../internals/object-define-property');
4
5
  var getPrototypeOf = require('../internals/object-get-prototype-of');
@@ -11,7 +12,7 @@ var FunctionPrototype = Function.prototype;
11
12
  // https://tc39.es/ecma262/#sec-function.prototype-@@hasinstance
12
13
  if (!(HAS_INSTANCE in FunctionPrototype)) {
13
14
  definePropertyModule.f(FunctionPrototype, HAS_INSTANCE, { value: function (O) {
14
- if (typeof this != 'function' || !isObject(O)) return false;
15
+ if (!isCallable(this) || !isObject(O)) return false;
15
16
  if (!isObject(this.prototype)) return O instanceof this;
16
17
  // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:
17
18
  while (O = getPrototypeOf(O)) if (this.prototype === O) return true;
@@ -1,8 +1,8 @@
1
1
  var $ = require('../internals/export');
2
- var isInteger = require('../internals/is-integer');
2
+ var isIntegralNumber = require('../internals/is-integral-number');
3
3
 
4
4
  // `Number.isInteger` method
5
5
  // https://tc39.es/ecma262/#sec-number.isinteger
6
6
  $({ target: 'Number', stat: true }, {
7
- isInteger: isInteger
7
+ isInteger: isIntegralNumber
8
8
  });
@@ -1,5 +1,5 @@
1
1
  var $ = require('../internals/export');
2
- var isInteger = require('../internals/is-integer');
2
+ var isIntegralNumber = require('../internals/is-integral-number');
3
3
 
4
4
  var abs = Math.abs;
5
5
 
@@ -7,6 +7,6 @@ var abs = Math.abs;
7
7
  // https://tc39.es/ecma262/#sec-number.issafeinteger
8
8
  $({ target: 'Number', stat: true }, {
9
9
  isSafeInteger: function isSafeInteger(number) {
10
- return isInteger(number) && abs(number) <= 0x1FFFFFFFFFFFFF;
10
+ return isIntegralNumber(number) && abs(number) <= 0x1FFFFFFFFFFFFF;
11
11
  }
12
12
  });
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  var $ = require('../internals/export');
3
- var toInteger = require('../internals/to-integer');
3
+ var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
4
4
  var thisNumberValue = require('../internals/this-number-value');
5
5
  var repeat = require('../internals/string-repeat');
6
6
  var fails = require('../internals/fails');
@@ -71,7 +71,7 @@ var FORCED = nativeToFixed && (
71
71
  $({ target: 'Number', proto: true, forced: FORCED }, {
72
72
  toFixed: function toFixed(fractionDigits) {
73
73
  var number = thisNumberValue(this);
74
- var fractDigits = toInteger(fractionDigits);
74
+ var fractDigits = toIntegerOrInfinity(fractionDigits);
75
75
  var data = [0, 0, 0, 0, 0, 0];
76
76
  var sign = '';
77
77
  var result = '0';
@@ -2,8 +2,8 @@
2
2
  var $ = require('../internals/export');
3
3
  var DESCRIPTORS = require('../internals/descriptors');
4
4
  var FORCED = require('../internals/object-prototype-accessors-forced');
5
+ var aCallable = require('../internals/a-callable');
5
6
  var toObject = require('../internals/to-object');
6
- var aFunction = require('../internals/a-function');
7
7
  var definePropertyModule = require('../internals/object-define-property');
8
8
 
9
9
  // `Object.prototype.__defineGetter__` method
@@ -11,7 +11,7 @@ var definePropertyModule = require('../internals/object-define-property');
11
11
  if (DESCRIPTORS) {
12
12
  $({ target: 'Object', proto: true, forced: FORCED }, {
13
13
  __defineGetter__: function __defineGetter__(P, getter) {
14
- definePropertyModule.f(toObject(this), P, { get: aFunction(getter), enumerable: true, configurable: true });
14
+ definePropertyModule.f(toObject(this), P, { get: aCallable(getter), enumerable: true, configurable: true });
15
15
  }
16
16
  });
17
17
  }
@@ -2,8 +2,8 @@
2
2
  var $ = require('../internals/export');
3
3
  var DESCRIPTORS = require('../internals/descriptors');
4
4
  var FORCED = require('../internals/object-prototype-accessors-forced');
5
+ var aCallable = require('../internals/a-callable');
5
6
  var toObject = require('../internals/to-object');
6
- var aFunction = require('../internals/a-function');
7
7
  var definePropertyModule = require('../internals/object-define-property');
8
8
 
9
9
  // `Object.prototype.__defineSetter__` method
@@ -11,7 +11,7 @@ var definePropertyModule = require('../internals/object-define-property');
11
11
  if (DESCRIPTORS) {
12
12
  $({ target: 'Object', proto: true, forced: FORCED }, {
13
13
  __defineSetter__: function __defineSetter__(P, setter) {
14
- definePropertyModule.f(toObject(this), P, { set: aFunction(setter), enumerable: true, configurable: true });
14
+ definePropertyModule.f(toObject(this), P, { set: aCallable(setter), enumerable: true, configurable: true });
15
15
  }
16
16
  });
17
17
  }
@@ -1,5 +1,5 @@
1
1
  var $ = require('../internals/export');
2
- var hasOwn = require('../internals/has');
2
+ var hasOwn = require('../internals/has-own-property');
3
3
 
4
4
  // `Object.hasOwn` method
5
5
  // https://github.com/tc39/proposal-accessible-object-hasownproperty
@@ -1,8 +1,8 @@
1
1
  var $ = require('../internals/export');
2
- var parseFloatImplementation = require('../internals/number-parse-float');
2
+ var $parseFloat = require('../internals/number-parse-float');
3
3
 
4
4
  // `parseFloat` method
5
5
  // https://tc39.es/ecma262/#sec-parsefloat-string
6
- $({ global: true, forced: parseFloat != parseFloatImplementation }, {
7
- parseFloat: parseFloatImplementation
6
+ $({ global: true, forced: parseFloat != $parseFloat }, {
7
+ parseFloat: $parseFloat
8
8
  });
@@ -1,8 +1,8 @@
1
1
  var $ = require('../internals/export');
2
- var parseIntImplementation = require('../internals/number-parse-int');
2
+ var $parseInt = require('../internals/number-parse-int');
3
3
 
4
4
  // `parseInt` method
5
5
  // https://tc39.es/ecma262/#sec-parseint-string-radix
6
- $({ global: true, forced: parseInt != parseIntImplementation }, {
7
- parseInt: parseIntImplementation
6
+ $({ global: true, forced: parseInt != $parseInt }, {
7
+ parseInt: $parseInt
8
8
  });
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  var $ = require('../internals/export');
3
- var aFunction = require('../internals/a-function');
3
+ var aCallable = require('../internals/a-callable');
4
4
  var newPromiseCapabilityModule = require('../internals/new-promise-capability');
5
5
  var perform = require('../internals/perform');
6
6
  var iterate = require('../internals/iterate');
@@ -14,7 +14,7 @@ $({ target: 'Promise', stat: true }, {
14
14
  var resolve = capability.resolve;
15
15
  var reject = capability.reject;
16
16
  var result = perform(function () {
17
- var promiseResolve = aFunction(C.resolve);
17
+ var promiseResolve = aCallable(C.resolve);
18
18
  var values = [];
19
19
  var counter = 0;
20
20
  var remaining = 1;