core-js-pure 3.18.2 → 3.19.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/es/date/to-primitive.js +2 -3
- package/es/date/to-string.js +2 -4
- package/es/instance/at.js +6 -5
- package/es/instance/bind.js +3 -2
- package/es/instance/code-point-at.js +4 -3
- package/es/instance/concat.js +3 -2
- package/es/instance/copy-within.js +3 -2
- package/es/instance/ends-with.js +4 -3
- package/es/instance/entries.js +3 -2
- package/es/instance/every.js +3 -2
- package/es/instance/fill.js +3 -2
- package/es/instance/filter.js +3 -2
- package/es/instance/find-index.js +3 -2
- package/es/instance/find.js +3 -2
- package/es/instance/flags.js +2 -1
- package/es/instance/flat-map.js +3 -2
- package/es/instance/flat.js +3 -2
- package/es/instance/for-each.js +3 -2
- package/es/instance/includes.js +6 -5
- package/es/instance/index-of.js +3 -2
- package/es/instance/keys.js +3 -2
- package/es/instance/last-index-of.js +3 -2
- package/es/instance/map.js +3 -2
- package/es/instance/match-all.js +4 -3
- package/es/instance/pad-end.js +4 -3
- package/es/instance/pad-start.js +4 -3
- package/es/instance/reduce-right.js +3 -2
- package/es/instance/reduce.js +3 -2
- package/es/instance/repeat.js +4 -3
- package/es/instance/replace-all.js +4 -3
- package/es/instance/reverse.js +3 -2
- package/es/instance/slice.js +3 -2
- package/es/instance/some.js +3 -2
- package/es/instance/sort.js +3 -2
- package/es/instance/splice.js +3 -2
- package/es/instance/starts-with.js +4 -3
- package/es/instance/trim-end.js +4 -3
- package/es/instance/trim-left.js +4 -3
- package/es/instance/trim-right.js +4 -3
- package/es/instance/trim-start.js +4 -3
- package/es/instance/trim.js +4 -3
- package/es/instance/values.js +3 -2
- package/es/json/stringify.js +4 -3
- package/es/promise/all-settled.js +2 -1
- package/es/promise/any.js +2 -1
- package/es/regexp/flags.js +3 -4
- package/es/regexp/match.js +2 -1
- package/es/regexp/replace.js +2 -1
- package/es/regexp/search.js +2 -1
- package/es/regexp/split.js +2 -1
- package/es/regexp/test.js +2 -3
- package/es/regexp/to-string.js +2 -3
- package/es/string/iterator.js +2 -5
- package/features/instance/at.js +6 -5
- package/features/instance/code-points.js +4 -3
- package/features/instance/filter-out.js +3 -2
- package/features/instance/filter-reject.js +3 -2
- package/features/instance/find-last-index.js +3 -2
- package/features/instance/find-last.js +3 -2
- package/features/instance/group-by.js +3 -2
- package/features/instance/unique-by.js +3 -2
- package/features/map/from.js +3 -2
- package/features/map/group-by.js +2 -1
- package/features/map/key-by.js +2 -1
- package/features/map/of.js +3 -2
- package/features/promise/try.js +2 -1
- package/features/set/from.js +3 -2
- package/features/set/of.js +3 -2
- package/features/weak-map/from.js +3 -2
- package/features/weak-map/of.js +3 -2
- package/features/weak-set/from.js +3 -2
- package/features/weak-set/of.js +3 -2
- package/internals/a-callable.js +3 -0
- package/internals/a-constructor.js +3 -0
- package/internals/a-possible-prototype.js +5 -1
- package/internals/an-instance.js +8 -3
- package/internals/an-object.js +4 -0
- package/internals/array-buffer-native.js +1 -1
- package/internals/array-buffer-non-extensible.js +10 -0
- package/internals/array-from-async.js +1 -1
- package/internals/array-from.js +6 -2
- package/internals/array-group-by.js +6 -3
- package/internals/array-iteration-from-last.js +1 -1
- package/internals/array-iteration.js +5 -4
- package/internals/array-last-index-of.js +2 -1
- package/internals/array-reduce.js +3 -0
- package/internals/array-slice-simple.js +17 -0
- package/internals/array-slice.js +3 -0
- package/internals/array-sort.js +10 -11
- package/internals/array-species-constructor.js +2 -0
- package/internals/array-unique-by.js +13 -9
- package/internals/async-from-sync-iterator.js +4 -3
- package/internals/async-iterator-create-proxy.js +4 -3
- package/internals/async-iterator-iteration.js +5 -2
- package/internals/classof-raw.js +5 -2
- package/internals/classof.js +3 -0
- package/internals/clear-error-stack.js +20 -0
- package/internals/collection-add-all.js +3 -2
- package/internals/collection-delete-all.js +3 -2
- package/internals/collection-from.js +7 -4
- package/internals/collection-of.js +3 -4
- package/internals/collection-strong.js +11 -9
- package/internals/collection-weak.js +10 -6
- package/internals/collection.js +5 -3
- package/internals/composite-key.js +9 -2
- package/internals/create-html.js +3 -1
- package/internals/date-to-iso-string.js +23 -13
- package/internals/date-to-primitive.js +3 -0
- package/internals/define-iterator.js +2 -1
- package/internals/engine-v8-version.js +10 -4
- package/internals/error-stack-installable.js +10 -0
- package/internals/export.js +6 -4
- package/internals/flatten-into-array.js +4 -1
- package/internals/function-apply.js +9 -0
- package/internals/function-bind-context.js +5 -17
- package/internals/function-bind.js +15 -9
- package/internals/function-call.js +5 -0
- package/internals/function-uncurry-this.js +12 -0
- package/internals/get-async-iterator.js +2 -1
- package/internals/get-iterator.js +7 -2
- package/internals/get-substitution.js +10 -7
- package/internals/has-own-property.js +3 -2
- package/internals/host-report-errors.js +1 -1
- package/internals/ieee754.js +24 -6
- package/internals/indexed-object.js +5 -2
- package/internals/inspect-source.js +3 -2
- package/internals/install-error-cause.js +1 -1
- package/internals/internal-metadata.js +4 -7
- package/internals/internal-state.js +9 -7
- package/internals/is-callable.js +1 -1
- package/internals/is-constructor.js +6 -4
- package/internals/is-iterable.js +4 -2
- package/internals/is-object.js +1 -1
- package/internals/is-symbol.js +6 -2
- package/internals/iterate.js +14 -6
- package/internals/iterator-close.js +2 -1
- package/internals/iterator-create-proxy.js +4 -3
- package/internals/map-emplace.js +8 -3
- package/internals/map-upsert.js +12 -4
- package/internals/math-scale.js +9 -12
- package/internals/microtask.js +6 -4
- package/internals/normalize-string-argument.js +5 -0
- package/internals/not-a-regexp.js +3 -0
- package/internals/number-parse-float.js +8 -6
- package/internals/number-parse-int.js +4 -2
- package/internals/numeric-range-iterator.js +4 -0
- package/internals/object-assign.js +5 -2
- package/internals/object-define-properties.js +3 -1
- package/internals/object-define-property.js +2 -0
- package/internals/object-get-own-property-descriptor.js +2 -1
- package/internals/object-get-own-property-names-external.js +4 -4
- package/internals/object-get-prototype-of.js +2 -1
- package/internals/object-is-extensible.js +16 -0
- package/internals/object-is-prototype-of.js +3 -0
- package/internals/object-keys-internal.js +5 -2
- package/internals/object-set-prototype-of.js +4 -3
- package/internals/object-to-array.js +7 -3
- package/internals/ordinary-to-primitive.js +7 -3
- package/internals/own-keys.js +4 -1
- package/internals/reflect-metadata.js +9 -3
- package/internals/regexp-exec-abstract.js +6 -2
- package/internals/require-object-coercible.js +4 -0
- package/internals/set-global.js +4 -2
- package/internals/shared.js +1 -1
- package/internals/string-multibyte.js +13 -4
- package/internals/string-pad.js +6 -3
- package/internals/string-punycode-to-ascii.js +34 -20
- package/internals/string-repeat.js +3 -0
- package/internals/string-trim.js +4 -2
- package/internals/task.js +11 -11
- package/internals/this-number-value.js +2 -4
- package/internals/to-index.js +3 -0
- package/internals/to-object.js +3 -0
- package/internals/to-positive-integer.js +3 -0
- package/internals/to-primitive.js +4 -1
- package/internals/to-property-key.js +1 -1
- package/internals/to-string.js +3 -0
- package/internals/try-to-string.js +4 -0
- package/internals/uid.js +4 -1
- package/internals/well-known-symbol.js +5 -1
- package/modules/es.aggregate-error.js +27 -11
- package/modules/es.array.concat.js +2 -0
- package/modules/es.array.index-of.js +7 -5
- package/modules/es.array.join.js +3 -2
- package/modules/es.array.of.js +3 -1
- package/modules/es.array.reduce.js +2 -1
- package/modules/es.array.reverse.js +3 -2
- package/modules/es.array.slice.js +4 -2
- package/modules/es.array.sort.js +7 -4
- package/modules/es.array.splice.js +2 -0
- package/modules/es.date.get-year.js +3 -2
- package/modules/es.date.now.js +6 -1
- package/modules/es.date.set-year.js +6 -4
- package/modules/es.date.to-json.js +3 -2
- package/modules/es.escape.js +12 -5
- package/modules/es.function.has-instance.js +3 -2
- package/modules/es.json.stringify.js +18 -7
- package/modules/es.map.js +1 -1
- package/modules/es.number.to-fixed.js +19 -13
- package/modules/es.number.to-precision.js +6 -5
- package/modules/es.object.is-extensible.js +4 -10
- package/modules/es.object.is-frozen.js +6 -2
- package/modules/es.object.is-sealed.js +6 -2
- package/modules/es.promise.all-settled.js +2 -2
- package/modules/es.promise.any.js +5 -4
- package/modules/es.promise.js +22 -18
- package/modules/es.reflect.apply.js +4 -10
- package/modules/es.reflect.construct.js +10 -5
- package/modules/es.reflect.get.js +2 -1
- package/modules/es.reflect.is-extensible.js +2 -4
- package/modules/es.reflect.set.js +2 -1
- package/modules/es.set.js +1 -1
- package/modules/es.string.at-alternative.js +4 -1
- package/modules/es.string.ends-with.js +6 -4
- package/modules/es.string.from-code-point.js +7 -4
- package/modules/es.string.includes.js +8 -2
- package/modules/es.string.match-all.js +25 -19
- package/modules/es.string.raw.js +6 -6
- package/modules/es.string.replace-all.js +19 -13
- package/modules/es.string.starts-with.js +6 -4
- package/modules/es.string.substr.js +3 -2
- package/modules/es.symbol.js +34 -21
- package/modules/es.unescape.js +14 -9
- package/modules/es.weak-map.js +15 -15
- package/modules/esnext.array.is-template-object.js +1 -1
- package/modules/esnext.async-iterator.as-indexed-pairs.js +2 -1
- package/modules/esnext.async-iterator.constructor.js +1 -1
- package/modules/esnext.async-iterator.drop.js +2 -1
- package/modules/esnext.async-iterator.filter.js +2 -1
- package/modules/esnext.async-iterator.flat-map.js +3 -2
- package/modules/esnext.async-iterator.from.js +4 -4
- package/modules/esnext.async-iterator.map.js +2 -1
- package/modules/esnext.async-iterator.reduce.js +4 -1
- package/modules/esnext.async-iterator.take.js +4 -2
- package/modules/esnext.composite-key.js +5 -1
- package/modules/esnext.composite-symbol.js +3 -2
- package/modules/esnext.iterator.as-indexed-pairs.js +2 -1
- package/modules/esnext.iterator.constructor.js +1 -1
- package/modules/esnext.iterator.drop.js +4 -2
- package/modules/esnext.iterator.filter.js +2 -1
- package/modules/esnext.iterator.flat-map.js +7 -3
- package/modules/esnext.iterator.from.js +4 -4
- package/modules/esnext.iterator.map.js +2 -1
- package/modules/esnext.iterator.reduce.js +3 -0
- package/modules/esnext.iterator.take.js +2 -1
- package/modules/esnext.map.delete-all.js +2 -4
- package/modules/esnext.map.emplace.js +2 -2
- package/modules/esnext.map.every.js +1 -1
- package/modules/esnext.map.filter.js +5 -4
- package/modules/esnext.map.find-key.js +1 -1
- package/modules/esnext.map.find.js +1 -1
- package/modules/esnext.map.group-by.js +6 -2
- package/modules/esnext.map.includes.js +1 -1
- package/modules/esnext.map.key-by.js +2 -1
- package/modules/esnext.map.map-keys.js +5 -4
- package/modules/esnext.map.map-values.js +5 -4
- package/modules/esnext.map.reduce.js +3 -0
- package/modules/esnext.map.some.js +1 -1
- package/modules/esnext.map.update-or-insert.js +2 -2
- package/modules/esnext.map.update.js +11 -4
- package/modules/esnext.map.upsert.js +2 -2
- package/modules/esnext.math.seeded-prng.js +3 -1
- package/modules/esnext.number.from-string.js +12 -3
- package/modules/esnext.observable.js +14 -9
- package/modules/esnext.reflect.get-metadata-keys.js +5 -10
- package/modules/esnext.set.add-all.js +2 -4
- package/modules/esnext.set.delete-all.js +2 -4
- package/modules/esnext.set.difference.js +3 -2
- package/modules/esnext.set.every.js +1 -1
- package/modules/esnext.set.filter.js +4 -3
- package/modules/esnext.set.find.js +1 -1
- package/modules/esnext.set.intersection.js +3 -2
- package/modules/esnext.set.is-disjoint-from.js +3 -2
- package/modules/esnext.set.is-subset-of.js +3 -2
- package/modules/esnext.set.is-superset-of.js +3 -2
- package/modules/esnext.set.join.js +9 -4
- package/modules/esnext.set.map.js +5 -4
- package/modules/esnext.set.reduce.js +3 -0
- package/modules/esnext.set.some.js +1 -1
- package/modules/esnext.set.symmetric-difference.js +3 -2
- package/modules/esnext.weak-map.delete-all.js +2 -4
- package/modules/esnext.weak-map.emplace.js +2 -2
- package/modules/esnext.weak-map.upsert.js +2 -2
- package/modules/esnext.weak-set.add-all.js +2 -4
- package/modules/esnext.weak-set.delete-all.js +2 -4
- package/modules/web.timers.js +5 -4
- package/modules/web.url-search-params.js +122 -104
- package/modules/web.url.js +664 -628
- package/package.json +2 -2
- package/stable/instance/entries.js +6 -4
- package/stable/instance/for-each.js +6 -4
- package/stable/instance/keys.js +6 -4
- package/stable/instance/values.js +6 -4
package/internals/set-global.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
var global = require('../internals/global');
|
|
2
2
|
|
|
3
|
+
// eslint-disable-next-line es/no-object-defineproperty -- safe
|
|
4
|
+
var defineProperty = Object.defineProperty;
|
|
5
|
+
|
|
3
6
|
module.exports = function (key, value) {
|
|
4
7
|
try {
|
|
5
|
-
|
|
6
|
-
Object.defineProperty(global, key, { value: value, configurable: true, writable: true });
|
|
8
|
+
defineProperty(global, key, { value: value, configurable: true, writable: true });
|
|
7
9
|
} catch (error) {
|
|
8
10
|
global[key] = value;
|
|
9
11
|
} return value;
|
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.19.2',
|
|
8
8
|
mode: IS_PURE ? 'pure' : 'global',
|
|
9
9
|
copyright: '© 2021 Denis Pushkarev (zloirock.ru)'
|
|
10
10
|
});
|
|
@@ -1,7 +1,12 @@
|
|
|
1
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
1
2
|
var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
|
|
2
3
|
var toString = require('../internals/to-string');
|
|
3
4
|
var requireObjectCoercible = require('../internals/require-object-coercible');
|
|
4
5
|
|
|
6
|
+
var charAt = uncurryThis(''.charAt);
|
|
7
|
+
var charCodeAt = uncurryThis(''.charCodeAt);
|
|
8
|
+
var stringSlice = uncurryThis(''.slice);
|
|
9
|
+
|
|
5
10
|
var createMethod = function (CONVERT_TO_STRING) {
|
|
6
11
|
return function ($this, pos) {
|
|
7
12
|
var S = toString(requireObjectCoercible($this));
|
|
@@ -9,11 +14,15 @@ var createMethod = function (CONVERT_TO_STRING) {
|
|
|
9
14
|
var size = S.length;
|
|
10
15
|
var first, second;
|
|
11
16
|
if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;
|
|
12
|
-
first =
|
|
17
|
+
first = charCodeAt(S, position);
|
|
13
18
|
return first < 0xD800 || first > 0xDBFF || position + 1 === size
|
|
14
|
-
|| (second =
|
|
15
|
-
? CONVERT_TO_STRING
|
|
16
|
-
|
|
19
|
+
|| (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF
|
|
20
|
+
? CONVERT_TO_STRING
|
|
21
|
+
? charAt(S, position)
|
|
22
|
+
: first
|
|
23
|
+
: CONVERT_TO_STRING
|
|
24
|
+
? stringSlice(S, position, position + 2)
|
|
25
|
+
: (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
|
|
17
26
|
};
|
|
18
27
|
};
|
|
19
28
|
|
package/internals/string-pad.js
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
// https://github.com/tc39/proposal-string-pad-start-end
|
|
2
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
2
3
|
var toLength = require('../internals/to-length');
|
|
3
4
|
var toString = require('../internals/to-string');
|
|
4
|
-
var repeat = require('../internals/string-repeat');
|
|
5
|
+
var $repeat = require('../internals/string-repeat');
|
|
5
6
|
var requireObjectCoercible = require('../internals/require-object-coercible');
|
|
6
7
|
|
|
8
|
+
var repeat = uncurryThis($repeat);
|
|
9
|
+
var stringSlice = uncurryThis(''.slice);
|
|
7
10
|
var ceil = Math.ceil;
|
|
8
11
|
|
|
9
12
|
// `String.prototype.{ padStart, padEnd }` methods implementation
|
|
@@ -16,8 +19,8 @@ var createMethod = function (IS_END) {
|
|
|
16
19
|
var fillLen, stringFiller;
|
|
17
20
|
if (intMaxLength <= stringLength || fillStr == '') return S;
|
|
18
21
|
fillLen = intMaxLength - stringLength;
|
|
19
|
-
stringFiller = repeat
|
|
20
|
-
if (stringFiller.length > fillLen) stringFiller = stringFiller
|
|
22
|
+
stringFiller = repeat(fillStr, ceil(fillLen / fillStr.length));
|
|
23
|
+
if (stringFiller.length > fillLen) stringFiller = stringSlice(stringFiller, 0, fillLen);
|
|
21
24
|
return IS_END ? S + stringFiller : stringFiller + S;
|
|
22
25
|
};
|
|
23
26
|
};
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js
|
|
3
|
+
var global = require('../internals/global');
|
|
4
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
5
|
+
|
|
3
6
|
var maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1
|
|
4
7
|
var base = 36;
|
|
5
8
|
var tMin = 1;
|
|
@@ -13,8 +16,17 @@ var regexNonASCII = /[^\0-\u007E]/; // non-ASCII chars
|
|
|
13
16
|
var regexSeparators = /[.\u3002\uFF0E\uFF61]/g; // RFC 3490 separators
|
|
14
17
|
var OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';
|
|
15
18
|
var baseMinusTMin = base - tMin;
|
|
19
|
+
|
|
20
|
+
var RangeError = global.RangeError;
|
|
21
|
+
var exec = uncurryThis(regexSeparators.exec);
|
|
16
22
|
var floor = Math.floor;
|
|
17
|
-
var
|
|
23
|
+
var fromCharCode = String.fromCharCode;
|
|
24
|
+
var charCodeAt = uncurryThis(''.charCodeAt);
|
|
25
|
+
var join = uncurryThis([].join);
|
|
26
|
+
var push = uncurryThis([].push);
|
|
27
|
+
var replace = uncurryThis(''.replace);
|
|
28
|
+
var split = uncurryThis(''.split);
|
|
29
|
+
var toLowerCase = uncurryThis(''.toLowerCase);
|
|
18
30
|
|
|
19
31
|
/**
|
|
20
32
|
* Creates an array containing the numeric code points of each Unicode
|
|
@@ -28,20 +40,20 @@ var ucs2decode = function (string) {
|
|
|
28
40
|
var counter = 0;
|
|
29
41
|
var length = string.length;
|
|
30
42
|
while (counter < length) {
|
|
31
|
-
var value =
|
|
43
|
+
var value = charCodeAt(string, counter++);
|
|
32
44
|
if (value >= 0xD800 && value <= 0xDBFF && counter < length) {
|
|
33
45
|
// It's a high surrogate, and there is a next character.
|
|
34
|
-
var extra =
|
|
46
|
+
var extra = charCodeAt(string, counter++);
|
|
35
47
|
if ((extra & 0xFC00) == 0xDC00) { // Low surrogate.
|
|
36
|
-
|
|
48
|
+
push(output, ((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);
|
|
37
49
|
} else {
|
|
38
50
|
// It's an unmatched surrogate; only append this code unit, in case the
|
|
39
51
|
// next code unit is the high surrogate of a surrogate pair.
|
|
40
|
-
|
|
52
|
+
push(output, value);
|
|
41
53
|
counter--;
|
|
42
54
|
}
|
|
43
55
|
} else {
|
|
44
|
-
|
|
56
|
+
push(output, value);
|
|
45
57
|
}
|
|
46
58
|
}
|
|
47
59
|
return output;
|
|
@@ -64,8 +76,9 @@ var adapt = function (delta, numPoints, firstTime) {
|
|
|
64
76
|
var k = 0;
|
|
65
77
|
delta = firstTime ? floor(delta / damp) : delta >> 1;
|
|
66
78
|
delta += floor(delta / numPoints);
|
|
67
|
-
|
|
79
|
+
while (delta > baseMinusTMin * tMax >> 1) {
|
|
68
80
|
delta = floor(delta / baseMinusTMin);
|
|
81
|
+
k += base;
|
|
69
82
|
}
|
|
70
83
|
return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));
|
|
71
84
|
};
|
|
@@ -74,7 +87,6 @@ var adapt = function (delta, numPoints, firstTime) {
|
|
|
74
87
|
* Converts a string of Unicode symbols (e.g. a domain name label) to a
|
|
75
88
|
* Punycode string of ASCII-only symbols.
|
|
76
89
|
*/
|
|
77
|
-
// eslint-disable-next-line max-statements -- TODO
|
|
78
90
|
var encode = function (input) {
|
|
79
91
|
var output = [];
|
|
80
92
|
|
|
@@ -94,7 +106,7 @@ var encode = function (input) {
|
|
|
94
106
|
for (i = 0; i < input.length; i++) {
|
|
95
107
|
currentValue = input[i];
|
|
96
108
|
if (currentValue < 0x80) {
|
|
97
|
-
|
|
109
|
+
push(output, fromCharCode(currentValue));
|
|
98
110
|
}
|
|
99
111
|
}
|
|
100
112
|
|
|
@@ -103,7 +115,7 @@ var encode = function (input) {
|
|
|
103
115
|
|
|
104
116
|
// Finish the basic string with a delimiter unless it's empty.
|
|
105
117
|
if (basicLength) {
|
|
106
|
-
|
|
118
|
+
push(output, delimiter);
|
|
107
119
|
}
|
|
108
120
|
|
|
109
121
|
// Main encoding loop:
|
|
@@ -134,35 +146,37 @@ var encode = function (input) {
|
|
|
134
146
|
if (currentValue == n) {
|
|
135
147
|
// Represent delta as a generalized variable-length integer.
|
|
136
148
|
var q = delta;
|
|
137
|
-
|
|
149
|
+
var k = base;
|
|
150
|
+
while (true) {
|
|
138
151
|
var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);
|
|
139
152
|
if (q < t) break;
|
|
140
153
|
var qMinusT = q - t;
|
|
141
154
|
var baseMinusT = base - t;
|
|
142
|
-
|
|
155
|
+
push(output, fromCharCode(digitToBasic(t + qMinusT % baseMinusT)));
|
|
143
156
|
q = floor(qMinusT / baseMinusT);
|
|
157
|
+
k += base;
|
|
144
158
|
}
|
|
145
159
|
|
|
146
|
-
|
|
160
|
+
push(output, fromCharCode(digitToBasic(q)));
|
|
147
161
|
bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);
|
|
148
162
|
delta = 0;
|
|
149
|
-
|
|
163
|
+
handledCPCount++;
|
|
150
164
|
}
|
|
151
165
|
}
|
|
152
166
|
|
|
153
|
-
|
|
154
|
-
|
|
167
|
+
delta++;
|
|
168
|
+
n++;
|
|
155
169
|
}
|
|
156
|
-
return
|
|
170
|
+
return join(output, '');
|
|
157
171
|
};
|
|
158
172
|
|
|
159
173
|
module.exports = function (input) {
|
|
160
174
|
var encoded = [];
|
|
161
|
-
var labels =
|
|
175
|
+
var labels = split(replace(toLowerCase(input), regexSeparators, '\u002E'), '.');
|
|
162
176
|
var i, label;
|
|
163
177
|
for (i = 0; i < labels.length; i++) {
|
|
164
178
|
label = labels[i];
|
|
165
|
-
|
|
179
|
+
push(encoded, exec(regexNonASCII, label) ? 'xn--' + encode(label) : label);
|
|
166
180
|
}
|
|
167
|
-
return
|
|
181
|
+
return join(encoded, '.');
|
|
168
182
|
};
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
+
var global = require('../internals/global');
|
|
2
3
|
var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
|
|
3
4
|
var toString = require('../internals/to-string');
|
|
4
5
|
var requireObjectCoercible = require('../internals/require-object-coercible');
|
|
5
6
|
|
|
7
|
+
var RangeError = global.RangeError;
|
|
8
|
+
|
|
6
9
|
// `String.prototype.repeat` method implementation
|
|
7
10
|
// https://tc39.es/ecma262/#sec-string.prototype.repeat
|
|
8
11
|
module.exports = function repeat(count) {
|
package/internals/string-trim.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
1
2
|
var requireObjectCoercible = require('../internals/require-object-coercible');
|
|
2
3
|
var toString = require('../internals/to-string');
|
|
3
4
|
var whitespaces = require('../internals/whitespaces');
|
|
4
5
|
|
|
6
|
+
var replace = uncurryThis(''.replace);
|
|
5
7
|
var whitespace = '[' + whitespaces + ']';
|
|
6
8
|
var ltrim = RegExp('^' + whitespace + whitespace + '*');
|
|
7
9
|
var rtrim = RegExp(whitespace + whitespace + '*$');
|
|
@@ -10,8 +12,8 @@ var rtrim = RegExp(whitespace + whitespace + '*$');
|
|
|
10
12
|
var createMethod = function (TYPE) {
|
|
11
13
|
return function ($this) {
|
|
12
14
|
var string = toString(requireObjectCoercible($this));
|
|
13
|
-
if (TYPE & 1) string =
|
|
14
|
-
if (TYPE & 2) string =
|
|
15
|
+
if (TYPE & 1) string = replace(string, ltrim, '');
|
|
16
|
+
if (TYPE & 2) string = replace(string, rtrim, '');
|
|
15
17
|
return string;
|
|
16
18
|
};
|
|
17
19
|
};
|
package/internals/task.js
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
var global = require('../internals/global');
|
|
2
|
+
var apply = require('../internals/function-apply');
|
|
3
|
+
var bind = require('../internals/function-bind-context');
|
|
2
4
|
var isCallable = require('../internals/is-callable');
|
|
5
|
+
var hasOwn = require('../internals/has-own-property');
|
|
3
6
|
var fails = require('../internals/fails');
|
|
4
|
-
var bind = require('../internals/function-bind-context');
|
|
5
7
|
var html = require('../internals/html');
|
|
8
|
+
var arraySlice = require('../internals/array-slice');
|
|
6
9
|
var createElement = require('../internals/document-create-element');
|
|
7
10
|
var IS_IOS = require('../internals/engine-is-ios');
|
|
8
11
|
var IS_NODE = require('../internals/engine-is-node');
|
|
@@ -10,8 +13,10 @@ var IS_NODE = require('../internals/engine-is-node');
|
|
|
10
13
|
var set = global.setImmediate;
|
|
11
14
|
var clear = global.clearImmediate;
|
|
12
15
|
var process = global.process;
|
|
13
|
-
var MessageChannel = global.MessageChannel;
|
|
14
16
|
var Dispatch = global.Dispatch;
|
|
17
|
+
var Function = global.Function;
|
|
18
|
+
var MessageChannel = global.MessageChannel;
|
|
19
|
+
var String = global.String;
|
|
15
20
|
var counter = 0;
|
|
16
21
|
var queue = {};
|
|
17
22
|
var ONREADYSTATECHANGE = 'onreadystatechange';
|
|
@@ -23,8 +28,7 @@ try {
|
|
|
23
28
|
} catch (error) { /* empty */ }
|
|
24
29
|
|
|
25
30
|
var run = function (id) {
|
|
26
|
-
|
|
27
|
-
if (queue.hasOwnProperty(id)) {
|
|
31
|
+
if (hasOwn(queue, id)) {
|
|
28
32
|
var fn = queue[id];
|
|
29
33
|
delete queue[id];
|
|
30
34
|
fn();
|
|
@@ -49,13 +53,9 @@ var post = function (id) {
|
|
|
49
53
|
// Node.js 0.9+ & IE10+ has setImmediate, otherwise:
|
|
50
54
|
if (!set || !clear) {
|
|
51
55
|
set = function setImmediate(fn) {
|
|
52
|
-
var args =
|
|
53
|
-
var argumentsLength = arguments.length;
|
|
54
|
-
var i = 1;
|
|
55
|
-
while (argumentsLength > i) args.push(arguments[i++]);
|
|
56
|
+
var args = arraySlice(arguments, 1);
|
|
56
57
|
queue[++counter] = function () {
|
|
57
|
-
|
|
58
|
-
(isCallable(fn) ? fn : Function(fn)).apply(undefined, args);
|
|
58
|
+
apply(isCallable(fn) ? fn : Function(fn), undefined, args);
|
|
59
59
|
};
|
|
60
60
|
defer(counter);
|
|
61
61
|
return counter;
|
|
@@ -79,7 +79,7 @@ if (!set || !clear) {
|
|
|
79
79
|
channel = new MessageChannel();
|
|
80
80
|
port = channel.port2;
|
|
81
81
|
channel.port1.onmessage = listener;
|
|
82
|
-
defer = bind(port.postMessage, port
|
|
82
|
+
defer = bind(port.postMessage, port);
|
|
83
83
|
// Browsers with postMessage, skip WebWorkers
|
|
84
84
|
// IE8 has postMessage, but it's sync & typeof its postMessage is 'object'
|
|
85
85
|
} else if (
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
var
|
|
1
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
2
2
|
|
|
3
3
|
// `thisNumberValue` abstract operation
|
|
4
4
|
// https://tc39.es/ecma262/#sec-thisnumbervalue
|
|
5
|
-
module.exports =
|
|
6
|
-
return valueOf.call(value);
|
|
7
|
-
};
|
|
5
|
+
module.exports = uncurryThis(1.0.valueOf);
|
package/internals/to-index.js
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
var global = require('../internals/global');
|
|
1
2
|
var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
|
|
2
3
|
var toLength = require('../internals/to-length');
|
|
3
4
|
|
|
5
|
+
var RangeError = global.RangeError;
|
|
6
|
+
|
|
4
7
|
// `ToIndex` abstract operation
|
|
5
8
|
// https://tc39.es/ecma262/#sec-toindex
|
|
6
9
|
module.exports = function (it) {
|
package/internals/to-object.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
|
+
var global = require('../internals/global');
|
|
1
2
|
var requireObjectCoercible = require('../internals/require-object-coercible');
|
|
2
3
|
|
|
4
|
+
var Object = global.Object;
|
|
5
|
+
|
|
3
6
|
// `ToObject` abstract operation
|
|
4
7
|
// https://tc39.es/ecma262/#sec-toobject
|
|
5
8
|
module.exports = function (argument) {
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
+
var global = require('../internals/global');
|
|
1
2
|
var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
|
|
2
3
|
|
|
4
|
+
var RangeError = global.RangeError;
|
|
5
|
+
|
|
3
6
|
module.exports = function (it) {
|
|
4
7
|
var result = toIntegerOrInfinity(it);
|
|
5
8
|
if (result < 0) throw RangeError("The argument can't be less than 0");
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
+
var global = require('../internals/global');
|
|
2
|
+
var call = require('../internals/function-call');
|
|
1
3
|
var isObject = require('../internals/is-object');
|
|
2
4
|
var isSymbol = require('../internals/is-symbol');
|
|
3
5
|
var getMethod = require('../internals/get-method');
|
|
4
6
|
var ordinaryToPrimitive = require('../internals/ordinary-to-primitive');
|
|
5
7
|
var wellKnownSymbol = require('../internals/well-known-symbol');
|
|
6
8
|
|
|
9
|
+
var TypeError = global.TypeError;
|
|
7
10
|
var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
|
|
8
11
|
|
|
9
12
|
// `ToPrimitive` abstract operation
|
|
@@ -14,7 +17,7 @@ module.exports = function (input, pref) {
|
|
|
14
17
|
var result;
|
|
15
18
|
if (exoticToPrim) {
|
|
16
19
|
if (pref === undefined) pref = 'default';
|
|
17
|
-
result =
|
|
20
|
+
result = call(exoticToPrim, input, pref);
|
|
18
21
|
if (!isObject(result) || isSymbol(result)) return result;
|
|
19
22
|
throw TypeError("Can't convert object to primitive value");
|
|
20
23
|
}
|
|
@@ -5,5 +5,5 @@ var isSymbol = require('../internals/is-symbol');
|
|
|
5
5
|
// https://tc39.es/ecma262/#sec-topropertykey
|
|
6
6
|
module.exports = function (argument) {
|
|
7
7
|
var key = toPrimitive(argument, 'string');
|
|
8
|
-
return isSymbol(key) ? key :
|
|
8
|
+
return isSymbol(key) ? key : key + '';
|
|
9
9
|
};
|
package/internals/to-string.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
|
+
var global = require('../internals/global');
|
|
1
2
|
var classof = require('../internals/classof');
|
|
2
3
|
|
|
4
|
+
var String = global.String;
|
|
5
|
+
|
|
3
6
|
module.exports = function (argument) {
|
|
4
7
|
if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');
|
|
5
8
|
return String(argument);
|
package/internals/uid.js
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
2
|
+
|
|
1
3
|
var id = 0;
|
|
2
4
|
var postfix = Math.random();
|
|
5
|
+
var toString = uncurryThis(1.0.toString);
|
|
3
6
|
|
|
4
7
|
module.exports = function (key) {
|
|
5
|
-
return 'Symbol(' +
|
|
8
|
+
return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);
|
|
6
9
|
};
|
|
@@ -7,14 +7,18 @@ var USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');
|
|
|
7
7
|
|
|
8
8
|
var WellKnownSymbolsStore = shared('wks');
|
|
9
9
|
var Symbol = global.Symbol;
|
|
10
|
+
var symbolFor = Symbol && Symbol['for'];
|
|
10
11
|
var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;
|
|
11
12
|
|
|
12
13
|
module.exports = function (name) {
|
|
13
14
|
if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {
|
|
15
|
+
var description = 'Symbol.' + name;
|
|
14
16
|
if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {
|
|
15
17
|
WellKnownSymbolsStore[name] = Symbol[name];
|
|
18
|
+
} else if (USE_SYMBOL_AS_UID && symbolFor) {
|
|
19
|
+
WellKnownSymbolsStore[name] = symbolFor(description);
|
|
16
20
|
} else {
|
|
17
|
-
WellKnownSymbolsStore[name] = createWellKnownSymbol(
|
|
21
|
+
WellKnownSymbolsStore[name] = createWellKnownSymbol(description);
|
|
18
22
|
}
|
|
19
23
|
} return WellKnownSymbolsStore[name];
|
|
20
24
|
};
|
|
@@ -1,34 +1,50 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
+
var global = require('../internals/global');
|
|
4
|
+
var isPrototypeOf = require('../internals/object-is-prototype-of');
|
|
3
5
|
var getPrototypeOf = require('../internals/object-get-prototype-of');
|
|
4
6
|
var setPrototypeOf = require('../internals/object-set-prototype-of');
|
|
7
|
+
var copyConstructorProperties = require('../internals/copy-constructor-properties');
|
|
5
8
|
var create = require('../internals/object-create');
|
|
6
9
|
var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
|
|
7
10
|
var createPropertyDescriptor = require('../internals/create-property-descriptor');
|
|
11
|
+
var clearErrorStack = require('../internals/clear-error-stack');
|
|
8
12
|
var installErrorCause = require('../internals/install-error-cause');
|
|
9
13
|
var iterate = require('../internals/iterate');
|
|
10
|
-
var
|
|
14
|
+
var normalizeStringArgument = require('../internals/normalize-string-argument');
|
|
15
|
+
var wellKnownSymbol = require('../internals/well-known-symbol');
|
|
16
|
+
var ERROR_STACK_INSTALLABLE = require('../internals/error-stack-installable');
|
|
17
|
+
|
|
18
|
+
var TO_STRING_TAG = wellKnownSymbol('toStringTag');
|
|
19
|
+
var Error = global.Error;
|
|
20
|
+
var push = [].push;
|
|
11
21
|
|
|
12
22
|
var $AggregateError = function AggregateError(errors, message /* , options */) {
|
|
13
|
-
var that = this;
|
|
14
23
|
var options = arguments.length > 2 ? arguments[2] : undefined;
|
|
15
|
-
|
|
24
|
+
var isInstance = isPrototypeOf(AggregateErrorPrototype, this);
|
|
25
|
+
var that;
|
|
16
26
|
if (setPrototypeOf) {
|
|
17
|
-
|
|
18
|
-
|
|
27
|
+
that = setPrototypeOf(new Error(undefined), isInstance ? getPrototypeOf(this) : AggregateErrorPrototype);
|
|
28
|
+
} else {
|
|
29
|
+
that = isInstance ? this : create(AggregateErrorPrototype);
|
|
30
|
+
createNonEnumerableProperty(that, TO_STRING_TAG, 'Error');
|
|
19
31
|
}
|
|
20
|
-
|
|
32
|
+
createNonEnumerableProperty(that, 'message', normalizeStringArgument(message, ''));
|
|
33
|
+
if (ERROR_STACK_INSTALLABLE) createNonEnumerableProperty(that, 'stack', clearErrorStack(that.stack, 1));
|
|
21
34
|
installErrorCause(that, options);
|
|
22
35
|
var errorsArray = [];
|
|
23
|
-
iterate(errors,
|
|
36
|
+
iterate(errors, push, { that: errorsArray });
|
|
24
37
|
createNonEnumerableProperty(that, 'errors', errorsArray);
|
|
25
38
|
return that;
|
|
26
39
|
};
|
|
27
40
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
41
|
+
if (setPrototypeOf) setPrototypeOf($AggregateError, Error);
|
|
42
|
+
else copyConstructorProperties($AggregateError, Error);
|
|
43
|
+
|
|
44
|
+
var AggregateErrorPrototype = $AggregateError.prototype = create(Error.prototype, {
|
|
45
|
+
constructor: createPropertyDescriptor(1, $AggregateError),
|
|
46
|
+
message: createPropertyDescriptor(1, ''),
|
|
47
|
+
name: createPropertyDescriptor(1, 'AggregateError')
|
|
32
48
|
});
|
|
33
49
|
|
|
34
50
|
// `AggregateError` constructor
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
+
var global = require('../internals/global');
|
|
3
4
|
var fails = require('../internals/fails');
|
|
4
5
|
var isArray = require('../internals/is-array');
|
|
5
6
|
var isObject = require('../internals/is-object');
|
|
@@ -14,6 +15,7 @@ var V8_VERSION = require('../internals/engine-v8-version');
|
|
|
14
15
|
var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
|
|
15
16
|
var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
|
|
16
17
|
var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
|
|
18
|
+
var TypeError = global.TypeError;
|
|
17
19
|
|
|
18
20
|
// We can't use this feature detection in V8 since it causes
|
|
19
21
|
// deoptimization and serious performance degradation
|
|
@@ -1,21 +1,23 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
/* eslint-disable es/no-array-prototype-indexof -- required for testing */
|
|
3
3
|
var $ = require('../internals/export');
|
|
4
|
-
var
|
|
4
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
5
|
+
var $IndexOf = require('../internals/array-includes').indexOf;
|
|
5
6
|
var arrayMethodIsStrict = require('../internals/array-method-is-strict');
|
|
6
7
|
|
|
7
|
-
var
|
|
8
|
+
var un$IndexOf = uncurryThis([].indexOf);
|
|
8
9
|
|
|
9
|
-
var NEGATIVE_ZERO = !!
|
|
10
|
+
var NEGATIVE_ZERO = !!un$IndexOf && 1 / un$IndexOf([1], 1, -0) < 0;
|
|
10
11
|
var STRICT_METHOD = arrayMethodIsStrict('indexOf');
|
|
11
12
|
|
|
12
13
|
// `Array.prototype.indexOf` method
|
|
13
14
|
// https://tc39.es/ecma262/#sec-array.prototype.indexof
|
|
14
15
|
$({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || !STRICT_METHOD }, {
|
|
15
16
|
indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {
|
|
17
|
+
var fromIndex = arguments.length > 1 ? arguments[1] : undefined;
|
|
16
18
|
return NEGATIVE_ZERO
|
|
17
19
|
// convert -0 to +0
|
|
18
|
-
?
|
|
19
|
-
: $
|
|
20
|
+
? un$IndexOf(this, searchElement, fromIndex) || 0
|
|
21
|
+
: $IndexOf(this, searchElement, fromIndex);
|
|
20
22
|
}
|
|
21
23
|
});
|
package/modules/es.array.join.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
3
4
|
var IndexedObject = require('../internals/indexed-object');
|
|
4
5
|
var toIndexedObject = require('../internals/to-indexed-object');
|
|
5
6
|
var arrayMethodIsStrict = require('../internals/array-method-is-strict');
|
|
6
7
|
|
|
7
|
-
var
|
|
8
|
+
var un$Join = uncurryThis([].join);
|
|
8
9
|
|
|
9
10
|
var ES3_STRINGS = IndexedObject != Object;
|
|
10
11
|
var STRICT_METHOD = arrayMethodIsStrict('join', ',');
|
|
@@ -13,6 +14,6 @@ var STRICT_METHOD = arrayMethodIsStrict('join', ',');
|
|
|
13
14
|
// https://tc39.es/ecma262/#sec-array.prototype.join
|
|
14
15
|
$({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, {
|
|
15
16
|
join: function join(separator) {
|
|
16
|
-
return
|
|
17
|
+
return un$Join(toIndexedObject(this), separator === undefined ? ',' : separator);
|
|
17
18
|
}
|
|
18
19
|
});
|
package/modules/es.array.of.js
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
+
var global = require('../internals/global');
|
|
3
4
|
var fails = require('../internals/fails');
|
|
4
5
|
var isConstructor = require('../internals/is-constructor');
|
|
5
6
|
var createProperty = require('../internals/create-property');
|
|
6
7
|
|
|
8
|
+
var Array = global.Array;
|
|
9
|
+
|
|
7
10
|
var ISNT_GENERIC = fails(function () {
|
|
8
11
|
function F() { /* empty */ }
|
|
9
|
-
// eslint-disable-next-line es/no-array-of -- required for testing
|
|
10
12
|
return !(Array.of.call(F) instanceof F);
|
|
11
13
|
});
|
|
12
14
|
|
|
@@ -14,6 +14,7 @@ var CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;
|
|
|
14
14
|
// https://tc39.es/ecma262/#sec-array.prototype.reduce
|
|
15
15
|
$({ target: 'Array', proto: true, forced: !STRICT_METHOD || CHROME_BUG }, {
|
|
16
16
|
reduce: function reduce(callbackfn /* , initialValue */) {
|
|
17
|
-
|
|
17
|
+
var length = arguments.length;
|
|
18
|
+
return $reduce(this, callbackfn, length, length > 1 ? arguments[1] : undefined);
|
|
18
19
|
}
|
|
19
20
|
});
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
3
4
|
var isArray = require('../internals/is-array');
|
|
4
5
|
|
|
5
|
-
var
|
|
6
|
+
var un$Reverse = uncurryThis([].reverse);
|
|
6
7
|
var test = [1, 2];
|
|
7
8
|
|
|
8
9
|
// `Array.prototype.reverse` method
|
|
@@ -13,6 +14,6 @@ $({ target: 'Array', proto: true, forced: String(test) === String(test.reverse()
|
|
|
13
14
|
reverse: function reverse() {
|
|
14
15
|
// eslint-disable-next-line no-self-assign -- dirty hack
|
|
15
16
|
if (isArray(this)) this.length = this.length;
|
|
16
|
-
return
|
|
17
|
+
return un$Reverse(this);
|
|
17
18
|
}
|
|
18
19
|
});
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
+
var global = require('../internals/global');
|
|
3
4
|
var isArray = require('../internals/is-array');
|
|
4
5
|
var isConstructor = require('../internals/is-constructor');
|
|
5
6
|
var isObject = require('../internals/is-object');
|
|
@@ -9,11 +10,12 @@ var toIndexedObject = require('../internals/to-indexed-object');
|
|
|
9
10
|
var createProperty = require('../internals/create-property');
|
|
10
11
|
var wellKnownSymbol = require('../internals/well-known-symbol');
|
|
11
12
|
var arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');
|
|
13
|
+
var un$Slice = require('../internals/array-slice');
|
|
12
14
|
|
|
13
15
|
var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');
|
|
14
16
|
|
|
15
17
|
var SPECIES = wellKnownSymbol('species');
|
|
16
|
-
var
|
|
18
|
+
var Array = global.Array;
|
|
17
19
|
var max = Math.max;
|
|
18
20
|
|
|
19
21
|
// `Array.prototype.slice` method
|
|
@@ -37,7 +39,7 @@ $({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {
|
|
|
37
39
|
if (Constructor === null) Constructor = undefined;
|
|
38
40
|
}
|
|
39
41
|
if (Constructor === Array || Constructor === undefined) {
|
|
40
|
-
return
|
|
42
|
+
return un$Slice(O, k, fin);
|
|
41
43
|
}
|
|
42
44
|
}
|
|
43
45
|
result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));
|