core-js 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-buffer-view-core.js +3 -2
- package/internals/array-buffer.js +29 -16
- 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 +8 -7
- 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/entry-unbind.js +3 -5
- package/internals/error-stack-installable.js +10 -0
- package/internals/export.js +1 -1
- package/internals/fix-regexp-well-known-symbol-logic.js +5 -3
- 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-map-iterator.js +3 -1
- package/internals/get-set-iterator.js +3 -1
- 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/regexp-exec.js +20 -16
- package/internals/regexp-sticky-helpers.js +14 -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-offset.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/typed-array-constructor.js +10 -6
- package/internals/typed-array-from.js +4 -3
- 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-buffer.slice.js +8 -4
- 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-primitive.js +2 -1
- package/modules/es.date.to-string.js +5 -4
- package/modules/es.escape.js +12 -5
- package/modules/es.function.has-instance.js +3 -2
- package/modules/es.function.name.js +5 -3
- package/modules/es.json.stringify.js +18 -7
- package/modules/es.map.js +1 -1
- package/modules/es.number.constructor.js +12 -7
- 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.regexp.constructor.js +26 -16
- package/modules/es.regexp.dot-all.js +5 -1
- package/modules/es.regexp.flags.js +4 -2
- package/modules/es.regexp.sticky.js +7 -3
- package/modules/es.regexp.test.js +7 -3
- package/modules/es.regexp.to-string.js +8 -5
- 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.match.js +2 -1
- package/modules/es.string.raw.js +6 -6
- package/modules/es.string.replace-all.js +19 -13
- package/modules/es.string.replace.js +19 -12
- package/modules/es.string.search.js +2 -1
- package/modules/es.string.split.js +23 -16
- package/modules/es.string.starts-with.js +6 -4
- package/modules/es.string.substr.js +3 -2
- package/modules/es.symbol.description.js +20 -12
- package/modules/es.symbol.js +34 -21
- package/modules/es.typed-array.copy-within.js +4 -2
- package/modules/es.typed-array.fill.js +9 -2
- package/modules/es.typed-array.iterator.js +7 -6
- package/modules/es.typed-array.join.js +3 -3
- package/modules/es.typed-array.last-index-of.js +3 -2
- package/modules/es.typed-array.reduce-right.js +2 -1
- package/modules/es.typed-array.reduce.js +2 -1
- package/modules/es.typed-array.set.js +2 -0
- package/modules/es.typed-array.slice.js +2 -2
- package/modules/es.typed-array.sort.js +13 -28
- package/modules/es.typed-array.to-locale-string.js +7 -2
- package/modules/es.typed-array.to-string.js +3 -2
- 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.typed-array.from-async.js +0 -1
- package/modules/esnext.typed-array.unique-by.js +4 -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/modules/web.url.to-json.js +2 -1
- 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/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) {
|
package/internals/to-offset.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
|
+
var global = require('../internals/global');
|
|
1
2
|
var toPositiveInteger = require('../internals/to-positive-integer');
|
|
2
3
|
|
|
4
|
+
var RangeError = global.RangeError;
|
|
5
|
+
|
|
3
6
|
module.exports = function (it, BYTES) {
|
|
4
7
|
var offset = toPositiveInteger(it);
|
|
5
8
|
if (offset % BYTES) throw RangeError('Wrong offset');
|
|
@@ -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);
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
3
|
var global = require('../internals/global');
|
|
4
|
+
var call = require('../internals/function-call');
|
|
4
5
|
var DESCRIPTORS = require('../internals/descriptors');
|
|
5
6
|
var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-array-constructors-require-wrappers');
|
|
6
7
|
var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
|
|
@@ -18,6 +19,7 @@ var classof = require('../internals/classof');
|
|
|
18
19
|
var isObject = require('../internals/is-object');
|
|
19
20
|
var isSymbol = require('../internals/is-symbol');
|
|
20
21
|
var create = require('../internals/object-create');
|
|
22
|
+
var isPrototypeOf = require('../internals/object-is-prototype-of');
|
|
21
23
|
var setPrototypeOf = require('../internals/object-set-prototype-of');
|
|
22
24
|
var getOwnPropertyNames = require('../internals/object-get-own-property-names').f;
|
|
23
25
|
var typedArrayFrom = require('../internals/typed-array-from');
|
|
@@ -35,6 +37,7 @@ var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
|
|
|
35
37
|
var round = Math.round;
|
|
36
38
|
var RangeError = global.RangeError;
|
|
37
39
|
var ArrayBuffer = ArrayBufferModule.ArrayBuffer;
|
|
40
|
+
var ArrayBufferPrototype = ArrayBuffer.prototype;
|
|
38
41
|
var DataView = ArrayBufferModule.DataView;
|
|
39
42
|
var NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS;
|
|
40
43
|
var TYPED_ARRAY_CONSTRUCTOR = ArrayBufferViewCore.TYPED_ARRAY_CONSTRUCTOR;
|
|
@@ -47,9 +50,10 @@ var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';
|
|
|
47
50
|
var WRONG_LENGTH = 'Wrong length';
|
|
48
51
|
|
|
49
52
|
var fromList = function (C, list) {
|
|
53
|
+
aTypedArrayConstructor(C);
|
|
50
54
|
var index = 0;
|
|
51
55
|
var length = list.length;
|
|
52
|
-
var result = new
|
|
56
|
+
var result = new C(length);
|
|
53
57
|
while (length > index) result[index] = list[index++];
|
|
54
58
|
return result;
|
|
55
59
|
};
|
|
@@ -62,7 +66,7 @@ var addGetter = function (it, key) {
|
|
|
62
66
|
|
|
63
67
|
var isArrayBuffer = function (it) {
|
|
64
68
|
var klass;
|
|
65
|
-
return it
|
|
69
|
+
return isPrototypeOf(ArrayBufferPrototype, it) || (klass = classof(it)) == 'ArrayBuffer' || klass == 'SharedArrayBuffer';
|
|
66
70
|
};
|
|
67
71
|
|
|
68
72
|
var isTypedArrayIndex = function (target, key) {
|
|
@@ -147,7 +151,7 @@ if (DESCRIPTORS) {
|
|
|
147
151
|
|
|
148
152
|
if (!NATIVE_ARRAY_BUFFER_VIEWS) {
|
|
149
153
|
TypedArrayConstructor = wrapper(function (that, data, offset, $length) {
|
|
150
|
-
anInstance(that,
|
|
154
|
+
anInstance(that, TypedArrayConstructorPrototype);
|
|
151
155
|
var index = 0;
|
|
152
156
|
var byteOffset = 0;
|
|
153
157
|
var buffer, byteLength, length;
|
|
@@ -171,7 +175,7 @@ if (DESCRIPTORS) {
|
|
|
171
175
|
} else if (isTypedArray(data)) {
|
|
172
176
|
return fromList(TypedArrayConstructor, data);
|
|
173
177
|
} else {
|
|
174
|
-
return
|
|
178
|
+
return call(typedArrayFrom, TypedArrayConstructor, data);
|
|
175
179
|
}
|
|
176
180
|
setInternalState(that, {
|
|
177
181
|
buffer: buffer,
|
|
@@ -187,7 +191,7 @@ if (DESCRIPTORS) {
|
|
|
187
191
|
TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create(TypedArrayPrototype);
|
|
188
192
|
} else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS) {
|
|
189
193
|
TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) {
|
|
190
|
-
anInstance(dummy,
|
|
194
|
+
anInstance(dummy, TypedArrayConstructorPrototype);
|
|
191
195
|
return inheritIfRequired(function () {
|
|
192
196
|
if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data));
|
|
193
197
|
if (isArrayBuffer(data)) return $length !== undefined
|
|
@@ -196,7 +200,7 @@ if (DESCRIPTORS) {
|
|
|
196
200
|
? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES))
|
|
197
201
|
: new NativeTypedArrayConstructor(data);
|
|
198
202
|
if (isTypedArray(data)) return fromList(TypedArrayConstructor, data);
|
|
199
|
-
return
|
|
203
|
+
return call(typedArrayFrom, TypedArrayConstructor, data);
|
|
200
204
|
}(), dummy, TypedArrayConstructor);
|
|
201
205
|
});
|
|
202
206
|
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
var bind = require('../internals/function-bind-context');
|
|
2
|
+
var call = require('../internals/function-call');
|
|
1
3
|
var aConstructor = require('../internals/a-constructor');
|
|
2
4
|
var toObject = require('../internals/to-object');
|
|
3
5
|
var lengthOfArrayLike = require('../internals/length-of-array-like');
|
|
4
6
|
var getIterator = require('../internals/get-iterator');
|
|
5
7
|
var getIteratorMethod = require('../internals/get-iterator-method');
|
|
6
8
|
var isArrayIteratorMethod = require('../internals/is-array-iterator-method');
|
|
7
|
-
var bind = require('../internals/function-bind-context');
|
|
8
9
|
var aTypedArrayConstructor = require('../internals/array-buffer-view-core').aTypedArrayConstructor;
|
|
9
10
|
|
|
10
11
|
module.exports = function from(source /* , mapfn, thisArg */) {
|
|
@@ -19,12 +20,12 @@ module.exports = function from(source /* , mapfn, thisArg */) {
|
|
|
19
20
|
iterator = getIterator(O, iteratorMethod);
|
|
20
21
|
next = iterator.next;
|
|
21
22
|
O = [];
|
|
22
|
-
while (!(step =
|
|
23
|
+
while (!(step = call(next, iterator)).done) {
|
|
23
24
|
O.push(step.value);
|
|
24
25
|
}
|
|
25
26
|
}
|
|
26
27
|
if (mapping && argumentsLength > 2) {
|
|
27
|
-
mapfn = bind(mapfn, arguments[2]
|
|
28
|
+
mapfn = bind(mapfn, arguments[2]);
|
|
28
29
|
}
|
|
29
30
|
length = lengthOfArrayLike(O);
|
|
30
31
|
result = new (aTypedArrayConstructor(C))(length);
|
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 uncurryThis = require('../internals/function-uncurry-this');
|
|
3
4
|
var fails = require('../internals/fails');
|
|
4
5
|
var ArrayBufferModule = require('../internals/array-buffer');
|
|
5
6
|
var anObject = require('../internals/an-object');
|
|
@@ -9,7 +10,10 @@ var speciesConstructor = require('../internals/species-constructor');
|
|
|
9
10
|
|
|
10
11
|
var ArrayBuffer = ArrayBufferModule.ArrayBuffer;
|
|
11
12
|
var DataView = ArrayBufferModule.DataView;
|
|
12
|
-
var
|
|
13
|
+
var DataViewPrototype = DataView.prototype;
|
|
14
|
+
var un$ArrayBufferSlice = uncurryThis(ArrayBuffer.prototype.slice);
|
|
15
|
+
var getUint8 = uncurryThis(DataViewPrototype.getUint8);
|
|
16
|
+
var setUint8 = uncurryThis(DataViewPrototype.setUint8);
|
|
13
17
|
|
|
14
18
|
var INCORRECT_SLICE = fails(function () {
|
|
15
19
|
return !new ArrayBuffer(2).slice(1, undefined).byteLength;
|
|
@@ -19,8 +23,8 @@ var INCORRECT_SLICE = fails(function () {
|
|
|
19
23
|
// https://tc39.es/ecma262/#sec-arraybuffer.prototype.slice
|
|
20
24
|
$({ target: 'ArrayBuffer', proto: true, unsafe: true, forced: INCORRECT_SLICE }, {
|
|
21
25
|
slice: function slice(start, end) {
|
|
22
|
-
if (
|
|
23
|
-
return
|
|
26
|
+
if (un$ArrayBufferSlice && end === undefined) {
|
|
27
|
+
return un$ArrayBufferSlice(anObject(this), start); // FF fix
|
|
24
28
|
}
|
|
25
29
|
var length = anObject(this).byteLength;
|
|
26
30
|
var first = toAbsoluteIndex(start, length);
|
|
@@ -30,7 +34,7 @@ $({ target: 'ArrayBuffer', proto: true, unsafe: true, forced: INCORRECT_SLICE },
|
|
|
30
34
|
var viewTarget = new DataView(result);
|
|
31
35
|
var index = 0;
|
|
32
36
|
while (first < fin) {
|
|
33
|
-
|
|
37
|
+
setUint8(viewTarget, index++, getUint8(viewSource, first++));
|
|
34
38
|
} return result;
|
|
35
39
|
}
|
|
36
40
|
});
|
|
@@ -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));
|
package/modules/es.array.sort.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
3
4
|
var aCallable = require('../internals/a-callable');
|
|
4
5
|
var toObject = require('../internals/to-object');
|
|
5
6
|
var lengthOfArrayLike = require('../internals/length-of-array-like');
|
|
@@ -13,7 +14,8 @@ var V8 = require('../internals/engine-v8-version');
|
|
|
13
14
|
var WEBKIT = require('../internals/engine-webkit-version');
|
|
14
15
|
|
|
15
16
|
var test = [];
|
|
16
|
-
var
|
|
17
|
+
var un$Sort = uncurryThis(test.sort);
|
|
18
|
+
var push = uncurryThis(test.push);
|
|
17
19
|
|
|
18
20
|
// IE8-
|
|
19
21
|
var FAILS_ON_UNDEFINED = fails(function () {
|
|
@@ -80,17 +82,18 @@ $({ target: 'Array', proto: true, forced: FORCED }, {
|
|
|
80
82
|
|
|
81
83
|
var array = toObject(this);
|
|
82
84
|
|
|
83
|
-
if (STABLE_SORT) return comparefn === undefined ?
|
|
85
|
+
if (STABLE_SORT) return comparefn === undefined ? un$Sort(array) : un$Sort(array, comparefn);
|
|
84
86
|
|
|
85
87
|
var items = [];
|
|
86
88
|
var arrayLength = lengthOfArrayLike(array);
|
|
87
89
|
var itemsLength, index;
|
|
88
90
|
|
|
89
91
|
for (index = 0; index < arrayLength; index++) {
|
|
90
|
-
if (index in array)
|
|
92
|
+
if (index in array) push(items, array[index]);
|
|
91
93
|
}
|
|
92
94
|
|
|
93
|
-
|
|
95
|
+
internalSort(items, getSortCompare(comparefn));
|
|
96
|
+
|
|
94
97
|
itemsLength = items.length;
|
|
95
98
|
index = 0;
|
|
96
99
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
+
var global = require('../internals/global');
|
|
3
4
|
var toAbsoluteIndex = require('../internals/to-absolute-index');
|
|
4
5
|
var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
|
|
5
6
|
var lengthOfArrayLike = require('../internals/length-of-array-like');
|
|
@@ -10,6 +11,7 @@ var arrayMethodHasSpeciesSupport = require('../internals/array-method-has-specie
|
|
|
10
11
|
|
|
11
12
|
var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice');
|
|
12
13
|
|
|
14
|
+
var TypeError = global.TypeError;
|
|
13
15
|
var max = Math.max;
|
|
14
16
|
var min = Math.min;
|
|
15
17
|
var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
3
4
|
var fails = require('../internals/fails');
|
|
4
5
|
|
|
5
6
|
var FORCED = fails(function () {
|
|
6
7
|
return new Date(16e11).getYear() !== 120;
|
|
7
8
|
});
|
|
8
9
|
|
|
9
|
-
var getFullYear = Date.prototype.getFullYear;
|
|
10
|
+
var getFullYear = uncurryThis(Date.prototype.getFullYear);
|
|
10
11
|
|
|
11
12
|
// `Date.prototype.getYear` method
|
|
12
13
|
// https://tc39.es/ecma262/#sec-date.prototype.getyear
|
|
13
14
|
$({ target: 'Date', proto: true, forced: FORCED }, {
|
|
14
15
|
getYear: function getYear() {
|
|
15
|
-
return getFullYear
|
|
16
|
+
return getFullYear(this) - 1900;
|
|
16
17
|
}
|
|
17
18
|
});
|