core-js 3.18.1 → 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 (81) hide show
  1. package/configurator.js +7 -3
  2. package/features/typed-array/methods.js +2 -0
  3. package/internals/array-buffer-view-core.js +8 -8
  4. package/internals/array-buffer.js +2 -2
  5. package/internals/array-copy-within.js +2 -2
  6. package/internals/array-fill.js +2 -2
  7. package/internals/array-from-async.js +14 -9
  8. package/internals/array-from.js +2 -2
  9. package/internals/array-group-by.js +2 -2
  10. package/internals/array-includes.js +2 -2
  11. package/internals/array-iteration-from-last.js +2 -2
  12. package/internals/array-iteration.js +2 -2
  13. package/internals/array-last-index-of.js +4 -4
  14. package/internals/array-reduce.js +2 -2
  15. package/internals/array-unique-by.js +2 -2
  16. package/internals/collection-weak.js +3 -3
  17. package/internals/copy-constructor-properties.js +2 -2
  18. package/internals/define-well-known-symbol.js +2 -2
  19. package/internals/flatten-into-array.js +4 -3
  20. package/internals/function-name.js +2 -2
  21. package/internals/{has.js → has-own-property.js} +2 -0
  22. package/internals/internal-metadata.js +4 -4
  23. package/internals/internal-state.js +4 -4
  24. package/internals/is-data-descriptor.js +2 -2
  25. package/internals/is-integral-number.js +10 -0
  26. package/internals/iterate.js +2 -2
  27. package/internals/length-of-array-like.js +7 -0
  28. package/internals/object-get-own-property-descriptor.js +2 -2
  29. package/internals/object-get-prototype-of.js +2 -2
  30. package/internals/object-iterator.js +2 -2
  31. package/internals/object-keys-internal.js +3 -3
  32. package/internals/redefine.js +2 -2
  33. package/internals/set-to-string-tag.js +2 -2
  34. package/internals/shared.js +1 -1
  35. package/internals/string-multibyte.js +2 -3
  36. package/internals/string-pad.js +1 -1
  37. package/internals/string-repeat.js +2 -2
  38. package/internals/to-absolute-index.js +2 -2
  39. package/internals/to-index.js +2 -2
  40. package/internals/to-integer-or-infinity.js +10 -0
  41. package/internals/to-length.js +2 -2
  42. package/internals/to-positive-integer.js +2 -2
  43. package/internals/typed-array-constructor.js +8 -8
  44. package/internals/typed-array-from.js +2 -2
  45. package/internals/well-known-symbol.js +3 -3
  46. package/modules/es.aggregate-error.js +3 -2
  47. package/modules/es.array.at.js +4 -4
  48. package/modules/es.array.concat.js +2 -2
  49. package/modules/es.array.flat-map.js +2 -2
  50. package/modules/es.array.flat.js +4 -4
  51. package/modules/es.array.slice.js +2 -2
  52. package/modules/es.array.sort.js +2 -2
  53. package/modules/es.array.splice.js +4 -4
  54. package/modules/es.date.set-year.js +2 -2
  55. package/modules/es.number.constructor.js +15 -14
  56. package/modules/es.number.is-integer.js +2 -2
  57. package/modules/es.number.is-safe-integer.js +2 -2
  58. package/modules/es.number.to-fixed.js +2 -2
  59. package/modules/es.object.has-own.js +1 -1
  60. package/modules/es.regexp.constructor.js +2 -2
  61. package/modules/es.string.at-alternative.js +3 -4
  62. package/modules/es.string.ends-with.js +1 -1
  63. package/modules/es.string.raw.js +4 -3
  64. package/modules/es.string.replace.js +2 -2
  65. package/modules/es.string.substr.js +3 -3
  66. package/modules/es.symbol.description.js +2 -2
  67. package/modules/es.symbol.js +14 -13
  68. package/modules/es.typed-array.at.js +4 -4
  69. package/modules/es.typed-array.set.js +2 -2
  70. package/modules/es.typed-array.sort.js +2 -2
  71. package/modules/esnext.array.last-index.js +2 -2
  72. package/modules/esnext.array.last-item.js +3 -3
  73. package/modules/esnext.async-iterator.constructor.js +3 -3
  74. package/modules/esnext.iterator.constructor.js +3 -3
  75. package/modules/esnext.number.from-string.js +2 -2
  76. package/modules/esnext.typed-array.from-async.js +9 -2
  77. package/modules/web.url-search-params.js +1 -1
  78. package/modules/web.url.js +4 -4
  79. package/package.json +2 -2
  80. package/internals/is-integer.js +0 -9
  81. package/internals/to-integer.js +0 -8
package/configurator.js CHANGED
@@ -1,4 +1,4 @@
1
- var has = require('./internals/has');
1
+ var hasOwn = require('./internals/has-own-property');
2
2
  var isArray = require('./internals/is-array');
3
3
  var isForced = require('./internals/is-forced');
4
4
  var shared = require('./internals/shared-store');
@@ -17,7 +17,11 @@ module.exports = function (options) {
17
17
  setAggressivenessLevel(options.useNative, isForced.NATIVE);
18
18
  setAggressivenessLevel(options.usePolyfill, isForced.POLYFILL);
19
19
  setAggressivenessLevel(options.useFeatureDetection, null);
20
- if (has(options, USE_FUNCTION_CONSTRUCTOR)) shared[USE_FUNCTION_CONSTRUCTOR] = !!options[USE_FUNCTION_CONSTRUCTOR];
21
- if (has(options, ASYNC_ITERATOR_PROTOTYPE)) shared[USE_FUNCTION_CONSTRUCTOR] = options[ASYNC_ITERATOR_PROTOTYPE];
20
+ if (hasOwn(options, USE_FUNCTION_CONSTRUCTOR)) {
21
+ shared[USE_FUNCTION_CONSTRUCTOR] = !!options[USE_FUNCTION_CONSTRUCTOR];
22
+ }
23
+ if (hasOwn(options, ASYNC_ITERATOR_PROTOTYPE)) {
24
+ shared[USE_FUNCTION_CONSTRUCTOR] = options[ASYNC_ITERATOR_PROTOTYPE];
25
+ }
22
26
  }
23
27
  };
@@ -1,5 +1,7 @@
1
1
  var parent = require('../../stable/typed-array/methods');
2
2
  require('../../modules/es.map');
3
+ require('../../modules/es.promise');
4
+ require('../../modules/esnext.typed-array.from-async');
3
5
  // TODO: Remove from `core-js@4`
4
6
  require('../../modules/esnext.typed-array.at');
5
7
  // TODO: Remove from `core-js@4`
@@ -4,7 +4,7 @@ var DESCRIPTORS = require('../internals/descriptors');
4
4
  var global = require('../internals/global');
5
5
  var isCallable = require('../internals/is-callable');
6
6
  var isObject = require('../internals/is-object');
7
- var has = require('../internals/has');
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');
@@ -53,15 +53,15 @@ var isView = function isView(it) {
53
53
  if (!isObject(it)) return false;
54
54
  var klass = classof(it);
55
55
  return klass === 'DataView'
56
- || has(TypedArrayConstructorsList, klass)
57
- || has(BigIntArrayConstructorsList, klass);
56
+ || hasOwn(TypedArrayConstructorsList, klass)
57
+ || hasOwn(BigIntArrayConstructorsList, klass);
58
58
  };
59
59
 
60
60
  var isTypedArray = function (it) {
61
61
  if (!isObject(it)) return false;
62
62
  var klass = classof(it);
63
- return has(TypedArrayConstructorsList, klass)
64
- || has(BigIntArrayConstructorsList, klass);
63
+ return hasOwn(TypedArrayConstructorsList, klass)
64
+ || hasOwn(BigIntArrayConstructorsList, klass);
65
65
  };
66
66
 
67
67
  var aTypedArray = function (it) {
@@ -78,7 +78,7 @@ var exportTypedArrayMethod = function (KEY, property, forced) {
78
78
  if (!DESCRIPTORS) return;
79
79
  if (forced) for (var ARRAY in TypedArrayConstructorsList) {
80
80
  var TypedArrayConstructor = global[ARRAY];
81
- if (TypedArrayConstructor && has(TypedArrayConstructor.prototype, KEY)) try {
81
+ if (TypedArrayConstructor && hasOwn(TypedArrayConstructor.prototype, KEY)) try {
82
82
  delete TypedArrayConstructor.prototype[KEY];
83
83
  } catch (error) { /* empty */ }
84
84
  }
@@ -94,7 +94,7 @@ var exportTypedArrayStaticMethod = function (KEY, property, forced) {
94
94
  if (setPrototypeOf) {
95
95
  if (forced) for (ARRAY in TypedArrayConstructorsList) {
96
96
  TypedArrayConstructor = global[ARRAY];
97
- if (TypedArrayConstructor && has(TypedArrayConstructor, KEY)) try {
97
+ if (TypedArrayConstructor && hasOwn(TypedArrayConstructor, KEY)) try {
98
98
  delete TypedArrayConstructor[KEY];
99
99
  } catch (error) { /* empty */ }
100
100
  }
@@ -149,7 +149,7 @@ if (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !==
149
149
  setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);
150
150
  }
151
151
 
152
- if (DESCRIPTORS && !has(TypedArrayPrototype, TO_STRING_TAG)) {
152
+ if (DESCRIPTORS && !hasOwn(TypedArrayPrototype, TO_STRING_TAG)) {
153
153
  TYPED_ARRAY_TAG_REQIRED = true;
154
154
  defineProperty(TypedArrayPrototype, TO_STRING_TAG, { get: function () {
155
155
  return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;
@@ -7,7 +7,7 @@ var createNonEnumerableProperty = require('../internals/create-non-enumerable-pr
7
7
  var redefineAll = require('../internals/redefine-all');
8
8
  var fails = require('../internals/fails');
9
9
  var anInstance = require('../internals/an-instance');
10
- var toInteger = require('../internals/to-integer');
10
+ var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
11
11
  var toLength = require('../internals/to-length');
12
12
  var toIndex = require('../internals/to-index');
13
13
  var IEEE754 = require('../internals/ieee754');
@@ -101,7 +101,7 @@ if (!NATIVE_ARRAY_BUFFER) {
101
101
  anInstance(this, $DataView, DATA_VIEW);
102
102
  anInstance(buffer, $ArrayBuffer, DATA_VIEW);
103
103
  var bufferLength = getInternalState(buffer).byteLength;
104
- var offset = toInteger(byteOffset);
104
+ var offset = toIntegerOrInfinity(byteOffset);
105
105
  if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset');
106
106
  byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);
107
107
  if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
  var toObject = require('../internals/to-object');
3
3
  var toAbsoluteIndex = require('../internals/to-absolute-index');
4
- var toLength = require('../internals/to-length');
4
+ var lengthOfArrayLike = require('../internals/length-of-array-like');
5
5
 
6
6
  var min = Math.min;
7
7
 
@@ -10,7 +10,7 @@ var min = Math.min;
10
10
  // eslint-disable-next-line es/no-array-prototype-copywithin -- safe
11
11
  module.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {
12
12
  var O = toObject(this);
13
- var len = toLength(O.length);
13
+ var len = lengthOfArrayLike(O);
14
14
  var to = toAbsoluteIndex(target, len);
15
15
  var from = toAbsoluteIndex(start, len);
16
16
  var end = arguments.length > 2 ? arguments[2] : undefined;
@@ -1,13 +1,13 @@
1
1
  'use strict';
2
2
  var toObject = require('../internals/to-object');
3
3
  var toAbsoluteIndex = require('../internals/to-absolute-index');
4
- var toLength = require('../internals/to-length');
4
+ var lengthOfArrayLike = require('../internals/length-of-array-like');
5
5
 
6
6
  // `Array.prototype.fill` method implementation
7
7
  // https://tc39.es/ecma262/#sec-array.prototype.fill
8
8
  module.exports = function fill(value /* , start = 0, end = @length */) {
9
9
  var O = toObject(this);
10
- var length = toLength(O.length);
10
+ var length = lengthOfArrayLike(O);
11
11
  var argumentsLength = arguments.length;
12
12
  var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length);
13
13
  var end = argumentsLength > 2 ? arguments[2] : undefined;
@@ -7,6 +7,7 @@ var getIterator = require('../internals/get-iterator');
7
7
  var getIteratorMethod = require('../internals/get-iterator-method');
8
8
  var getMethod = require('../internals/get-method');
9
9
  var getVirtual = require('../internals/entry-virtual');
10
+ var getBuiltIn = require('../internals/get-built-in');
10
11
  var wellKnownSymbol = require('../internals/well-known-symbol');
11
12
  var AsyncFromSyncIterator = require('../internals/async-from-sync-iterator');
12
13
  var toArray = require('../internals/async-iterator-iteration').toArray;
@@ -17,15 +18,19 @@ var arrayIterator = getVirtual('Array').values;
17
18
  // `Array.fromAsync` method implementation
18
19
  // https://github.com/tc39/proposal-array-from-async
19
20
  module.exports = function fromAsync(asyncItems /* , mapfn = undefined, thisArg = undefined */) {
20
- var O = toObject(asyncItems);
21
+ var C = this;
21
22
  var argumentsLength = arguments.length;
22
23
  var mapfn = argumentsLength > 1 ? arguments[1] : undefined;
23
- if (mapfn !== undefined) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);
24
- var usingAsyncIterator = getMethod(O, ASYNC_ITERATOR);
25
- var usingSyncIterator = usingAsyncIterator ? undefined : getIteratorMethod(O) || arrayIterator;
26
- var A = isConstructor(this) ? new this() : [];
27
- var iterator = usingAsyncIterator
28
- ? getAsyncIterator(O, usingAsyncIterator)
29
- : new AsyncFromSyncIterator(getIterator(O, usingSyncIterator));
30
- return toArray(iterator, mapfn, A);
24
+ var thisArg = argumentsLength > 2 ? arguments[2] : undefined;
25
+ return new (getBuiltIn('Promise'))(function (resolve) {
26
+ var O = toObject(asyncItems);
27
+ if (mapfn !== undefined) mapfn = bind(mapfn, thisArg, 2);
28
+ var usingAsyncIterator = getMethod(O, ASYNC_ITERATOR);
29
+ var usingSyncIterator = usingAsyncIterator ? undefined : getIteratorMethod(O) || arrayIterator;
30
+ var A = isConstructor(C) ? new C() : [];
31
+ var iterator = usingAsyncIterator
32
+ ? getAsyncIterator(O, usingAsyncIterator)
33
+ : new AsyncFromSyncIterator(getIterator(O, usingSyncIterator));
34
+ resolve(toArray(iterator, mapfn, A));
35
+ });
31
36
  };
@@ -4,7 +4,7 @@ var toObject = require('../internals/to-object');
4
4
  var callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');
5
5
  var isArrayIteratorMethod = require('../internals/is-array-iterator-method');
6
6
  var isConstructor = require('../internals/is-constructor');
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 getIterator = require('../internals/get-iterator');
10
10
  var getIteratorMethod = require('../internals/get-iterator-method');
@@ -31,7 +31,7 @@ module.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undef
31
31
  createProperty(result, index, value);
32
32
  }
33
33
  } else {
34
- length = toLength(O.length);
34
+ length = lengthOfArrayLike(O);
35
35
  result = IS_CONSTRUCTOR ? new this(length) : Array(length);
36
36
  for (;length > index; index++) {
37
37
  value = mapping ? mapfn(O[index], index) : O[index];
@@ -1,8 +1,8 @@
1
1
  var bind = require('../internals/function-bind-context');
2
2
  var IndexedObject = require('../internals/indexed-object');
3
3
  var toObject = require('../internals/to-object');
4
- var toLength = require('../internals/to-length');
5
4
  var toPropertyKey = require('../internals/to-property-key');
5
+ var lengthOfArrayLike = require('../internals/length-of-array-like');
6
6
  var objectCreate = require('../internals/object-create');
7
7
  var arrayFromConstructorAndList = require('../internals/array-from-constructor-and-list');
8
8
 
@@ -13,7 +13,7 @@ module.exports = function ($this, callbackfn, that, specificConstructor) {
13
13
  var self = IndexedObject(O);
14
14
  var boundFunction = bind(callbackfn, that, 3);
15
15
  var target = objectCreate(null);
16
- var length = toLength(self.length);
16
+ var length = lengthOfArrayLike(self);
17
17
  var index = 0;
18
18
  var Constructor, key, value;
19
19
  for (;length > index; index++) {
@@ -1,12 +1,12 @@
1
1
  var toIndexedObject = require('../internals/to-indexed-object');
2
- var toLength = require('../internals/to-length');
3
2
  var toAbsoluteIndex = require('../internals/to-absolute-index');
3
+ var lengthOfArrayLike = require('../internals/length-of-array-like');
4
4
 
5
5
  // `Array.prototype.{ indexOf, includes }` methods implementation
6
6
  var createMethod = function (IS_INCLUDES) {
7
7
  return function ($this, el, fromIndex) {
8
8
  var O = toIndexedObject($this);
9
- var length = toLength(O.length);
9
+ var length = lengthOfArrayLike(O);
10
10
  var index = toAbsoluteIndex(fromIndex, length);
11
11
  var value;
12
12
  // Array#includes uses SameValueZero equality algorithm
@@ -1,7 +1,7 @@
1
1
  var bind = require('../internals/function-bind-context');
2
2
  var IndexedObject = require('../internals/indexed-object');
3
3
  var toObject = require('../internals/to-object');
4
- var toLength = require('../internals/to-length');
4
+ var lengthOfArrayLike = require('../internals/length-of-array-like');
5
5
 
6
6
  // `Array.prototype.{ findLast, findLastIndex }` methods implementation
7
7
  var createMethod = function (TYPE) {
@@ -10,7 +10,7 @@ var createMethod = function (TYPE) {
10
10
  var O = toObject($this);
11
11
  var self = IndexedObject(O);
12
12
  var boundFunction = bind(callbackfn, that, 3);
13
- var index = toLength(self.length);
13
+ var index = lengthOfArrayLike(self);
14
14
  var value, result;
15
15
  while (index-- > 0) {
16
16
  value = self[index];
@@ -1,7 +1,7 @@
1
1
  var bind = require('../internals/function-bind-context');
2
2
  var IndexedObject = require('../internals/indexed-object');
3
3
  var toObject = require('../internals/to-object');
4
- var toLength = require('../internals/to-length');
4
+ var lengthOfArrayLike = require('../internals/length-of-array-like');
5
5
  var arraySpeciesCreate = require('../internals/array-species-create');
6
6
 
7
7
  var push = [].push;
@@ -19,7 +19,7 @@ var createMethod = function (TYPE) {
19
19
  var O = toObject($this);
20
20
  var self = IndexedObject(O);
21
21
  var boundFunction = bind(callbackfn, that, 3);
22
- var length = toLength(self.length);
22
+ var length = lengthOfArrayLike(self);
23
23
  var index = 0;
24
24
  var create = specificCreate || arraySpeciesCreate;
25
25
  var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
  /* eslint-disable es/no-array-prototype-lastindexof -- safe */
3
3
  var toIndexedObject = require('../internals/to-indexed-object');
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 arrayMethodIsStrict = require('../internals/array-method-is-strict');
7
7
 
8
8
  var min = Math.min;
@@ -17,9 +17,9 @@ module.exports = FORCED ? function lastIndexOf(searchElement /* , fromIndex = @[
17
17
  // convert -0 to +0
18
18
  if (NEGATIVE_ZERO) return $lastIndexOf.apply(this, arguments) || 0;
19
19
  var O = toIndexedObject(this);
20
- var length = toLength(O.length);
20
+ var length = lengthOfArrayLike(O);
21
21
  var index = length - 1;
22
- if (arguments.length > 1) index = min(index, toInteger(arguments[1]));
22
+ if (arguments.length > 1) index = min(index, toIntegerOrInfinity(arguments[1]));
23
23
  if (index < 0) index = length + index;
24
24
  for (;index >= 0; index--) if (index in O && O[index] === searchElement) return index || 0;
25
25
  return -1;
@@ -1,7 +1,7 @@
1
1
  var aCallable = require('../internals/a-callable');
2
2
  var toObject = require('../internals/to-object');
3
3
  var IndexedObject = require('../internals/indexed-object');
4
- var toLength = require('../internals/to-length');
4
+ var lengthOfArrayLike = require('../internals/length-of-array-like');
5
5
 
6
6
  // `Array.prototype.{ reduce, reduceRight }` methods implementation
7
7
  var createMethod = function (IS_RIGHT) {
@@ -9,7 +9,7 @@ var createMethod = function (IS_RIGHT) {
9
9
  aCallable(callbackfn);
10
10
  var O = toObject(that);
11
11
  var self = IndexedObject(O);
12
- var length = toLength(O.length);
12
+ var length = lengthOfArrayLike(O);
13
13
  var index = IS_RIGHT ? length - 1 : 0;
14
14
  var i = IS_RIGHT ? -1 : 1;
15
15
  if (argumentsLength < 2) while (true) {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  var aCallable = require('../internals/a-callable');
3
- var toLength = require('../internals/to-length');
3
+ var lengthOfArrayLike = require('../internals/length-of-array-like');
4
4
  var toObject = require('../internals/to-object');
5
5
  var getBuiltIn = require('../internals/get-built-in');
6
6
  var arraySpeciesCreate = require('../internals/array-species-create');
@@ -11,7 +11,7 @@ var push = [].push;
11
11
  // https://github.com/tc39/proposal-array-unique
12
12
  module.exports = function uniqueBy(resolver) {
13
13
  var that = toObject(this);
14
- var length = toLength(that.length);
14
+ var length = lengthOfArrayLike(that);
15
15
  var result = arraySpeciesCreate(that, 0);
16
16
  var Map = getBuiltIn('Map');
17
17
  var map = new Map();
@@ -6,7 +6,7 @@ var isObject = require('../internals/is-object');
6
6
  var anInstance = require('../internals/an-instance');
7
7
  var iterate = require('../internals/iterate');
8
8
  var ArrayIterationModule = require('../internals/array-iteration');
9
- var $has = require('../internals/has');
9
+ var hasOwn = require('../internals/has-own-property');
10
10
  var InternalStateModule = require('../internals/internal-state');
11
11
 
12
12
  var setInternalState = InternalStateModule.set;
@@ -83,7 +83,7 @@ module.exports = {
83
83
  if (!isObject(key)) return false;
84
84
  var data = getWeakData(key);
85
85
  if (data === true) return uncaughtFrozenStore(state)['delete'](key);
86
- return data && $has(data, state.id) && delete data[state.id];
86
+ return data && hasOwn(data, state.id) && delete data[state.id];
87
87
  },
88
88
  // `{ WeakMap, WeakSet }.prototype.has(key)` methods
89
89
  // https://tc39.es/ecma262/#sec-weakmap.prototype.has
@@ -93,7 +93,7 @@ module.exports = {
93
93
  if (!isObject(key)) return false;
94
94
  var data = getWeakData(key);
95
95
  if (data === true) return uncaughtFrozenStore(state).has(key);
96
- return data && $has(data, state.id);
96
+ return data && hasOwn(data, state.id);
97
97
  }
98
98
  });
99
99
 
@@ -1,4 +1,4 @@
1
- var has = require('../internals/has');
1
+ var hasOwn = require('../internals/has-own-property');
2
2
  var ownKeys = require('../internals/own-keys');
3
3
  var getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');
4
4
  var definePropertyModule = require('../internals/object-define-property');
@@ -9,6 +9,6 @@ module.exports = function (target, source) {
9
9
  var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
10
10
  for (var i = 0; i < keys.length; i++) {
11
11
  var key = keys[i];
12
- if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
12
+ if (!hasOwn(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
13
13
  }
14
14
  };
@@ -1,11 +1,11 @@
1
1
  var path = require('../internals/path');
2
- var has = require('../internals/has');
2
+ var hasOwn = require('../internals/has-own-property');
3
3
  var wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');
4
4
  var defineProperty = require('../internals/object-define-property').f;
5
5
 
6
6
  module.exports = function (NAME) {
7
7
  var Symbol = path.Symbol || (path.Symbol = {});
8
- if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {
8
+ if (!hasOwn(Symbol, NAME)) defineProperty(Symbol, NAME, {
9
9
  value: wrappedWellKnownSymbolModule.f(NAME)
10
10
  });
11
11
  };
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  var isArray = require('../internals/is-array');
3
- var toLength = require('../internals/to-length');
3
+ var lengthOfArrayLike = require('../internals/length-of-array-like');
4
4
  var bind = require('../internals/function-bind-context');
5
5
 
6
6
  // `FlattenIntoArray` abstract operation
@@ -9,14 +9,15 @@ var flattenIntoArray = function (target, original, source, sourceLen, start, dep
9
9
  var targetIndex = start;
10
10
  var sourceIndex = 0;
11
11
  var mapFn = mapper ? bind(mapper, thisArg, 3) : false;
12
- var element;
12
+ var element, elementLen;
13
13
 
14
14
  while (sourceIndex < sourceLen) {
15
15
  if (sourceIndex in source) {
16
16
  element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];
17
17
 
18
18
  if (depth > 0 && isArray(element)) {
19
- targetIndex = flattenIntoArray(target, original, element, toLength(element.length), targetIndex, depth - 1) - 1;
19
+ elementLen = lengthOfArrayLike(element);
20
+ targetIndex = flattenIntoArray(target, original, element, elementLen, targetIndex, depth - 1) - 1;
20
21
  } else {
21
22
  if (targetIndex >= 0x1FFFFFFFFFFFFF) throw TypeError('Exceed the acceptable array length');
22
23
  target[targetIndex] = element;
@@ -1,11 +1,11 @@
1
1
  var DESCRIPTORS = require('../internals/descriptors');
2
- var has = require('../internals/has');
2
+ var hasOwn = require('../internals/has-own-property');
3
3
 
4
4
  var FunctionPrototype = Function.prototype;
5
5
  // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
6
6
  var getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;
7
7
 
8
- var EXISTS = has(FunctionPrototype, 'name');
8
+ var EXISTS = hasOwn(FunctionPrototype, 'name');
9
9
  // additional protection from minified / mangled / dropped function names
10
10
  var PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';
11
11
  var CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));
@@ -2,6 +2,8 @@ var toObject = require('../internals/to-object');
2
2
 
3
3
  var hasOwnProperty = {}.hasOwnProperty;
4
4
 
5
+ // `HasOwnProperty` abstract operation
6
+ // https://tc39.es/ecma262/#sec-hasownproperty
5
7
  module.exports = Object.hasOwn || function hasOwn(it, key) {
6
8
  return hasOwnProperty.call(toObject(it), key);
7
9
  };
@@ -1,7 +1,7 @@
1
1
  var $ = require('../internals/export');
2
2
  var hiddenKeys = require('../internals/hidden-keys');
3
3
  var isObject = require('../internals/is-object');
4
- var has = require('../internals/has');
4
+ var hasOwn = require('../internals/has-own-property');
5
5
  var defineProperty = require('../internals/object-define-property').f;
6
6
  var getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');
7
7
  var getOwnPropertyNamesExternalModule = require('../internals/object-get-own-property-names-external');
@@ -27,7 +27,7 @@ var setMetadata = function (it) {
27
27
  var fastKey = function (it, create) {
28
28
  // return a primitive with prefix
29
29
  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;
30
- if (!has(it, METADATA)) {
30
+ if (!hasOwn(it, METADATA)) {
31
31
  // can't set metadata to uncaught frozen object
32
32
  if (!isExtensible(it)) return 'F';
33
33
  // not necessary to add metadata
@@ -39,7 +39,7 @@ var fastKey = function (it, create) {
39
39
  };
40
40
 
41
41
  var getWeakData = function (it, create) {
42
- if (!has(it, METADATA)) {
42
+ if (!hasOwn(it, METADATA)) {
43
43
  // can't set metadata to uncaught frozen object
44
44
  if (!isExtensible(it)) return true;
45
45
  // not necessary to add metadata
@@ -52,7 +52,7 @@ var getWeakData = function (it, create) {
52
52
 
53
53
  // add metadata on freeze-family methods calling
54
54
  var onFreeze = function (it) {
55
- if (FREEZING && REQUIRED && isExtensible(it) && !has(it, METADATA)) setMetadata(it);
55
+ if (FREEZING && REQUIRED && isExtensible(it) && !hasOwn(it, METADATA)) setMetadata(it);
56
56
  return it;
57
57
  };
58
58
 
@@ -2,7 +2,7 @@ var NATIVE_WEAK_MAP = require('../internals/native-weak-map');
2
2
  var global = require('../internals/global');
3
3
  var isObject = require('../internals/is-object');
4
4
  var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
5
- var objectHas = require('../internals/has');
5
+ var hasOwn = require('../internals/has-own-property');
6
6
  var shared = require('../internals/shared-store');
7
7
  var sharedKey = require('../internals/shared-key');
8
8
  var hiddenKeys = require('../internals/hidden-keys');
@@ -45,16 +45,16 @@ if (NATIVE_WEAK_MAP || shared.state) {
45
45
  var STATE = sharedKey('state');
46
46
  hiddenKeys[STATE] = true;
47
47
  set = function (it, metadata) {
48
- if (objectHas(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);
48
+ if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);
49
49
  metadata.facade = it;
50
50
  createNonEnumerableProperty(it, STATE, metadata);
51
51
  return metadata;
52
52
  };
53
53
  get = function (it) {
54
- return objectHas(it, STATE) ? it[STATE] : {};
54
+ return hasOwn(it, STATE) ? it[STATE] : {};
55
55
  };
56
56
  has = function (it) {
57
- return objectHas(it, STATE);
57
+ return hasOwn(it, STATE);
58
58
  };
59
59
  }
60
60
 
@@ -1,5 +1,5 @@
1
- var has = require('../internals/has');
1
+ var hasOwn = require('../internals/has-own-property');
2
2
 
3
3
  module.exports = function (descriptor) {
4
- return descriptor !== undefined && (has(descriptor, 'value') || has(descriptor, 'writable'));
4
+ return descriptor !== undefined && (hasOwn(descriptor, 'value') || hasOwn(descriptor, 'writable'));
5
5
  };
@@ -0,0 +1,10 @@
1
+ var isObject = require('../internals/is-object');
2
+
3
+ var floor = Math.floor;
4
+
5
+ // `IsIntegralNumber` abstract operation
6
+ // https://tc39.es/ecma262/#sec-isintegralnumber
7
+ // eslint-disable-next-line es/no-number-isinteger -- safe
8
+ module.exports = Number.isInteger || function isInteger(it) {
9
+ return !isObject(it) && isFinite(it) && floor(it) === it;
10
+ };
@@ -1,6 +1,6 @@
1
1
  var anObject = require('../internals/an-object');
2
2
  var isArrayIteratorMethod = require('../internals/is-array-iterator-method');
3
- var toLength = require('../internals/to-length');
3
+ var lengthOfArrayLike = require('../internals/length-of-array-like');
4
4
  var bind = require('../internals/function-bind-context');
5
5
  var getIterator = require('../internals/get-iterator');
6
6
  var getIteratorMethod = require('../internals/get-iterator-method');
@@ -38,7 +38,7 @@ module.exports = function (iterable, unboundFunction, options) {
38
38
  if (!iterFn) throw TypeError(String(iterable) + ' is not iterable');
39
39
  // optimisation for array iterators
40
40
  if (isArrayIteratorMethod(iterFn)) {
41
- for (index = 0, length = toLength(iterable.length); length > index; index++) {
41
+ for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {
42
42
  result = callFn(iterable[index]);
43
43
  if (result && result instanceof Result) return result;
44
44
  } return new Result(false);
@@ -0,0 +1,7 @@
1
+ var toLength = require('../internals/to-length');
2
+
3
+ // `LengthOfArrayLike` abstract operation
4
+ // https://tc39.es/ecma262/#sec-lengthofarraylike
5
+ module.exports = function (obj) {
6
+ return toLength(obj.length);
7
+ };
@@ -3,7 +3,7 @@ var propertyIsEnumerableModule = require('../internals/object-property-is-enumer
3
3
  var createPropertyDescriptor = require('../internals/create-property-descriptor');
4
4
  var toIndexedObject = require('../internals/to-indexed-object');
5
5
  var toPropertyKey = require('../internals/to-property-key');
6
- var has = require('../internals/has');
6
+ var hasOwn = require('../internals/has-own-property');
7
7
  var IE8_DOM_DEFINE = require('../internals/ie8-dom-define');
8
8
 
9
9
  // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
@@ -17,5 +17,5 @@ exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDes
17
17
  if (IE8_DOM_DEFINE) try {
18
18
  return $getOwnPropertyDescriptor(O, P);
19
19
  } catch (error) { /* empty */ }
20
- if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);
20
+ if (hasOwn(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);
21
21
  };
@@ -1,4 +1,4 @@
1
- var has = require('../internals/has');
1
+ var hasOwn = require('../internals/has-own-property');
2
2
  var isCallable = require('../internals/is-callable');
3
3
  var toObject = require('../internals/to-object');
4
4
  var sharedKey = require('../internals/shared-key');
@@ -12,7 +12,7 @@ var ObjectPrototype = Object.prototype;
12
12
  // eslint-disable-next-line es/no-object-getprototypeof -- safe
13
13
  module.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {
14
14
  var object = toObject(O);
15
- if (has(object, IE_PROTO)) return object[IE_PROTO];
15
+ if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];
16
16
  var constructor = object.constructor;
17
17
  if (isCallable(constructor) && object instanceof constructor) {
18
18
  return constructor.prototype;
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
  var InternalStateModule = require('../internals/internal-state');
3
3
  var createIteratorConstructor = require('../internals/create-iterator-constructor');
4
- var has = require('../internals/has');
4
+ var hasOwn = require('../internals/has-own-property');
5
5
  var objectKeys = require('../internals/object-keys');
6
6
  var toObject = require('../internals/to-object');
7
7
 
@@ -28,7 +28,7 @@ module.exports = createIteratorConstructor(function ObjectIterator(source, mode)
28
28
  }
29
29
  var key = keys[state.index++];
30
30
  var object = state.object;
31
- if (!has(object, key)) continue;
31
+ if (!hasOwn(object, key)) continue;
32
32
  switch (state.mode) {
33
33
  case 'keys': return { value: key, done: false };
34
34
  case 'values': return { value: object[key], done: false };
@@ -1,4 +1,4 @@
1
- var has = require('../internals/has');
1
+ var hasOwn = require('../internals/has-own-property');
2
2
  var toIndexedObject = require('../internals/to-indexed-object');
3
3
  var indexOf = require('../internals/array-includes').indexOf;
4
4
  var hiddenKeys = require('../internals/hidden-keys');
@@ -8,9 +8,9 @@ module.exports = function (object, names) {
8
8
  var i = 0;
9
9
  var result = [];
10
10
  var key;
11
- for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
11
+ for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && result.push(key);
12
12
  // Don't enum bug & hidden keys
13
- while (names.length > i) if (has(O, key = names[i++])) {
13
+ while (names.length > i) if (hasOwn(O, key = names[i++])) {
14
14
  ~indexOf(result, key) || result.push(key);
15
15
  }
16
16
  return result;