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.
- package/configurator.js +7 -3
- package/features/typed-array/methods.js +2 -0
- package/internals/array-buffer-view-core.js +8 -8
- package/internals/array-buffer.js +2 -2
- package/internals/array-copy-within.js +2 -2
- package/internals/array-fill.js +2 -2
- package/internals/array-from-async.js +14 -9
- package/internals/array-from.js +2 -2
- package/internals/array-group-by.js +2 -2
- package/internals/array-includes.js +2 -2
- package/internals/array-iteration-from-last.js +2 -2
- package/internals/array-iteration.js +2 -2
- package/internals/array-last-index-of.js +4 -4
- package/internals/array-reduce.js +2 -2
- package/internals/array-unique-by.js +2 -2
- package/internals/collection-weak.js +3 -3
- package/internals/copy-constructor-properties.js +2 -2
- package/internals/define-well-known-symbol.js +2 -2
- package/internals/flatten-into-array.js +4 -3
- package/internals/function-name.js +2 -2
- package/internals/{has.js → has-own-property.js} +2 -0
- package/internals/internal-metadata.js +4 -4
- package/internals/internal-state.js +4 -4
- package/internals/is-data-descriptor.js +2 -2
- package/internals/is-integral-number.js +10 -0
- package/internals/iterate.js +2 -2
- package/internals/length-of-array-like.js +7 -0
- package/internals/object-get-own-property-descriptor.js +2 -2
- package/internals/object-get-prototype-of.js +2 -2
- package/internals/object-iterator.js +2 -2
- package/internals/object-keys-internal.js +3 -3
- package/internals/redefine.js +2 -2
- package/internals/set-to-string-tag.js +2 -2
- package/internals/shared.js +1 -1
- package/internals/string-multibyte.js +2 -3
- package/internals/string-pad.js +1 -1
- package/internals/string-repeat.js +2 -2
- package/internals/to-absolute-index.js +2 -2
- package/internals/to-index.js +2 -2
- package/internals/to-integer-or-infinity.js +10 -0
- package/internals/to-length.js +2 -2
- package/internals/to-positive-integer.js +2 -2
- package/internals/typed-array-constructor.js +8 -8
- package/internals/typed-array-from.js +2 -2
- package/internals/well-known-symbol.js +3 -3
- package/modules/es.aggregate-error.js +3 -2
- package/modules/es.array.at.js +4 -4
- package/modules/es.array.concat.js +2 -2
- package/modules/es.array.flat-map.js +2 -2
- package/modules/es.array.flat.js +4 -4
- package/modules/es.array.slice.js +2 -2
- package/modules/es.array.sort.js +2 -2
- package/modules/es.array.splice.js +4 -4
- package/modules/es.date.set-year.js +2 -2
- package/modules/es.number.constructor.js +15 -14
- package/modules/es.number.is-integer.js +2 -2
- package/modules/es.number.is-safe-integer.js +2 -2
- package/modules/es.number.to-fixed.js +2 -2
- package/modules/es.object.has-own.js +1 -1
- package/modules/es.regexp.constructor.js +2 -2
- package/modules/es.string.at-alternative.js +3 -4
- package/modules/es.string.ends-with.js +1 -1
- package/modules/es.string.raw.js +4 -3
- package/modules/es.string.replace.js +2 -2
- package/modules/es.string.substr.js +3 -3
- package/modules/es.symbol.description.js +2 -2
- package/modules/es.symbol.js +14 -13
- package/modules/es.typed-array.at.js +4 -4
- package/modules/es.typed-array.set.js +2 -2
- package/modules/es.typed-array.sort.js +2 -2
- package/modules/esnext.array.last-index.js +2 -2
- package/modules/esnext.array.last-item.js +3 -3
- package/modules/esnext.async-iterator.constructor.js +3 -3
- package/modules/esnext.iterator.constructor.js +3 -3
- package/modules/esnext.number.from-string.js +2 -2
- package/modules/esnext.typed-array.from-async.js +9 -2
- package/modules/web.url-search-params.js +1 -1
- package/modules/web.url.js +4 -4
- package/package.json +2 -2
- package/internals/is-integer.js +0 -9
- package/internals/to-integer.js +0 -8
package/configurator.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var
|
|
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 (
|
|
21
|
-
|
|
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
|
|
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
|
-
||
|
|
57
|
-
||
|
|
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
|
|
64
|
-
||
|
|
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 &&
|
|
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 &&
|
|
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 && !
|
|
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
|
|
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 =
|
|
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
|
|
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 =
|
|
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;
|
package/internals/array-fill.js
CHANGED
|
@@ -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
|
|
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 =
|
|
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
|
|
21
|
+
var C = this;
|
|
21
22
|
var argumentsLength = arguments.length;
|
|
22
23
|
var mapfn = argumentsLength > 1 ? arguments[1] : undefined;
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
?
|
|
29
|
-
|
|
30
|
-
|
|
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
|
};
|
package/internals/array-from.js
CHANGED
|
@@ -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
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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
|
|
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 =
|
|
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
|
|
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 =
|
|
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
|
|
5
|
-
var
|
|
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 =
|
|
20
|
+
var length = lengthOfArrayLike(O);
|
|
21
21
|
var index = length - 1;
|
|
22
|
-
if (arguments.length > 1) index = min(index,
|
|
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
|
|
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 =
|
|
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
|
|
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 =
|
|
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
|
|
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 &&
|
|
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 &&
|
|
96
|
+
return data && hasOwn(data, state.id);
|
|
97
97
|
}
|
|
98
98
|
});
|
|
99
99
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var
|
|
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 (!
|
|
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
|
|
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 (!
|
|
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
|
|
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
|
-
|
|
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
|
|
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 =
|
|
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
|
|
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 (!
|
|
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 (!
|
|
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) && !
|
|
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
|
|
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 (
|
|
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
|
|
54
|
+
return hasOwn(it, STATE) ? it[STATE] : {};
|
|
55
55
|
};
|
|
56
56
|
has = function (it) {
|
|
57
|
-
return
|
|
57
|
+
return hasOwn(it, STATE);
|
|
58
58
|
};
|
|
59
59
|
}
|
|
60
60
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
var
|
|
1
|
+
var hasOwn = require('../internals/has-own-property');
|
|
2
2
|
|
|
3
3
|
module.exports = function (descriptor) {
|
|
4
|
-
return descriptor !== undefined && (
|
|
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
|
+
};
|
package/internals/iterate.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
var anObject = require('../internals/an-object');
|
|
2
2
|
var isArrayIteratorMethod = require('../internals/is-array-iterator-method');
|
|
3
|
-
var
|
|
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 =
|
|
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);
|
|
@@ -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
|
|
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 (
|
|
20
|
+
if (hasOwn(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);
|
|
21
21
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var
|
|
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 (
|
|
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
|
|
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 (!
|
|
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
|
|
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) !
|
|
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 (
|
|
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;
|