core-js 3.18.1 → 3.19.1
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/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/typed-array/methods.js +2 -0
- 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 +11 -10
- package/internals/array-buffer.js +31 -18
- package/internals/array-copy-within.js +2 -2
- package/internals/array-fill.js +2 -2
- package/internals/array-from-async.js +14 -9
- package/internals/array-from.js +8 -4
- package/internals/array-group-by.js +8 -5
- package/internals/array-includes.js +2 -2
- package/internals/array-iteration-from-last.js +3 -3
- package/internals/array-iteration.js +7 -6
- package/internals/array-last-index-of.js +6 -5
- package/internals/array-reduce.js +5 -2
- 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 +15 -11
- 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 +13 -9
- package/internals/collection.js +8 -7
- package/internals/composite-key.js +9 -2
- package/internals/copy-constructor-properties.js +2 -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/define-well-known-symbol.js +2 -2
- 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 +8 -4
- 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-name.js +2 -2
- 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 +10 -0
- package/internals/host-report-errors.js +1 -1
- package/internals/ieee754.js +4 -1
- 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 +8 -11
- package/internals/internal-state.js +13 -11
- package/internals/is-callable.js +1 -1
- package/internals/is-constructor.js +6 -4
- package/internals/is-data-descriptor.js +2 -2
- package/internals/is-integral-number.js +10 -0
- 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 +16 -8
- package/internals/iterator-close.js +2 -1
- package/internals/iterator-create-proxy.js +4 -3
- package/internals/length-of-array-like.js +7 -0
- 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 +3 -2
- package/internals/object-get-own-property-names-external.js +4 -4
- package/internals/object-get-prototype-of.js +4 -3
- package/internals/object-is-extensible.js +16 -0
- package/internals/object-is-prototype-of.js +3 -0
- package/internals/object-iterator.js +2 -2
- package/internals/object-keys-internal.js +7 -4
- 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/redefine.js +2 -2
- package/internals/reflect-metadata.js +9 -3
- package/internals/regexp-exec-abstract.js +6 -2
- package/internals/regexp-exec.js +19 -14
- package/internals/require-object-coercible.js +4 -0
- package/internals/set-global.js +4 -2
- package/internals/set-to-string-tag.js +2 -2
- package/internals/shared.js +1 -1
- package/internals/string-multibyte.js +15 -7
- package/internals/string-pad.js +7 -4
- package/internals/string-punycode-to-ascii.js +26 -14
- package/internals/string-repeat.js +5 -2
- package/internals/string-trim.js +4 -2
- package/internals/task.js +11 -11
- package/internals/this-number-value.js +2 -4
- package/internals/to-absolute-index.js +2 -2
- package/internals/to-index.js +5 -2
- package/internals/to-integer-or-infinity.js +10 -0
- package/internals/to-length.js +2 -2
- package/internals/to-object.js +3 -0
- package/internals/to-offset.js +3 -0
- package/internals/to-positive-integer.js +5 -2
- 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 +18 -14
- package/internals/typed-array-from.js +6 -5
- package/internals/uid.js +4 -1
- package/internals/well-known-symbol.js +8 -4
- package/modules/es.aggregate-error.js +29 -12
- package/modules/es.array-buffer.slice.js +8 -4
- package/modules/es.array.at.js +4 -4
- package/modules/es.array.concat.js +4 -2
- package/modules/es.array.flat-map.js +2 -2
- package/modules/es.array.flat.js +4 -4
- 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 +6 -4
- package/modules/es.array.sort.js +9 -6
- package/modules/es.array.splice.js +6 -4
- package/modules/es.date.get-year.js +3 -2
- package/modules/es.date.now.js +6 -1
- package/modules/es.date.set-year.js +8 -6
- 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 +4 -2
- package/modules/es.json.stringify.js +18 -7
- package/modules/es.map.js +1 -1
- package/modules/es.number.constructor.js +25 -19
- 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 +21 -15
- package/modules/es.number.to-precision.js +6 -5
- package/modules/es.object.has-own.js +1 -1
- 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 +25 -16
- package/modules/es.regexp.dot-all.js +5 -1
- package/modules/es.regexp.flags.js +4 -2
- package/modules/es.regexp.sticky.js +5 -1
- 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 +7 -5
- package/modules/es.string.ends-with.js +7 -5
- 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 +9 -8
- package/modules/es.string.replace-all.js +19 -13
- package/modules/es.string.replace.js +21 -14
- 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 +6 -5
- package/modules/es.symbol.description.js +22 -14
- package/modules/es.symbol.js +47 -33
- package/modules/es.typed-array.at.js +4 -4
- 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 +4 -2
- 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.array.last-index.js +2 -2
- package/modules/esnext.array.last-item.js +3 -3
- package/modules/esnext.async-iterator.as-indexed-pairs.js +2 -1
- package/modules/esnext.async-iterator.constructor.js +4 -4
- 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 +4 -4
- 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 +14 -5
- 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 +9 -3
- 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 +63 -54
- package/modules/web.url.js +110 -96
- 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/has.js +0 -7
- package/internals/is-integer.js +0 -9
- package/internals/to-integer.js +0 -8
|
@@ -1,20 +1,24 @@
|
|
|
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');
|
|
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
|
-
if (!
|
|
14
|
-
|
|
14
|
+
if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {
|
|
15
|
+
var description = 'Symbol.' + name;
|
|
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,33 +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
|
|
14
|
-
|
|
23
|
+
var options = arguments.length > 2 ? arguments[2] : undefined;
|
|
24
|
+
var isInstance = isPrototypeOf(AggregateErrorPrototype, this);
|
|
25
|
+
var that;
|
|
15
26
|
if (setPrototypeOf) {
|
|
16
|
-
|
|
17
|
-
|
|
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');
|
|
18
31
|
}
|
|
19
|
-
|
|
20
|
-
if (
|
|
32
|
+
createNonEnumerableProperty(that, 'message', normalizeStringArgument(message, ''));
|
|
33
|
+
if (ERROR_STACK_INSTALLABLE) createNonEnumerableProperty(that, 'stack', clearErrorStack(that.stack, 1));
|
|
34
|
+
installErrorCause(that, options);
|
|
21
35
|
var errorsArray = [];
|
|
22
|
-
iterate(errors,
|
|
36
|
+
iterate(errors, push, { that: errorsArray });
|
|
23
37
|
createNonEnumerableProperty(that, 'errors', errorsArray);
|
|
24
38
|
return that;
|
|
25
39
|
};
|
|
26
40
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
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')
|
|
31
48
|
});
|
|
32
49
|
|
|
33
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
|
});
|
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
|
}
|
|
@@ -1,10 +1,11 @@
|
|
|
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');
|
|
6
7
|
var toObject = require('../internals/to-object');
|
|
7
|
-
var
|
|
8
|
+
var lengthOfArrayLike = require('../internals/length-of-array-like');
|
|
8
9
|
var createProperty = require('../internals/create-property');
|
|
9
10
|
var arraySpeciesCreate = require('../internals/array-species-create');
|
|
10
11
|
var arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');
|
|
@@ -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
|
|
@@ -47,7 +49,7 @@ $({ target: 'Array', proto: true, forced: FORCED }, {
|
|
|
47
49
|
for (i = -1, length = arguments.length; i < length; i++) {
|
|
48
50
|
E = i === -1 ? O : arguments[i];
|
|
49
51
|
if (isConcatSpreadable(E)) {
|
|
50
|
-
len =
|
|
52
|
+
len = lengthOfArrayLike(E);
|
|
51
53
|
if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
|
|
52
54
|
for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
|
|
53
55
|
} else {
|
|
@@ -3,7 +3,7 @@ var $ = require('../internals/export');
|
|
|
3
3
|
var flattenIntoArray = require('../internals/flatten-into-array');
|
|
4
4
|
var aCallable = require('../internals/a-callable');
|
|
5
5
|
var toObject = require('../internals/to-object');
|
|
6
|
-
var
|
|
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,7 +11,7 @@ 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);
|
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
|
});
|
|
@@ -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,19 +1,21 @@
|
|
|
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');
|
|
6
7
|
var toAbsoluteIndex = require('../internals/to-absolute-index');
|
|
7
|
-
var
|
|
8
|
+
var lengthOfArrayLike = require('../internals/length-of-array-like');
|
|
8
9
|
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
|
|
@@ -22,7 +24,7 @@ var max = Math.max;
|
|
|
22
24
|
$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {
|
|
23
25
|
slice: function slice(start, end) {
|
|
24
26
|
var O = toIndexedObject(this);
|
|
25
|
-
var length =
|
|
27
|
+
var length = lengthOfArrayLike(O);
|
|
26
28
|
var k = toAbsoluteIndex(start, length);
|
|
27
29
|
var fin = toAbsoluteIndex(end === undefined ? length : end, length);
|
|
28
30
|
// inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible
|
|
@@ -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,8 +1,9 @@
|
|
|
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
|
-
var
|
|
6
|
+
var lengthOfArrayLike = require('../internals/length-of-array-like');
|
|
6
7
|
var toString = require('../internals/to-string');
|
|
7
8
|
var fails = require('../internals/fails');
|
|
8
9
|
var internalSort = require('../internals/array-sort');
|
|
@@ -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
|
-
var arrayLength =
|
|
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,8 +1,9 @@
|
|
|
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
|
-
var
|
|
5
|
-
var
|
|
5
|
+
var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
|
|
6
|
+
var lengthOfArrayLike = require('../internals/length-of-array-like');
|
|
6
7
|
var toObject = require('../internals/to-object');
|
|
7
8
|
var arraySpeciesCreate = require('../internals/array-species-create');
|
|
8
9
|
var createProperty = require('../internals/create-property');
|
|
@@ -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;
|
|
@@ -21,7 +23,7 @@ var MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded';
|
|
|
21
23
|
$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {
|
|
22
24
|
splice: function splice(start, deleteCount /* , ...items */) {
|
|
23
25
|
var O = toObject(this);
|
|
24
|
-
var len =
|
|
26
|
+
var len = lengthOfArrayLike(O);
|
|
25
27
|
var actualStart = toAbsoluteIndex(start, len);
|
|
26
28
|
var argumentsLength = arguments.length;
|
|
27
29
|
var insertCount, actualDeleteCount, A, k, from, to;
|
|
@@ -32,7 +34,7 @@ $({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {
|
|
|
32
34
|
actualDeleteCount = len - actualStart;
|
|
33
35
|
} else {
|
|
34
36
|
insertCount = argumentsLength - 2;
|
|
35
|
-
actualDeleteCount = min(max(
|
|
37
|
+
actualDeleteCount = min(max(toIntegerOrInfinity(deleteCount), 0), len - actualStart);
|
|
36
38
|
}
|
|
37
39
|
if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER) {
|
|
38
40
|
throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED);
|
|
@@ -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
|
});
|
package/modules/es.date.now.js
CHANGED
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
var $ = require('../internals/export');
|
|
2
|
+
var global = require('../internals/global');
|
|
3
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
4
|
+
|
|
5
|
+
var Date = global.Date;
|
|
6
|
+
var getTime = uncurryThis(Date.prototype.getTime);
|
|
2
7
|
|
|
3
8
|
// `Date.now` method
|
|
4
9
|
// https://tc39.es/ecma262/#sec-date.now
|
|
5
10
|
$({ target: 'Date', stat: true }, {
|
|
6
11
|
now: function now() {
|
|
7
|
-
return new Date()
|
|
12
|
+
return getTime(new Date());
|
|
8
13
|
}
|
|
9
14
|
});
|
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
-
var
|
|
3
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
4
|
+
var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
|
|
4
5
|
|
|
5
|
-
var
|
|
6
|
-
var
|
|
6
|
+
var DatePrototype = Date.prototype;
|
|
7
|
+
var getTime = uncurryThis(DatePrototype.getTime);
|
|
8
|
+
var setFullYear = uncurryThis(DatePrototype.setFullYear);
|
|
7
9
|
|
|
8
10
|
// `Date.prototype.setYear` method
|
|
9
11
|
// https://tc39.es/ecma262/#sec-date.prototype.setyear
|
|
10
12
|
$({ target: 'Date', proto: true }, {
|
|
11
13
|
setYear: function setYear(year) {
|
|
12
14
|
// validate
|
|
13
|
-
getTime
|
|
14
|
-
var yi =
|
|
15
|
+
getTime(this);
|
|
16
|
+
var yi = toIntegerOrInfinity(year);
|
|
15
17
|
var yyyy = 0 <= yi && yi <= 99 ? yi + 1900 : yi;
|
|
16
|
-
return setFullYear
|
|
18
|
+
return setFullYear(this, yyyy);
|
|
17
19
|
}
|
|
18
20
|
});
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
var hasOwn = require('../internals/has-own-property');
|
|
1
2
|
var redefine = require('../internals/redefine');
|
|
2
3
|
var dateToPrimitive = require('../internals/date-to-primitive');
|
|
3
4
|
var wellKnownSymbol = require('../internals/well-known-symbol');
|
|
@@ -7,6 +8,6 @@ var DatePrototype = Date.prototype;
|
|
|
7
8
|
|
|
8
9
|
// `Date.prototype[@@toPrimitive]` method
|
|
9
10
|
// https://tc39.es/ecma262/#sec-date.prototype-@@toprimitive
|
|
10
|
-
if (!(TO_PRIMITIVE
|
|
11
|
+
if (!hasOwn(DatePrototype, TO_PRIMITIVE)) {
|
|
11
12
|
redefine(DatePrototype, TO_PRIMITIVE, dateToPrimitive);
|
|
12
13
|
}
|
|
@@ -1,17 +1,18 @@
|
|
|
1
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
1
2
|
var redefine = require('../internals/redefine');
|
|
2
3
|
|
|
3
4
|
var DatePrototype = Date.prototype;
|
|
4
5
|
var INVALID_DATE = 'Invalid Date';
|
|
5
6
|
var TO_STRING = 'toString';
|
|
6
|
-
var
|
|
7
|
-
var getTime = DatePrototype.getTime;
|
|
7
|
+
var un$DateToString = uncurryThis(DatePrototype[TO_STRING]);
|
|
8
|
+
var getTime = uncurryThis(DatePrototype.getTime);
|
|
8
9
|
|
|
9
10
|
// `Date.prototype.toString` method
|
|
10
11
|
// https://tc39.es/ecma262/#sec-date.prototype.tostring
|
|
11
12
|
if (String(new Date(NaN)) != INVALID_DATE) {
|
|
12
13
|
redefine(DatePrototype, TO_STRING, function toString() {
|
|
13
|
-
var value = getTime
|
|
14
|
+
var value = getTime(this);
|
|
14
15
|
// eslint-disable-next-line no-self-compare -- NaN check
|
|
15
|
-
return value === value ?
|
|
16
|
+
return value === value ? un$DateToString(this) : INVALID_DATE;
|
|
16
17
|
});
|
|
17
18
|
}
|
package/modules/es.escape.js
CHANGED
|
@@ -1,11 +1,18 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
3
4
|
var toString = require('../internals/to-string');
|
|
4
5
|
|
|
6
|
+
var charAt = uncurryThis(''.charAt);
|
|
7
|
+
var charCodeAt = uncurryThis(''.charCodeAt);
|
|
8
|
+
var exec = uncurryThis(/./.exec);
|
|
9
|
+
var numberToString = uncurryThis(1.0.toString);
|
|
10
|
+
var toUpperCase = uncurryThis(''.toUpperCase);
|
|
11
|
+
|
|
5
12
|
var raw = /[\w*+\-./@]/;
|
|
6
13
|
|
|
7
14
|
var hex = function (code, length) {
|
|
8
|
-
var result = code
|
|
15
|
+
var result = numberToString(code, 16);
|
|
9
16
|
while (result.length < length) result = '0' + result;
|
|
10
17
|
return result;
|
|
11
18
|
};
|
|
@@ -20,15 +27,15 @@ $({ global: true }, {
|
|
|
20
27
|
var index = 0;
|
|
21
28
|
var chr, code;
|
|
22
29
|
while (index < length) {
|
|
23
|
-
chr =
|
|
24
|
-
if (raw
|
|
30
|
+
chr = charAt(str, index++);
|
|
31
|
+
if (exec(raw, chr)) {
|
|
25
32
|
result += chr;
|
|
26
33
|
} else {
|
|
27
|
-
code =
|
|
34
|
+
code = charCodeAt(chr, 0);
|
|
28
35
|
if (code < 256) {
|
|
29
36
|
result += '%' + hex(code, 2);
|
|
30
37
|
} else {
|
|
31
|
-
result += '%u' + hex(code, 4)
|
|
38
|
+
result += '%u' + toUpperCase(hex(code, 4));
|
|
32
39
|
}
|
|
33
40
|
}
|
|
34
41
|
} return result;
|
|
@@ -13,9 +13,10 @@ var FunctionPrototype = Function.prototype;
|
|
|
13
13
|
if (!(HAS_INSTANCE in FunctionPrototype)) {
|
|
14
14
|
definePropertyModule.f(FunctionPrototype, HAS_INSTANCE, { value: function (O) {
|
|
15
15
|
if (!isCallable(this) || !isObject(O)) return false;
|
|
16
|
-
|
|
16
|
+
var P = this.prototype;
|
|
17
|
+
if (!isObject(P)) return O instanceof this;
|
|
17
18
|
// for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:
|
|
18
|
-
while (O = getPrototypeOf(O)) if (
|
|
19
|
+
while (O = getPrototypeOf(O)) if (P === O) return true;
|
|
19
20
|
return false;
|
|
20
21
|
} });
|
|
21
22
|
}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
var DESCRIPTORS = require('../internals/descriptors');
|
|
2
2
|
var FUNCTION_NAME_EXISTS = require('../internals/function-name').EXISTS;
|
|
3
|
+
var uncurryThis = require('../internals/function-uncurry-this');
|
|
3
4
|
var defineProperty = require('../internals/object-define-property').f;
|
|
4
5
|
|
|
5
6
|
var FunctionPrototype = Function.prototype;
|
|
6
|
-
var
|
|
7
|
+
var functionToString = uncurryThis(FunctionPrototype.toString);
|
|
7
8
|
var nameRE = /^\s*function ([^ (]*)/;
|
|
9
|
+
var regExpExec = uncurryThis(nameRE.exec);
|
|
8
10
|
var NAME = 'name';
|
|
9
11
|
|
|
10
12
|
// Function instances `.name` property
|
|
@@ -14,7 +16,7 @@ if (DESCRIPTORS && !FUNCTION_NAME_EXISTS) {
|
|
|
14
16
|
configurable: true,
|
|
15
17
|
get: function () {
|
|
16
18
|
try {
|
|
17
|
-
return
|
|
19
|
+
return regExpExec(nameRE, functionToString(this))[1];
|
|
18
20
|
} catch (error) {
|
|
19
21
|
return '';
|
|
20
22
|
}
|