core-js 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.
- package/configurator.js +7 -3
- package/es/promise/all-settled.js +2 -1
- package/es/promise/any.js +2 -1
- package/features/array/from-async.js +8 -0
- package/features/array/index.js +2 -0
- package/features/index.js +2 -0
- package/features/map/from.js +2 -1
- package/features/map/group-by.js +2 -1
- package/features/map/key-by.js +2 -1
- package/features/map/of.js +2 -1
- package/features/promise/try.js +2 -1
- package/features/set/from.js +2 -1
- package/features/set/of.js +2 -1
- package/features/typed-array/from-async.js +1 -0
- package/features/typed-array/index.js +2 -0
- package/features/typed-array/methods.js +2 -0
- package/features/weak-map/from.js +2 -1
- package/features/weak-map/of.js +2 -1
- package/features/weak-set/from.js +2 -1
- package/features/weak-set/of.js +2 -1
- package/internals/a-callable.js +8 -0
- package/internals/a-constructor.js +8 -0
- package/internals/a-possible-prototype.js +4 -5
- package/internals/an-instance.js +2 -3
- package/internals/an-object.js +4 -4
- package/internals/array-buffer-view-core.js +13 -12
- package/internals/array-buffer.js +9 -3
- package/internals/array-copy-within.js +2 -2
- package/internals/array-fill.js +2 -2
- package/internals/array-from-async.js +36 -0
- package/internals/array-from.js +8 -7
- 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 +4 -4
- package/internals/array-species-constructor.js +3 -2
- package/internals/array-unique-by.js +5 -5
- package/internals/async-from-sync-iterator.js +4 -4
- package/internals/async-iterator-create-proxy.js +7 -6
- package/internals/async-iterator-iteration.js +27 -15
- package/internals/async-iterator-prototype.js +16 -16
- package/internals/classof.js +2 -1
- package/internals/collection-add-all.js +2 -2
- package/internals/collection-delete-all.js +2 -2
- package/internals/collection-from.js +4 -3
- package/internals/collection-weak.js +3 -3
- package/internals/collection.js +2 -1
- package/internals/copy-constructor-properties.js +2 -2
- package/internals/define-iterator.js +21 -13
- package/internals/define-well-known-symbol.js +2 -2
- package/internals/dom-token-list-prototype.js +7 -0
- package/internals/export.js +1 -0
- package/internals/flatten-into-array.js +4 -3
- package/internals/function-bind-context.js +2 -2
- package/internals/function-bind.js +2 -2
- package/internals/function-name.js +17 -0
- package/internals/get-async-iterator.js +2 -5
- package/internals/get-built-in.js +3 -2
- package/internals/get-iterator-method.js +3 -2
- package/internals/get-iterator.js +5 -5
- package/internals/get-method.js +4 -3
- package/internals/{has.js → has-own-property.js} +2 -0
- package/internals/inherit-if-required.js +2 -1
- package/internals/inspect-source.js +2 -1
- package/internals/install-error-cause.js +10 -0
- package/internals/internal-metadata.js +4 -4
- package/internals/internal-state.js +4 -4
- package/internals/is-array.js +2 -2
- package/internals/is-callable.js +5 -0
- package/internals/is-constructor.js +41 -0
- package/internals/is-data-descriptor.js +2 -2
- package/internals/is-forced.js +2 -1
- package/internals/is-integral-number.js +10 -0
- package/internals/is-object.js +3 -1
- package/internals/is-symbol.js +2 -1
- package/internals/iterate.js +3 -3
- package/internals/iterator-close.js +3 -2
- package/internals/iterator-create-proxy.js +10 -9
- package/internals/iterators-core.js +8 -6
- package/internals/length-of-array-like.js +7 -0
- package/internals/map-upsert.js +4 -3
- package/internals/native-weak-map.js +2 -1
- package/internals/new-promise-capability.js +3 -3
- package/internals/number-parse-float.js +6 -1
- package/internals/number-parse-int.js +6 -1
- package/internals/object-get-own-property-descriptor.js +2 -2
- package/internals/object-get-prototype-of.js +8 -6
- package/internals/object-iterator.js +2 -2
- package/internals/object-keys-internal.js +3 -3
- package/internals/ordinary-to-primitive.js +4 -3
- package/internals/redefine.js +12 -6
- package/internals/regexp-exec-abstract.js +8 -13
- package/internals/regexp-unsupported-dot-all.js +1 -1
- package/internals/regexp-unsupported-ncg.js +1 -1
- package/internals/set-to-string-tag.js +2 -2
- package/internals/shared.js +1 -1
- package/internals/species-constructor.js +2 -2
- package/internals/string-multibyte.js +2 -3
- package/internals/string-pad-webkit-bug.js +0 -1
- package/internals/string-pad.js +1 -1
- package/internals/string-repeat.js +2 -2
- package/internals/string-trim-forced.js +4 -1
- package/internals/task.js +3 -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/to-primitive.js +3 -2
- package/internals/to-string.js +2 -2
- package/internals/try-to-string.js +7 -0
- package/internals/typed-array-constructor.js +8 -8
- package/internals/typed-array-from.js +6 -4
- package/internals/well-known-symbol.js +3 -3
- package/modules/es.aggregate-error.js +5 -2
- package/modules/es.array.at.js +4 -4
- package/modules/es.array.concat.js +2 -2
- package/modules/es.array.flat-map.js +4 -4
- package/modules/es.array.flat.js +4 -4
- package/modules/es.array.of.js +2 -1
- package/modules/es.array.slice.js +5 -4
- package/modules/es.array.sort.js +4 -4
- package/modules/es.array.splice.js +4 -4
- package/modules/es.date.set-year.js +2 -2
- package/modules/es.date.to-primitive.js +2 -2
- package/modules/es.function.has-instance.js +2 -1
- package/modules/es.function.name.js +2 -1
- 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.define-getter.js +2 -2
- package/modules/es.object.define-setter.js +2 -2
- package/modules/es.object.has-own.js +1 -1
- package/modules/es.parse-float.js +3 -3
- package/modules/es.parse-int.js +3 -3
- package/modules/es.promise.all-settled.js +2 -2
- package/modules/es.promise.any.js +2 -2
- package/modules/es.promise.finally.js +3 -2
- package/modules/es.promise.js +10 -9
- package/modules/es.reflect.apply.js +2 -2
- package/modules/es.reflect.construct.js +3 -3
- package/modules/es.regexp.constructor.js +2 -2
- package/modules/es.regexp.test.js +4 -4
- package/modules/es.regexp.to-string.js +2 -1
- package/modules/es.string.at-alternative.js +3 -4
- package/modules/es.string.ends-with.js +1 -1
- package/modules/es.string.match-all.js +6 -16
- package/modules/es.string.match.js +3 -2
- package/modules/es.string.raw.js +12 -6
- package/modules/es.string.replace-all.js +5 -3
- package/modules/es.string.replace.js +7 -5
- package/modules/es.string.search.js +3 -2
- package/modules/es.string.split.js +3 -2
- package/modules/es.string.substr.js +7 -4
- package/modules/es.string.trim-end.js +1 -1
- package/modules/es.string.trim-start.js +1 -1
- package/modules/es.symbol.description.js +4 -3
- package/modules/es.symbol.js +20 -16
- package/modules/es.typed-array.at.js +4 -4
- package/modules/es.typed-array.iterator.js +4 -4
- package/modules/es.typed-array.set.js +2 -2
- package/modules/es.typed-array.sort.js +4 -4
- package/modules/esnext.aggregate-error.js +1 -1
- package/modules/esnext.array.from-async.js +8 -0
- 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.async-iterator.filter.js +2 -2
- package/modules/esnext.async-iterator.flat-map.js +3 -3
- package/modules/esnext.async-iterator.from.js +7 -9
- package/modules/esnext.async-iterator.map.js +2 -2
- package/modules/esnext.async-iterator.reduce.js +3 -3
- package/modules/esnext.async-iterator.to-array.js +1 -1
- package/modules/esnext.global-this.js +1 -1
- package/modules/esnext.iterator.constructor.js +5 -12
- package/modules/esnext.iterator.every.js +2 -2
- package/modules/esnext.iterator.filter.js +2 -2
- package/modules/esnext.iterator.find.js +2 -2
- package/modules/esnext.iterator.flat-map.js +4 -4
- package/modules/esnext.iterator.from.js +5 -7
- package/modules/esnext.iterator.map.js +2 -2
- package/modules/esnext.iterator.reduce.js +2 -2
- package/modules/esnext.iterator.some.js +2 -2
- package/modules/esnext.map.filter.js +2 -2
- package/modules/esnext.map.group-by.js +9 -7
- package/modules/esnext.map.key-by.js +3 -3
- package/modules/esnext.map.key-of.js +1 -1
- package/modules/esnext.map.map-keys.js +2 -2
- package/modules/esnext.map.map-values.js +2 -2
- package/modules/esnext.map.merge.js +2 -2
- package/modules/esnext.map.reduce.js +2 -2
- package/modules/esnext.map.update-or-insert.js +1 -1
- package/modules/esnext.map.update.js +3 -3
- package/modules/esnext.number.from-string.js +2 -2
- package/modules/esnext.observable.js +16 -14
- package/modules/esnext.promise.all-settled.js +1 -1
- package/modules/esnext.promise.any.js +1 -1
- package/modules/esnext.set.difference.js +2 -2
- package/modules/esnext.set.filter.js +2 -2
- package/modules/esnext.set.intersection.js +3 -3
- package/modules/esnext.set.is-disjoint-from.js +2 -2
- package/modules/esnext.set.is-subset-of.js +4 -3
- package/modules/esnext.set.is-superset-of.js +2 -2
- package/modules/esnext.set.map.js +2 -2
- package/modules/esnext.set.reduce.js +2 -2
- package/modules/esnext.set.symmetric-difference.js +3 -3
- package/modules/esnext.set.union.js +2 -2
- package/modules/esnext.string.match-all.js +1 -1
- package/modules/esnext.string.replace-all.js +1 -1
- package/modules/esnext.typed-array.from-async.js +26 -0
- package/modules/web.dom-collections.for-each.js +10 -3
- package/modules/web.dom-collections.iterator.js +8 -3
- package/modules/web.timers.js +2 -1
- package/modules/web.url-search-params.js +7 -6
- package/modules/web.url.js +6 -6
- package/package.json +2 -2
- package/postinstall.js +1 -1
- package/proposals/array-from-async.js +3 -0
- package/stage/1.js +1 -0
- package/internals/a-function.js +0 -5
- package/internals/is-integer.js +0 -9
- package/internals/to-integer.js +0 -8
package/internals/redefine.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
var global = require('../internals/global');
|
|
2
|
+
var isCallable = require('../internals/is-callable');
|
|
3
|
+
var hasOwn = require('../internals/has-own-property');
|
|
2
4
|
var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
|
|
3
|
-
var has = require('../internals/has');
|
|
4
5
|
var setGlobal = require('../internals/set-global');
|
|
5
6
|
var inspectSource = require('../internals/inspect-source');
|
|
6
7
|
var InternalStateModule = require('../internals/internal-state');
|
|
8
|
+
var CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;
|
|
7
9
|
|
|
8
10
|
var getInternalState = InternalStateModule.get;
|
|
9
11
|
var enforceInternalState = InternalStateModule.enforce;
|
|
@@ -13,14 +15,18 @@ var TEMPLATE = String(String).split('String');
|
|
|
13
15
|
var unsafe = options ? !!options.unsafe : false;
|
|
14
16
|
var simple = options ? !!options.enumerable : false;
|
|
15
17
|
var noTargetGet = options ? !!options.noTargetGet : false;
|
|
18
|
+
var name = options && options.name !== undefined ? options.name : key;
|
|
16
19
|
var state;
|
|
17
|
-
if (
|
|
18
|
-
if (
|
|
19
|
-
|
|
20
|
+
if (isCallable(value)) {
|
|
21
|
+
if (String(name).slice(0, 7) === 'Symbol(') {
|
|
22
|
+
name = '[' + String(name).replace(/^Symbol\(([^)]*)\)/, '$1') + ']';
|
|
23
|
+
}
|
|
24
|
+
if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {
|
|
25
|
+
createNonEnumerableProperty(value, 'name', name);
|
|
20
26
|
}
|
|
21
27
|
state = enforceInternalState(value);
|
|
22
28
|
if (!state.source) {
|
|
23
|
-
state.source = TEMPLATE.join(typeof
|
|
29
|
+
state.source = TEMPLATE.join(typeof name == 'string' ? name : '');
|
|
24
30
|
}
|
|
25
31
|
}
|
|
26
32
|
if (O === global) {
|
|
@@ -36,5 +42,5 @@ var TEMPLATE = String(String).split('String');
|
|
|
36
42
|
else createNonEnumerableProperty(O, key, value);
|
|
37
43
|
// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
|
|
38
44
|
})(Function.prototype, 'toString', function toString() {
|
|
39
|
-
return
|
|
45
|
+
return isCallable(this) && getInternalState(this).source || inspectSource(this);
|
|
40
46
|
});
|
|
@@ -1,22 +1,17 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
1
|
+
var anObject = require('../internals/an-object');
|
|
2
|
+
var isCallable = require('../internals/is-callable');
|
|
3
|
+
var classof = require('../internals/classof-raw');
|
|
4
|
+
var regexpExec = require('../internals/regexp-exec');
|
|
3
5
|
|
|
4
6
|
// `RegExpExec` abstract operation
|
|
5
7
|
// https://tc39.es/ecma262/#sec-regexpexec
|
|
6
8
|
module.exports = function (R, S) {
|
|
7
9
|
var exec = R.exec;
|
|
8
|
-
if (
|
|
10
|
+
if (isCallable(exec)) {
|
|
9
11
|
var result = exec.call(R, S);
|
|
10
|
-
if (
|
|
11
|
-
throw TypeError('RegExp exec method returned something other than an Object or null');
|
|
12
|
-
}
|
|
12
|
+
if (result !== null) anObject(result);
|
|
13
13
|
return result;
|
|
14
14
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
throw TypeError('RegExp#exec called on incompatible receiver');
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
return regexpExec.call(R, S);
|
|
15
|
+
if (classof(R) === 'RegExp') return regexpExec.call(R, S);
|
|
16
|
+
throw TypeError('RegExp#exec called on incompatible receiver');
|
|
21
17
|
};
|
|
22
|
-
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
var defineProperty = require('../internals/object-define-property').f;
|
|
2
|
-
var
|
|
2
|
+
var hasOwn = require('../internals/has-own-property');
|
|
3
3
|
var wellKnownSymbol = require('../internals/well-known-symbol');
|
|
4
4
|
|
|
5
5
|
var TO_STRING_TAG = wellKnownSymbol('toStringTag');
|
|
6
6
|
|
|
7
7
|
module.exports = function (it, TAG, STATIC) {
|
|
8
|
-
if (it && !
|
|
8
|
+
if (it && !hasOwn(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {
|
|
9
9
|
defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });
|
|
10
10
|
}
|
|
11
11
|
};
|
package/internals/shared.js
CHANGED
|
@@ -4,7 +4,7 @@ var store = require('../internals/shared-store');
|
|
|
4
4
|
(module.exports = function (key, value) {
|
|
5
5
|
return store[key] || (store[key] = value !== undefined ? value : {});
|
|
6
6
|
})('versions', []).push({
|
|
7
|
-
version: '3.
|
|
7
|
+
version: '3.18.2',
|
|
8
8
|
mode: IS_PURE ? 'pure' : 'global',
|
|
9
9
|
copyright: '© 2021 Denis Pushkarev (zloirock.ru)'
|
|
10
10
|
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
var anObject = require('../internals/an-object');
|
|
2
|
-
var
|
|
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 :
|
|
12
|
+
return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aConstructor(S);
|
|
13
13
|
};
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
var
|
|
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 =
|
|
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);
|
package/internals/string-pad.js
CHANGED
|
@@ -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
|
|
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 =
|
|
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]()
|
|
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
|
-
(
|
|
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
|
-
|
|
87
|
+
isCallable(global.postMessage) &&
|
|
87
88
|
!global.importScripts &&
|
|
88
89
|
location && location.protocol !== 'file:' &&
|
|
89
90
|
!fails(post)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var
|
|
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 =
|
|
10
|
+
var integer = toIntegerOrInfinity(index);
|
|
11
11
|
return integer < 0 ? max(integer + length, 0) : min(integer, length);
|
|
12
12
|
};
|
package/internals/to-index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
var
|
|
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 =
|
|
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
|
+
};
|
package/internals/to-length.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
var
|
|
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(
|
|
8
|
+
return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
|
|
9
9
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
var
|
|
1
|
+
var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
|
|
2
2
|
|
|
3
3
|
module.exports = function (it) {
|
|
4
|
-
var result =
|
|
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
|
|
13
|
+
var exoticToPrim = getMethod(input, TO_PRIMITIVE);
|
|
13
14
|
var result;
|
|
14
|
-
if (exoticToPrim
|
|
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;
|
package/internals/to-string.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
var
|
|
1
|
+
var classof = require('../internals/classof');
|
|
2
2
|
|
|
3
3
|
module.exports = function (argument) {
|
|
4
|
-
if (
|
|
4
|
+
if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');
|
|
5
5
|
return String(argument);
|
|
6
6
|
};
|
|
@@ -8,12 +8,12 @@ var ArrayBufferModule = require('../internals/array-buffer');
|
|
|
8
8
|
var anInstance = require('../internals/an-instance');
|
|
9
9
|
var createPropertyDescriptor = require('../internals/create-property-descriptor');
|
|
10
10
|
var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
|
|
11
|
-
var
|
|
11
|
+
var isIntegralNumber = require('../internals/is-integral-number');
|
|
12
12
|
var toLength = require('../internals/to-length');
|
|
13
13
|
var toIndex = require('../internals/to-index');
|
|
14
14
|
var toOffset = require('../internals/to-offset');
|
|
15
15
|
var toPropertyKey = require('../internals/to-property-key');
|
|
16
|
-
var
|
|
16
|
+
var hasOwn = require('../internals/has-own-property');
|
|
17
17
|
var classof = require('../internals/classof');
|
|
18
18
|
var isObject = require('../internals/is-object');
|
|
19
19
|
var isSymbol = require('../internals/is-symbol');
|
|
@@ -69,7 +69,7 @@ var isTypedArrayIndex = function (target, key) {
|
|
|
69
69
|
return isTypedArray(target)
|
|
70
70
|
&& !isSymbol(key)
|
|
71
71
|
&& key in target
|
|
72
|
-
&&
|
|
72
|
+
&& isIntegralNumber(+key)
|
|
73
73
|
&& key >= 0;
|
|
74
74
|
};
|
|
75
75
|
|
|
@@ -84,13 +84,13 @@ var wrappedDefineProperty = function defineProperty(target, key, descriptor) {
|
|
|
84
84
|
key = toPropertyKey(key);
|
|
85
85
|
if (isTypedArrayIndex(target, key)
|
|
86
86
|
&& isObject(descriptor)
|
|
87
|
-
&&
|
|
88
|
-
&& !
|
|
89
|
-
&& !
|
|
87
|
+
&& hasOwn(descriptor, 'value')
|
|
88
|
+
&& !hasOwn(descriptor, 'get')
|
|
89
|
+
&& !hasOwn(descriptor, 'set')
|
|
90
90
|
// TODO: add validation descriptor w/o calling accessors
|
|
91
91
|
&& !descriptor.configurable
|
|
92
|
-
&& (!
|
|
93
|
-
&& (!
|
|
92
|
+
&& (!hasOwn(descriptor, 'writable') || descriptor.writable)
|
|
93
|
+
&& (!hasOwn(descriptor, 'enumerable') || descriptor.enumerable)
|
|
94
94
|
) {
|
|
95
95
|
target[key] = descriptor.value;
|
|
96
96
|
return target;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
var aConstructor = require('../internals/a-constructor');
|
|
1
2
|
var toObject = require('../internals/to-object');
|
|
2
|
-
var
|
|
3
|
+
var lengthOfArrayLike = require('../internals/length-of-array-like');
|
|
3
4
|
var getIterator = require('../internals/get-iterator');
|
|
4
5
|
var getIteratorMethod = require('../internals/get-iterator-method');
|
|
5
6
|
var isArrayIteratorMethod = require('../internals/is-array-iterator-method');
|
|
@@ -7,13 +8,14 @@ var bind = require('../internals/function-bind-context');
|
|
|
7
8
|
var aTypedArrayConstructor = require('../internals/array-buffer-view-core').aTypedArrayConstructor;
|
|
8
9
|
|
|
9
10
|
module.exports = function from(source /* , mapfn, thisArg */) {
|
|
11
|
+
var C = aConstructor(this);
|
|
10
12
|
var O = toObject(source);
|
|
11
13
|
var argumentsLength = arguments.length;
|
|
12
14
|
var mapfn = argumentsLength > 1 ? arguments[1] : undefined;
|
|
13
15
|
var mapping = mapfn !== undefined;
|
|
14
16
|
var iteratorMethod = getIteratorMethod(O);
|
|
15
17
|
var i, length, result, step, iterator, next;
|
|
16
|
-
if (iteratorMethod
|
|
18
|
+
if (iteratorMethod && !isArrayIteratorMethod(iteratorMethod)) {
|
|
17
19
|
iterator = getIterator(O, iteratorMethod);
|
|
18
20
|
next = iterator.next;
|
|
19
21
|
O = [];
|
|
@@ -24,8 +26,8 @@ module.exports = function from(source /* , mapfn, thisArg */) {
|
|
|
24
26
|
if (mapping && argumentsLength > 2) {
|
|
25
27
|
mapfn = bind(mapfn, arguments[2], 2);
|
|
26
28
|
}
|
|
27
|
-
length =
|
|
28
|
-
result = new (aTypedArrayConstructor(
|
|
29
|
+
length = lengthOfArrayLike(O);
|
|
30
|
+
result = new (aTypedArrayConstructor(C))(length);
|
|
29
31
|
for (i = 0; length > i; i++) {
|
|
30
32
|
result[i] = mapping ? mapfn(O[i], i) : O[i];
|
|
31
33
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
var global = require('../internals/global');
|
|
2
2
|
var shared = require('../internals/shared');
|
|
3
|
-
var
|
|
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 (!
|
|
14
|
-
if (NATIVE_SYMBOL &&
|
|
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
|
-
|
|
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);
|
package/modules/es.array.at.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
3
|
var toObject = require('../internals/to-object');
|
|
4
|
-
var
|
|
5
|
-
var
|
|
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 =
|
|
14
|
-
var relativeIndex =
|
|
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
|
|
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 =
|
|
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
|
|
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 =
|
|
14
|
+
var sourceLen = lengthOfArrayLike(O);
|
|
15
15
|
var A;
|
|
16
|
-
|
|
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;
|
package/modules/es.array.flat.js
CHANGED
|
@@ -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
|
|
6
|
-
var
|
|
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 =
|
|
15
|
+
var sourceLen = lengthOfArrayLike(O);
|
|
16
16
|
var A = arraySpeciesCreate(O, 0);
|
|
17
|
-
A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 :
|
|
17
|
+
A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toIntegerOrInfinity(depthArg));
|
|
18
18
|
return A;
|
|
19
19
|
}
|
|
20
20
|
});
|
package/modules/es.array.of.js
CHANGED
|
@@ -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 (
|
|
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
|
|
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 =
|
|
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 (
|
|
33
|
+
if (isConstructor(Constructor) && (Constructor === Array || isArray(Constructor.prototype))) {
|
|
33
34
|
Constructor = undefined;
|
|
34
35
|
} else if (isObject(Constructor)) {
|
|
35
36
|
Constructor = Constructor[SPECIES];
|
package/modules/es.array.sort.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
-
var
|
|
3
|
+
var aCallable = require('../internals/a-callable');
|
|
4
4
|
var toObject = require('../internals/to-object');
|
|
5
|
-
var
|
|
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)
|
|
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 =
|
|
86
|
+
var arrayLength = lengthOfArrayLike(array);
|
|
87
87
|
var itemsLength, index;
|
|
88
88
|
|
|
89
89
|
for (index = 0; index < arrayLength; index++) {
|