core-js 3.8.1 → 3.9.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/LICENSE +1 -1
- package/es/json/stringify.js +1 -1
- package/es/promise/all-settled.js +2 -0
- package/es/promise/any.js +2 -0
- package/features/array/find-last-index.js +4 -0
- package/features/array/find-last.js +4 -0
- package/features/array/index.js +2 -0
- package/features/array/virtual/find-last-index.js +4 -0
- package/features/array/virtual/find-last.js +4 -0
- package/features/array/virtual/index.js +3 -0
- package/features/instance/find-last-index.js +8 -0
- package/features/instance/find-last.js +8 -0
- package/features/typed-array/find-last-index.js +1 -0
- package/features/typed-array/find-last.js +1 -0
- package/features/typed-array/index.js +4 -0
- package/features/typed-array/unique-by.js +2 -0
- package/internals/add-to-unscopables.js +1 -1
- package/internals/advance-string-index.js +1 -1
- package/internals/array-buffer-view-core.js +1 -1
- package/internals/array-buffer.js +6 -4
- package/internals/array-copy-within.js +1 -1
- package/internals/array-fill.js +1 -1
- package/internals/array-for-each.js +2 -4
- package/internals/array-from.js +1 -1
- package/internals/array-includes.js +4 -4
- package/internals/array-iteration-from-last.js +34 -0
- package/internals/array-iteration.js +7 -7
- package/internals/array-last-index-of.js +2 -5
- package/internals/array-method-is-strict.js +1 -1
- package/internals/array-reduce.js +2 -2
- package/internals/array-species-create.js +1 -1
- package/internals/array-unique-by.js +32 -0
- package/internals/async-iterator-prototype.js +1 -1
- package/internals/check-correctness-of-iteration.js +1 -1
- package/internals/collection.js +9 -5
- package/internals/create-html.js +1 -1
- package/internals/date-to-iso-string.js +1 -1
- package/internals/descriptors.js +1 -1
- package/internals/engine-is-webos-webkit.js +3 -0
- package/internals/fix-regexp-well-known-symbol-logic.js +1 -0
- package/internals/function-bind.js +2 -2
- package/internals/get-map-iterator.js +1 -1
- package/internals/get-set-iterator.js +1 -1
- package/internals/get-substitution.js +40 -0
- package/internals/global.js +2 -2
- package/internals/ieee754.js +2 -4
- package/internals/indexed-object.js +1 -1
- package/internals/is-array.js +1 -1
- package/internals/is-integer.js +1 -1
- package/internals/is-iterable.js +1 -1
- package/internals/is-regexp.js +1 -1
- package/internals/iterators-core.js +10 -3
- package/internals/math-expm1.js +1 -1
- package/internals/math-fround.js +2 -2
- package/internals/math-log1p.js +1 -1
- package/internals/math-scale.js +2 -2
- package/internals/math-sign.js +2 -2
- package/internals/microtask.js +3 -1
- package/internals/native-symbol.js +7 -3
- package/internals/number-is-finite.js +1 -1
- package/internals/number-parse-float.js +1 -1
- package/internals/number-parse-int.js +1 -1
- package/internals/{range-iterator.js → numeric-range-iterator.js} +6 -6
- package/internals/object-assign.js +3 -3
- package/internals/object-create.js +2 -2
- package/internals/object-define-properties.js +1 -1
- package/internals/object-define-property.js +1 -1
- package/internals/object-get-own-property-descriptor.js +1 -1
- package/internals/object-get-own-property-names.js +1 -1
- package/internals/object-get-prototype-of.js +1 -1
- package/internals/object-keys.js +1 -1
- package/internals/object-property-is-enumerable.js +1 -1
- package/internals/object-prototype-accessors-forced.js +1 -1
- package/internals/object-set-prototype-of.js +2 -2
- package/internals/object-to-array.js +2 -2
- package/internals/object-to-string.js +1 -1
- package/internals/regexp-exec-abstract.js +1 -1
- package/internals/regexp-exec.js +1 -0
- package/internals/regexp-flags.js +1 -1
- package/internals/require-object-coercible.js +1 -1
- package/internals/same-value-zero.js +2 -2
- package/internals/same-value.js +2 -2
- package/internals/shared.js +2 -2
- package/internals/species-constructor.js +1 -1
- package/internals/string-multibyte.js +1 -1
- package/internals/string-pad-webkit-bug.js +1 -1
- package/internals/string-pad.js +2 -2
- package/internals/string-punycode-to-ascii.js +1 -1
- package/internals/string-repeat.js +1 -1
- package/internals/string-trim.js +3 -3
- package/internals/task.js +2 -2
- package/internals/this-number-value.js +1 -1
- package/internals/to-index.js +1 -1
- package/internals/to-integer.js +1 -1
- package/internals/to-length.js +1 -1
- package/internals/to-object.js +1 -1
- package/internals/to-primitive.js +1 -1
- package/internals/typed-array-constructors-require-wrappers.js +1 -1
- package/internals/typed-array-from-species-and-list.js +11 -0
- package/internals/use-symbol-as-uid.js +1 -2
- package/internals/well-known-symbol.js +6 -3
- package/internals/whitespaces.js +2 -2
- package/modules/es.aggregate-error.js +3 -0
- package/modules/es.array-buffer.constructor.js +1 -1
- package/modules/es.array-buffer.is-view.js +1 -1
- package/modules/es.array-buffer.slice.js +1 -1
- package/modules/es.array.concat.js +3 -2
- package/modules/es.array.copy-within.js +2 -2
- package/modules/es.array.every.js +2 -4
- package/modules/es.array.fill.js +2 -2
- package/modules/es.array.filter.js +2 -5
- package/modules/es.array.find-index.js +3 -6
- package/modules/es.array.find.js +3 -6
- package/modules/es.array.flat-map.js +1 -1
- package/modules/es.array.flat.js +1 -1
- package/modules/es.array.for-each.js +1 -1
- package/modules/es.array.from.js +1 -1
- package/modules/es.array.includes.js +3 -6
- package/modules/es.array.index-of.js +2 -4
- package/modules/es.array.is-array.js +1 -1
- package/modules/es.array.iterator.js +9 -9
- package/modules/es.array.join.js +1 -1
- package/modules/es.array.last-index-of.js +1 -1
- package/modules/es.array.map.js +2 -5
- package/modules/es.array.of.js +1 -1
- package/modules/es.array.reduce-right.js +2 -5
- package/modules/es.array.reduce.js +2 -4
- package/modules/es.array.reverse.js +2 -2
- package/modules/es.array.slice.js +2 -4
- package/modules/es.array.some.js +2 -4
- package/modules/es.array.sort.js +1 -1
- package/modules/es.array.species.js +1 -1
- package/modules/es.array.splice.js +2 -4
- package/modules/es.array.unscopables.flat-map.js +1 -0
- package/modules/es.array.unscopables.flat.js +1 -0
- package/modules/es.data-view.js +1 -1
- package/modules/es.date.now.js +1 -1
- package/modules/es.date.to-iso-string.js +1 -1
- package/modules/es.date.to-json.js +2 -2
- package/modules/es.date.to-primitive.js +1 -1
- package/modules/es.date.to-string.js +2 -2
- package/modules/es.function.bind.js +1 -1
- package/modules/es.function.has-instance.js +1 -1
- package/modules/es.function.name.js +1 -1
- package/modules/es.global-this.js +1 -1
- package/modules/es.json.stringify.js +3 -1
- package/modules/es.json.to-string-tag.js +1 -1
- package/modules/es.map.js +1 -1
- package/modules/es.math.acosh.js +1 -1
- package/modules/es.math.asinh.js +1 -1
- package/modules/es.math.atanh.js +1 -1
- package/modules/es.math.cbrt.js +1 -1
- package/modules/es.math.clz32.js +1 -1
- package/modules/es.math.cosh.js +1 -1
- package/modules/es.math.expm1.js +1 -1
- package/modules/es.math.fround.js +1 -1
- package/modules/es.math.hypot.js +3 -2
- package/modules/es.math.imul.js +1 -1
- package/modules/es.math.log10.js +1 -1
- package/modules/es.math.log1p.js +1 -1
- package/modules/es.math.log2.js +1 -1
- package/modules/es.math.sign.js +1 -1
- package/modules/es.math.sinh.js +1 -1
- package/modules/es.math.tanh.js +1 -1
- package/modules/es.math.to-string-tag.js +1 -1
- package/modules/es.math.trunc.js +1 -1
- package/modules/es.number.constructor.js +2 -2
- package/modules/es.number.epsilon.js +1 -1
- package/modules/es.number.is-finite.js +1 -1
- package/modules/es.number.is-integer.js +1 -1
- package/modules/es.number.is-nan.js +2 -2
- package/modules/es.number.is-safe-integer.js +1 -1
- package/modules/es.number.max-safe-integer.js +1 -1
- package/modules/es.number.min-safe-integer.js +1 -1
- package/modules/es.number.parse-float.js +1 -1
- package/modules/es.number.parse-int.js +1 -1
- package/modules/es.number.to-fixed.js +44 -45
- package/modules/es.number.to-precision.js +1 -1
- package/modules/es.object.assign.js +1 -1
- package/modules/es.object.create.js +1 -1
- package/modules/es.object.define-getter.js +1 -1
- package/modules/es.object.define-properties.js +1 -1
- package/modules/es.object.define-property.js +1 -1
- package/modules/es.object.define-setter.js +1 -1
- package/modules/es.object.entries.js +1 -1
- package/modules/es.object.freeze.js +1 -1
- package/modules/es.object.get-own-property-descriptor.js +1 -1
- package/modules/es.object.get-own-property-descriptors.js +1 -1
- package/modules/es.object.get-own-property-names.js +1 -1
- package/modules/es.object.get-prototype-of.js +1 -1
- package/modules/es.object.is-extensible.js +1 -1
- package/modules/es.object.is-frozen.js +1 -1
- package/modules/es.object.is-sealed.js +1 -1
- package/modules/es.object.is.js +1 -1
- package/modules/es.object.keys.js +1 -1
- package/modules/es.object.lookup-getter.js +1 -1
- package/modules/es.object.lookup-setter.js +1 -1
- package/modules/es.object.prevent-extensions.js +1 -1
- package/modules/es.object.seal.js +1 -1
- package/modules/es.object.set-prototype-of.js +1 -1
- package/modules/es.object.to-string.js +1 -1
- package/modules/es.object.values.js +1 -1
- package/modules/es.parse-float.js +1 -1
- package/modules/es.parse-int.js +1 -1
- package/modules/es.promise.all-settled.js +1 -1
- package/modules/es.promise.any.js +1 -1
- package/modules/es.promise.finally.js +1 -1
- package/modules/es.promise.js +8 -8
- package/modules/es.reflect.apply.js +1 -1
- package/modules/es.reflect.construct.js +1 -1
- package/modules/es.reflect.define-property.js +2 -2
- package/modules/es.reflect.delete-property.js +1 -1
- package/modules/es.reflect.get-own-property-descriptor.js +1 -1
- package/modules/es.reflect.get-prototype-of.js +1 -1
- package/modules/es.reflect.get.js +1 -1
- package/modules/es.reflect.has.js +1 -1
- package/modules/es.reflect.is-extensible.js +1 -1
- package/modules/es.reflect.own-keys.js +1 -1
- package/modules/es.reflect.prevent-extensions.js +1 -1
- package/modules/es.reflect.set-prototype-of.js +1 -1
- package/modules/es.reflect.set.js +2 -2
- package/modules/es.regexp.constructor.js +2 -2
- package/modules/es.regexp.exec.js +2 -0
- package/modules/es.regexp.flags.js +1 -1
- package/modules/es.regexp.sticky.js +1 -0
- package/modules/es.regexp.test.js +2 -0
- package/modules/es.regexp.to-string.js +1 -1
- package/modules/es.set.js +1 -1
- package/modules/es.string.anchor.js +1 -1
- package/modules/es.string.big.js +1 -1
- package/modules/es.string.blink.js +1 -1
- package/modules/es.string.bold.js +1 -1
- package/modules/es.string.code-point-at.js +1 -1
- package/modules/es.string.ends-with.js +1 -1
- package/modules/es.string.fixed.js +1 -1
- package/modules/es.string.fontcolor.js +1 -1
- package/modules/es.string.fontsize.js +1 -1
- package/modules/es.string.from-code-point.js +3 -2
- package/modules/es.string.includes.js +1 -1
- package/modules/es.string.italics.js +1 -1
- package/modules/es.string.iterator.js +2 -2
- package/modules/es.string.link.js +1 -1
- package/modules/es.string.match-all.js +2 -2
- package/modules/es.string.match.js +2 -2
- package/modules/es.string.pad-end.js +1 -1
- package/modules/es.string.pad-start.js +1 -1
- package/modules/es.string.raw.js +1 -1
- package/modules/es.string.repeat.js +1 -1
- package/modules/es.string.replace-all.js +29 -12
- package/modules/es.string.replace.js +3 -40
- package/modules/es.string.search.js +2 -2
- package/modules/es.string.small.js +1 -1
- package/modules/es.string.split.js +4 -2
- package/modules/es.string.starts-with.js +1 -1
- package/modules/es.string.strike.js +1 -1
- package/modules/es.string.sub.js +1 -1
- package/modules/es.string.sup.js +1 -1
- package/modules/es.string.trim-end.js +2 -1
- package/modules/es.string.trim-start.js +2 -1
- package/modules/es.string.trim.js +1 -1
- package/modules/es.symbol.async-iterator.js +1 -1
- package/modules/es.symbol.description.js +1 -1
- package/modules/es.symbol.has-instance.js +1 -1
- package/modules/es.symbol.is-concat-spreadable.js +1 -1
- package/modules/es.symbol.iterator.js +1 -1
- package/modules/es.symbol.js +13 -13
- package/modules/es.symbol.match-all.js +1 -0
- package/modules/es.symbol.match.js +1 -1
- package/modules/es.symbol.replace.js +1 -1
- package/modules/es.symbol.search.js +1 -1
- package/modules/es.symbol.species.js +1 -1
- package/modules/es.symbol.split.js +1 -1
- package/modules/es.symbol.to-primitive.js +1 -1
- package/modules/es.symbol.to-string-tag.js +1 -1
- package/modules/es.symbol.unscopables.js +1 -1
- package/modules/es.typed-array.copy-within.js +1 -1
- package/modules/es.typed-array.every.js +1 -1
- package/modules/es.typed-array.fill.js +2 -2
- package/modules/es.typed-array.filter.js +3 -9
- package/modules/es.typed-array.find-index.js +1 -1
- package/modules/es.typed-array.find.js +1 -1
- package/modules/es.typed-array.float32-array.js +1 -1
- package/modules/es.typed-array.float64-array.js +1 -1
- package/modules/es.typed-array.for-each.js +1 -1
- package/modules/es.typed-array.from.js +1 -1
- package/modules/es.typed-array.includes.js +1 -1
- package/modules/es.typed-array.index-of.js +1 -1
- package/modules/es.typed-array.int16-array.js +1 -1
- package/modules/es.typed-array.int32-array.js +1 -1
- package/modules/es.typed-array.int8-array.js +1 -1
- package/modules/es.typed-array.iterator.js +4 -4
- package/modules/es.typed-array.join.js +2 -2
- package/modules/es.typed-array.last-index-of.js +2 -2
- package/modules/es.typed-array.map.js +1 -1
- package/modules/es.typed-array.of.js +1 -1
- package/modules/es.typed-array.reduce-right.js +1 -1
- package/modules/es.typed-array.reduce.js +1 -1
- package/modules/es.typed-array.reverse.js +1 -1
- package/modules/es.typed-array.set.js +2 -2
- package/modules/es.typed-array.slice.js +2 -2
- package/modules/es.typed-array.some.js +1 -1
- package/modules/es.typed-array.sort.js +1 -1
- package/modules/es.typed-array.subarray.js +1 -1
- package/modules/es.typed-array.to-locale-string.js +1 -1
- package/modules/es.typed-array.to-string.js +1 -1
- package/modules/es.typed-array.uint16-array.js +1 -1
- package/modules/es.typed-array.uint32-array.js +1 -1
- package/modules/es.typed-array.uint8-array.js +1 -1
- package/modules/es.typed-array.uint8-clamped-array.js +1 -1
- package/modules/es.weak-map.js +1 -1
- package/modules/es.weak-set.js +1 -1
- package/modules/esnext.array.find-last-index.js +14 -0
- package/modules/esnext.array.find-last.js +14 -0
- package/modules/esnext.array.unique-by.js +2 -28
- package/modules/esnext.bigint.range.js +3 -3
- package/modules/esnext.map.merge.js +1 -1
- package/modules/esnext.number.range.js +2 -2
- package/modules/esnext.typed-array.filter-out.js +2 -8
- package/modules/esnext.typed-array.find-last-index.js +12 -0
- package/modules/esnext.typed-array.find-last.js +12 -0
- package/modules/esnext.typed-array.unique-by.js +13 -0
- package/modules/web.timers.js +1 -1
- package/modules/web.url.js +9 -11
- package/package.json +5 -3
- package/postinstall.js +2 -2
- package/proposals/array-find-from-last.js +5 -0
- package/proposals/array-unique.js +1 -0
- package/stable/instance/entries.js +1 -1
- package/stable/instance/for-each.js +1 -1
- package/stable/instance/keys.js +1 -1
- package/stable/instance/values.js +1 -1
- package/stage/1.js +1 -0
- package/internals/array-method-uses-to-length.js +0 -27
package/internals/to-object.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
var requireObjectCoercible = require('../internals/require-object-coercible');
|
|
2
2
|
|
|
3
3
|
// `ToObject` abstract operation
|
|
4
|
-
// https://tc39.
|
|
4
|
+
// https://tc39.es/ecma262/#sec-toobject
|
|
5
5
|
module.exports = function (argument) {
|
|
6
6
|
return Object(requireObjectCoercible(argument));
|
|
7
7
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
var isObject = require('../internals/is-object');
|
|
2
2
|
|
|
3
3
|
// `ToPrimitive` abstract operation
|
|
4
|
-
// https://tc39.
|
|
4
|
+
// https://tc39.es/ecma262/#sec-toprimitive
|
|
5
5
|
// instead of the ES6 spec version, we didn't implement @@toPrimitive case
|
|
6
6
|
// and the second argument - flag - preferred type is a string
|
|
7
7
|
module.exports = function (input, PREFERRED_STRING) {
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
var aTypedArrayConstructor = require('../internals/array-buffer-view-core').aTypedArrayConstructor;
|
|
2
|
+
var speciesConstructor = require('../internals/species-constructor');
|
|
3
|
+
|
|
4
|
+
module.exports = function (instance, list) {
|
|
5
|
+
var C = speciesConstructor(instance, instance.constructor);
|
|
6
|
+
var index = 0;
|
|
7
|
+
var length = list.length;
|
|
8
|
+
var result = new (aTypedArrayConstructor(C))(length);
|
|
9
|
+
while (length > index) result[index] = list[index++];
|
|
10
|
+
return result;
|
|
11
|
+
};
|
|
@@ -10,8 +10,11 @@ var Symbol = global.Symbol;
|
|
|
10
10
|
var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;
|
|
11
11
|
|
|
12
12
|
module.exports = function (name) {
|
|
13
|
-
if (!has(WellKnownSymbolsStore, name)) {
|
|
14
|
-
if (NATIVE_SYMBOL && has(Symbol, name))
|
|
15
|
-
|
|
13
|
+
if (!has(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {
|
|
14
|
+
if (NATIVE_SYMBOL && has(Symbol, name)) {
|
|
15
|
+
WellKnownSymbolsStore[name] = Symbol[name];
|
|
16
|
+
} else {
|
|
17
|
+
WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
|
|
18
|
+
}
|
|
16
19
|
} return WellKnownSymbolsStore[name];
|
|
17
20
|
};
|
package/internals/whitespaces.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// a string of all valid unicode whitespaces
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
module.exports = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002' +
|
|
3
|
+
'\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';
|
|
@@ -11,6 +11,7 @@ var $AggregateError = function AggregateError(errors, message) {
|
|
|
11
11
|
var that = this;
|
|
12
12
|
if (!(that instanceof $AggregateError)) return new $AggregateError(errors, message);
|
|
13
13
|
if (setPrototypeOf) {
|
|
14
|
+
// eslint-disable-next-line unicorn/error-message -- expected
|
|
14
15
|
that = setPrototypeOf(new Error(undefined), getPrototypeOf(that));
|
|
15
16
|
}
|
|
16
17
|
if (message !== undefined) createNonEnumerableProperty(that, 'message', String(message));
|
|
@@ -26,6 +27,8 @@ $AggregateError.prototype = create(Error.prototype, {
|
|
|
26
27
|
name: createPropertyDescriptor(5, 'AggregateError')
|
|
27
28
|
});
|
|
28
29
|
|
|
30
|
+
// `AggregateError` constructor
|
|
31
|
+
// https://tc39.es/ecma262/#sec-aggregate-error-constructor
|
|
29
32
|
$({ global: true }, {
|
|
30
33
|
AggregateError: $AggregateError
|
|
31
34
|
});
|
|
@@ -9,7 +9,7 @@ var ArrayBuffer = arrayBufferModule[ARRAY_BUFFER];
|
|
|
9
9
|
var NativeArrayBuffer = global[ARRAY_BUFFER];
|
|
10
10
|
|
|
11
11
|
// `ArrayBuffer` constructor
|
|
12
|
-
// https://tc39.
|
|
12
|
+
// https://tc39.es/ecma262/#sec-arraybuffer-constructor
|
|
13
13
|
$({ global: true, forced: NativeArrayBuffer !== ArrayBuffer }, {
|
|
14
14
|
ArrayBuffer: ArrayBuffer
|
|
15
15
|
});
|
|
@@ -4,7 +4,7 @@ var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
|
|
|
4
4
|
var NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS;
|
|
5
5
|
|
|
6
6
|
// `ArrayBuffer.isView` method
|
|
7
|
-
// https://tc39.
|
|
7
|
+
// https://tc39.es/ecma262/#sec-arraybuffer.isview
|
|
8
8
|
$({ target: 'ArrayBuffer', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, {
|
|
9
9
|
isView: ArrayBufferViewCore.isView
|
|
10
10
|
});
|
|
@@ -16,7 +16,7 @@ var INCORRECT_SLICE = fails(function () {
|
|
|
16
16
|
});
|
|
17
17
|
|
|
18
18
|
// `ArrayBuffer.prototype.slice` method
|
|
19
|
-
// https://tc39.
|
|
19
|
+
// https://tc39.es/ecma262/#sec-arraybuffer.prototype.slice
|
|
20
20
|
$({ target: 'ArrayBuffer', proto: true, unsafe: true, forced: INCORRECT_SLICE }, {
|
|
21
21
|
slice: function slice(start, end) {
|
|
22
22
|
if (nativeArrayBufferSlice !== undefined && end === undefined) {
|
|
@@ -35,10 +35,11 @@ var isConcatSpreadable = function (O) {
|
|
|
35
35
|
var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
|
|
36
36
|
|
|
37
37
|
// `Array.prototype.concat` method
|
|
38
|
-
// https://tc39.
|
|
38
|
+
// https://tc39.es/ecma262/#sec-array.prototype.concat
|
|
39
39
|
// with adding support of @@isConcatSpreadable and @@species
|
|
40
40
|
$({ target: 'Array', proto: true, forced: FORCED }, {
|
|
41
|
-
|
|
41
|
+
// eslint-disable-next-line no-unused-vars -- required for `.length`
|
|
42
|
+
concat: function concat(arg) {
|
|
42
43
|
var O = toObject(this);
|
|
43
44
|
var A = arraySpeciesCreate(O, 0);
|
|
44
45
|
var n = 0;
|
|
@@ -3,10 +3,10 @@ var copyWithin = require('../internals/array-copy-within');
|
|
|
3
3
|
var addToUnscopables = require('../internals/add-to-unscopables');
|
|
4
4
|
|
|
5
5
|
// `Array.prototype.copyWithin` method
|
|
6
|
-
// https://tc39.
|
|
6
|
+
// https://tc39.es/ecma262/#sec-array.prototype.copywithin
|
|
7
7
|
$({ target: 'Array', proto: true }, {
|
|
8
8
|
copyWithin: copyWithin
|
|
9
9
|
});
|
|
10
10
|
|
|
11
|
-
// https://tc39.
|
|
11
|
+
// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
|
|
12
12
|
addToUnscopables('copyWithin');
|
|
@@ -2,14 +2,12 @@
|
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
3
|
var $every = require('../internals/array-iteration').every;
|
|
4
4
|
var arrayMethodIsStrict = require('../internals/array-method-is-strict');
|
|
5
|
-
var arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');
|
|
6
5
|
|
|
7
6
|
var STRICT_METHOD = arrayMethodIsStrict('every');
|
|
8
|
-
var USES_TO_LENGTH = arrayMethodUsesToLength('every');
|
|
9
7
|
|
|
10
8
|
// `Array.prototype.every` method
|
|
11
|
-
// https://tc39.
|
|
12
|
-
$({ target: 'Array', proto: true, forced: !STRICT_METHOD
|
|
9
|
+
// https://tc39.es/ecma262/#sec-array.prototype.every
|
|
10
|
+
$({ target: 'Array', proto: true, forced: !STRICT_METHOD }, {
|
|
13
11
|
every: function every(callbackfn /* , thisArg */) {
|
|
14
12
|
return $every(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
|
|
15
13
|
}
|
package/modules/es.array.fill.js
CHANGED
|
@@ -3,10 +3,10 @@ var fill = require('../internals/array-fill');
|
|
|
3
3
|
var addToUnscopables = require('../internals/add-to-unscopables');
|
|
4
4
|
|
|
5
5
|
// `Array.prototype.fill` method
|
|
6
|
-
// https://tc39.
|
|
6
|
+
// https://tc39.es/ecma262/#sec-array.prototype.fill
|
|
7
7
|
$({ target: 'Array', proto: true }, {
|
|
8
8
|
fill: fill
|
|
9
9
|
});
|
|
10
10
|
|
|
11
|
-
// https://tc39.
|
|
11
|
+
// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
|
|
12
12
|
addToUnscopables('fill');
|
|
@@ -2,16 +2,13 @@
|
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
3
|
var $filter = require('../internals/array-iteration').filter;
|
|
4
4
|
var arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');
|
|
5
|
-
var arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');
|
|
6
5
|
|
|
7
6
|
var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');
|
|
8
|
-
// Edge 14- issue
|
|
9
|
-
var USES_TO_LENGTH = arrayMethodUsesToLength('filter');
|
|
10
7
|
|
|
11
8
|
// `Array.prototype.filter` method
|
|
12
|
-
// https://tc39.
|
|
9
|
+
// https://tc39.es/ecma262/#sec-array.prototype.filter
|
|
13
10
|
// with adding support of @@species
|
|
14
|
-
$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT
|
|
11
|
+
$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {
|
|
15
12
|
filter: function filter(callbackfn /* , thisArg */) {
|
|
16
13
|
return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
|
|
17
14
|
}
|
|
@@ -2,23 +2,20 @@
|
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
3
|
var $findIndex = require('../internals/array-iteration').findIndex;
|
|
4
4
|
var addToUnscopables = require('../internals/add-to-unscopables');
|
|
5
|
-
var arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');
|
|
6
5
|
|
|
7
6
|
var FIND_INDEX = 'findIndex';
|
|
8
7
|
var SKIPS_HOLES = true;
|
|
9
8
|
|
|
10
|
-
var USES_TO_LENGTH = arrayMethodUsesToLength(FIND_INDEX);
|
|
11
|
-
|
|
12
9
|
// Shouldn't skip holes
|
|
13
10
|
if (FIND_INDEX in []) Array(1)[FIND_INDEX](function () { SKIPS_HOLES = false; });
|
|
14
11
|
|
|
15
12
|
// `Array.prototype.findIndex` method
|
|
16
|
-
// https://tc39.
|
|
17
|
-
$({ target: 'Array', proto: true, forced: SKIPS_HOLES
|
|
13
|
+
// https://tc39.es/ecma262/#sec-array.prototype.findindex
|
|
14
|
+
$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {
|
|
18
15
|
findIndex: function findIndex(callbackfn /* , that = undefined */) {
|
|
19
16
|
return $findIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
|
|
20
17
|
}
|
|
21
18
|
});
|
|
22
19
|
|
|
23
|
-
// https://tc39.
|
|
20
|
+
// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
|
|
24
21
|
addToUnscopables(FIND_INDEX);
|
package/modules/es.array.find.js
CHANGED
|
@@ -2,23 +2,20 @@
|
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
3
|
var $find = require('../internals/array-iteration').find;
|
|
4
4
|
var addToUnscopables = require('../internals/add-to-unscopables');
|
|
5
|
-
var arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');
|
|
6
5
|
|
|
7
6
|
var FIND = 'find';
|
|
8
7
|
var SKIPS_HOLES = true;
|
|
9
8
|
|
|
10
|
-
var USES_TO_LENGTH = arrayMethodUsesToLength(FIND);
|
|
11
|
-
|
|
12
9
|
// Shouldn't skip holes
|
|
13
10
|
if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });
|
|
14
11
|
|
|
15
12
|
// `Array.prototype.find` method
|
|
16
|
-
// https://tc39.
|
|
17
|
-
$({ target: 'Array', proto: true, forced: SKIPS_HOLES
|
|
13
|
+
// https://tc39.es/ecma262/#sec-array.prototype.find
|
|
14
|
+
$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {
|
|
18
15
|
find: function find(callbackfn /* , that = undefined */) {
|
|
19
16
|
return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
|
|
20
17
|
}
|
|
21
18
|
});
|
|
22
19
|
|
|
23
|
-
// https://tc39.
|
|
20
|
+
// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
|
|
24
21
|
addToUnscopables(FIND);
|
|
@@ -7,7 +7,7 @@ var aFunction = require('../internals/a-function');
|
|
|
7
7
|
var arraySpeciesCreate = require('../internals/array-species-create');
|
|
8
8
|
|
|
9
9
|
// `Array.prototype.flatMap` method
|
|
10
|
-
// https://
|
|
10
|
+
// https://tc39.es/ecma262/#sec-array.prototype.flatmap
|
|
11
11
|
$({ target: 'Array', proto: true }, {
|
|
12
12
|
flatMap: function flatMap(callbackfn /* , thisArg */) {
|
|
13
13
|
var O = toObject(this);
|
package/modules/es.array.flat.js
CHANGED
|
@@ -7,7 +7,7 @@ var toInteger = require('../internals/to-integer');
|
|
|
7
7
|
var arraySpeciesCreate = require('../internals/array-species-create');
|
|
8
8
|
|
|
9
9
|
// `Array.prototype.flat` method
|
|
10
|
-
// https://
|
|
10
|
+
// https://tc39.es/ecma262/#sec-array.prototype.flat
|
|
11
11
|
$({ target: 'Array', proto: true }, {
|
|
12
12
|
flat: function flat(/* depthArg = 1 */) {
|
|
13
13
|
var depthArg = arguments.length ? arguments[0] : undefined;
|
|
@@ -3,7 +3,7 @@ var $ = require('../internals/export');
|
|
|
3
3
|
var forEach = require('../internals/array-for-each');
|
|
4
4
|
|
|
5
5
|
// `Array.prototype.forEach` method
|
|
6
|
-
// https://tc39.
|
|
6
|
+
// https://tc39.es/ecma262/#sec-array.prototype.foreach
|
|
7
7
|
$({ target: 'Array', proto: true, forced: [].forEach != forEach }, {
|
|
8
8
|
forEach: forEach
|
|
9
9
|
});
|
package/modules/es.array.from.js
CHANGED
|
@@ -7,7 +7,7 @@ var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {
|
|
|
7
7
|
});
|
|
8
8
|
|
|
9
9
|
// `Array.from` method
|
|
10
|
-
// https://tc39.
|
|
10
|
+
// https://tc39.es/ecma262/#sec-array.from
|
|
11
11
|
$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {
|
|
12
12
|
from: from
|
|
13
13
|
});
|
|
@@ -2,17 +2,14 @@
|
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
3
|
var $includes = require('../internals/array-includes').includes;
|
|
4
4
|
var addToUnscopables = require('../internals/add-to-unscopables');
|
|
5
|
-
var arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');
|
|
6
|
-
|
|
7
|
-
var USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });
|
|
8
5
|
|
|
9
6
|
// `Array.prototype.includes` method
|
|
10
|
-
// https://tc39.
|
|
11
|
-
$({ target: 'Array', proto: true
|
|
7
|
+
// https://tc39.es/ecma262/#sec-array.prototype.includes
|
|
8
|
+
$({ target: 'Array', proto: true }, {
|
|
12
9
|
includes: function includes(el /* , fromIndex = 0 */) {
|
|
13
10
|
return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
|
|
14
11
|
}
|
|
15
12
|
});
|
|
16
13
|
|
|
17
|
-
// https://tc39.
|
|
14
|
+
// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
|
|
18
15
|
addToUnscopables('includes');
|
|
@@ -2,17 +2,15 @@
|
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
3
|
var $indexOf = require('../internals/array-includes').indexOf;
|
|
4
4
|
var arrayMethodIsStrict = require('../internals/array-method-is-strict');
|
|
5
|
-
var arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');
|
|
6
5
|
|
|
7
6
|
var nativeIndexOf = [].indexOf;
|
|
8
7
|
|
|
9
8
|
var NEGATIVE_ZERO = !!nativeIndexOf && 1 / [1].indexOf(1, -0) < 0;
|
|
10
9
|
var STRICT_METHOD = arrayMethodIsStrict('indexOf');
|
|
11
|
-
var USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });
|
|
12
10
|
|
|
13
11
|
// `Array.prototype.indexOf` method
|
|
14
|
-
// https://tc39.
|
|
15
|
-
$({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || !STRICT_METHOD
|
|
12
|
+
// https://tc39.es/ecma262/#sec-array.prototype.indexof
|
|
13
|
+
$({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || !STRICT_METHOD }, {
|
|
16
14
|
indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {
|
|
17
15
|
return NEGATIVE_ZERO
|
|
18
16
|
// convert -0 to +0
|
|
@@ -2,7 +2,7 @@ var $ = require('../internals/export');
|
|
|
2
2
|
var isArray = require('../internals/is-array');
|
|
3
3
|
|
|
4
4
|
// `Array.isArray` method
|
|
5
|
-
// https://tc39.
|
|
5
|
+
// https://tc39.es/ecma262/#sec-array.isarray
|
|
6
6
|
$({ target: 'Array', stat: true }, {
|
|
7
7
|
isArray: isArray
|
|
8
8
|
});
|
|
@@ -10,15 +10,15 @@ var setInternalState = InternalStateModule.set;
|
|
|
10
10
|
var getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);
|
|
11
11
|
|
|
12
12
|
// `Array.prototype.entries` method
|
|
13
|
-
// https://tc39.
|
|
13
|
+
// https://tc39.es/ecma262/#sec-array.prototype.entries
|
|
14
14
|
// `Array.prototype.keys` method
|
|
15
|
-
// https://tc39.
|
|
15
|
+
// https://tc39.es/ecma262/#sec-array.prototype.keys
|
|
16
16
|
// `Array.prototype.values` method
|
|
17
|
-
// https://tc39.
|
|
17
|
+
// https://tc39.es/ecma262/#sec-array.prototype.values
|
|
18
18
|
// `Array.prototype[@@iterator]` method
|
|
19
|
-
// https://tc39.
|
|
19
|
+
// https://tc39.es/ecma262/#sec-array.prototype-@@iterator
|
|
20
20
|
// `CreateArrayIterator` internal method
|
|
21
|
-
// https://tc39.
|
|
21
|
+
// https://tc39.es/ecma262/#sec-createarrayiterator
|
|
22
22
|
module.exports = defineIterator(Array, 'Array', function (iterated, kind) {
|
|
23
23
|
setInternalState(this, {
|
|
24
24
|
type: ARRAY_ITERATOR,
|
|
@@ -27,7 +27,7 @@ module.exports = defineIterator(Array, 'Array', function (iterated, kind) {
|
|
|
27
27
|
kind: kind // kind
|
|
28
28
|
});
|
|
29
29
|
// `%ArrayIteratorPrototype%.next` method
|
|
30
|
-
// https://tc39.
|
|
30
|
+
// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next
|
|
31
31
|
}, function () {
|
|
32
32
|
var state = getInternalState(this);
|
|
33
33
|
var target = state.target;
|
|
@@ -43,11 +43,11 @@ module.exports = defineIterator(Array, 'Array', function (iterated, kind) {
|
|
|
43
43
|
}, 'values');
|
|
44
44
|
|
|
45
45
|
// argumentsList[@@iterator] is %ArrayProto_values%
|
|
46
|
-
// https://tc39.
|
|
47
|
-
// https://tc39.
|
|
46
|
+
// https://tc39.es/ecma262/#sec-createunmappedargumentsobject
|
|
47
|
+
// https://tc39.es/ecma262/#sec-createmappedargumentsobject
|
|
48
48
|
Iterators.Arguments = Iterators.Array;
|
|
49
49
|
|
|
50
|
-
// https://tc39.
|
|
50
|
+
// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
|
|
51
51
|
addToUnscopables('keys');
|
|
52
52
|
addToUnscopables('values');
|
|
53
53
|
addToUnscopables('entries');
|
package/modules/es.array.join.js
CHANGED
|
@@ -10,7 +10,7 @@ var ES3_STRINGS = IndexedObject != Object;
|
|
|
10
10
|
var STRICT_METHOD = arrayMethodIsStrict('join', ',');
|
|
11
11
|
|
|
12
12
|
// `Array.prototype.join` method
|
|
13
|
-
// https://tc39.
|
|
13
|
+
// https://tc39.es/ecma262/#sec-array.prototype.join
|
|
14
14
|
$({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, {
|
|
15
15
|
join: function join(separator) {
|
|
16
16
|
return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);
|
|
@@ -2,7 +2,7 @@ var $ = require('../internals/export');
|
|
|
2
2
|
var lastIndexOf = require('../internals/array-last-index-of');
|
|
3
3
|
|
|
4
4
|
// `Array.prototype.lastIndexOf` method
|
|
5
|
-
// https://tc39.
|
|
5
|
+
// https://tc39.es/ecma262/#sec-array.prototype.lastindexof
|
|
6
6
|
$({ target: 'Array', proto: true, forced: lastIndexOf !== [].lastIndexOf }, {
|
|
7
7
|
lastIndexOf: lastIndexOf
|
|
8
8
|
});
|
package/modules/es.array.map.js
CHANGED
|
@@ -2,16 +2,13 @@
|
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
3
|
var $map = require('../internals/array-iteration').map;
|
|
4
4
|
var arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');
|
|
5
|
-
var arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');
|
|
6
5
|
|
|
7
6
|
var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');
|
|
8
|
-
// FF49- issue
|
|
9
|
-
var USES_TO_LENGTH = arrayMethodUsesToLength('map');
|
|
10
7
|
|
|
11
8
|
// `Array.prototype.map` method
|
|
12
|
-
// https://tc39.
|
|
9
|
+
// https://tc39.es/ecma262/#sec-array.prototype.map
|
|
13
10
|
// with adding support of @@species
|
|
14
|
-
$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT
|
|
11
|
+
$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {
|
|
15
12
|
map: function map(callbackfn /* , thisArg */) {
|
|
16
13
|
return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
|
|
17
14
|
}
|
package/modules/es.array.of.js
CHANGED
|
@@ -9,7 +9,7 @@ var ISNT_GENERIC = fails(function () {
|
|
|
9
9
|
});
|
|
10
10
|
|
|
11
11
|
// `Array.of` method
|
|
12
|
-
// https://tc39.
|
|
12
|
+
// https://tc39.es/ecma262/#sec-array.of
|
|
13
13
|
// WebKit Array.of isn't generic
|
|
14
14
|
$({ target: 'Array', stat: true, forced: ISNT_GENERIC }, {
|
|
15
15
|
of: function of(/* ...args */) {
|
|
@@ -2,20 +2,17 @@
|
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
3
|
var $reduceRight = require('../internals/array-reduce').right;
|
|
4
4
|
var arrayMethodIsStrict = require('../internals/array-method-is-strict');
|
|
5
|
-
var arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');
|
|
6
5
|
var CHROME_VERSION = require('../internals/engine-v8-version');
|
|
7
6
|
var IS_NODE = require('../internals/engine-is-node');
|
|
8
7
|
|
|
9
8
|
var STRICT_METHOD = arrayMethodIsStrict('reduceRight');
|
|
10
|
-
// For preventing possible almost infinite loop in non-standard implementations, test the forward version of the method
|
|
11
|
-
var USES_TO_LENGTH = arrayMethodUsesToLength('reduce', { 1: 0 });
|
|
12
9
|
// Chrome 80-82 has a critical bug
|
|
13
10
|
// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982
|
|
14
11
|
var CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;
|
|
15
12
|
|
|
16
13
|
// `Array.prototype.reduceRight` method
|
|
17
|
-
// https://tc39.
|
|
18
|
-
$({ target: 'Array', proto: true, forced: !STRICT_METHOD ||
|
|
14
|
+
// https://tc39.es/ecma262/#sec-array.prototype.reduceright
|
|
15
|
+
$({ target: 'Array', proto: true, forced: !STRICT_METHOD || CHROME_BUG }, {
|
|
19
16
|
reduceRight: function reduceRight(callbackfn /* , initialValue */) {
|
|
20
17
|
return $reduceRight(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);
|
|
21
18
|
}
|
|
@@ -2,19 +2,17 @@
|
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
3
|
var $reduce = require('../internals/array-reduce').left;
|
|
4
4
|
var arrayMethodIsStrict = require('../internals/array-method-is-strict');
|
|
5
|
-
var arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');
|
|
6
5
|
var CHROME_VERSION = require('../internals/engine-v8-version');
|
|
7
6
|
var IS_NODE = require('../internals/engine-is-node');
|
|
8
7
|
|
|
9
8
|
var STRICT_METHOD = arrayMethodIsStrict('reduce');
|
|
10
|
-
var USES_TO_LENGTH = arrayMethodUsesToLength('reduce', { 1: 0 });
|
|
11
9
|
// Chrome 80-82 has a critical bug
|
|
12
10
|
// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982
|
|
13
11
|
var CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;
|
|
14
12
|
|
|
15
13
|
// `Array.prototype.reduce` method
|
|
16
|
-
// https://tc39.
|
|
17
|
-
$({ target: 'Array', proto: true, forced: !STRICT_METHOD ||
|
|
14
|
+
// https://tc39.es/ecma262/#sec-array.prototype.reduce
|
|
15
|
+
$({ target: 'Array', proto: true, forced: !STRICT_METHOD || CHROME_BUG }, {
|
|
18
16
|
reduce: function reduce(callbackfn /* , initialValue */) {
|
|
19
17
|
return $reduce(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);
|
|
20
18
|
}
|
|
@@ -6,12 +6,12 @@ var nativeReverse = [].reverse;
|
|
|
6
6
|
var test = [1, 2];
|
|
7
7
|
|
|
8
8
|
// `Array.prototype.reverse` method
|
|
9
|
-
// https://tc39.
|
|
9
|
+
// https://tc39.es/ecma262/#sec-array.prototype.reverse
|
|
10
10
|
// fix for Safari 12.0 bug
|
|
11
11
|
// https://bugs.webkit.org/show_bug.cgi?id=188794
|
|
12
12
|
$({ target: 'Array', proto: true, forced: String(test) === String(test.reverse()) }, {
|
|
13
13
|
reverse: function reverse() {
|
|
14
|
-
// eslint-disable-next-line no-self-assign
|
|
14
|
+
// eslint-disable-next-line no-self-assign -- dirty hack
|
|
15
15
|
if (isArray(this)) this.length = this.length;
|
|
16
16
|
return nativeReverse.call(this);
|
|
17
17
|
}
|
|
@@ -8,19 +8,17 @@ var toIndexedObject = require('../internals/to-indexed-object');
|
|
|
8
8
|
var createProperty = require('../internals/create-property');
|
|
9
9
|
var wellKnownSymbol = require('../internals/well-known-symbol');
|
|
10
10
|
var arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');
|
|
11
|
-
var arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');
|
|
12
11
|
|
|
13
12
|
var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');
|
|
14
|
-
var USES_TO_LENGTH = arrayMethodUsesToLength('slice', { ACCESSORS: true, 0: 0, 1: 2 });
|
|
15
13
|
|
|
16
14
|
var SPECIES = wellKnownSymbol('species');
|
|
17
15
|
var nativeSlice = [].slice;
|
|
18
16
|
var max = Math.max;
|
|
19
17
|
|
|
20
18
|
// `Array.prototype.slice` method
|
|
21
|
-
// https://tc39.
|
|
19
|
+
// https://tc39.es/ecma262/#sec-array.prototype.slice
|
|
22
20
|
// fallback for not array-like ES3 strings and DOM objects
|
|
23
|
-
$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT
|
|
21
|
+
$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {
|
|
24
22
|
slice: function slice(start, end) {
|
|
25
23
|
var O = toIndexedObject(this);
|
|
26
24
|
var length = toLength(O.length);
|
package/modules/es.array.some.js
CHANGED
|
@@ -2,14 +2,12 @@
|
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
3
|
var $some = require('../internals/array-iteration').some;
|
|
4
4
|
var arrayMethodIsStrict = require('../internals/array-method-is-strict');
|
|
5
|
-
var arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');
|
|
6
5
|
|
|
7
6
|
var STRICT_METHOD = arrayMethodIsStrict('some');
|
|
8
|
-
var USES_TO_LENGTH = arrayMethodUsesToLength('some');
|
|
9
7
|
|
|
10
8
|
// `Array.prototype.some` method
|
|
11
|
-
// https://tc39.
|
|
12
|
-
$({ target: 'Array', proto: true, forced: !STRICT_METHOD
|
|
9
|
+
// https://tc39.es/ecma262/#sec-array.prototype.some
|
|
10
|
+
$({ target: 'Array', proto: true, forced: !STRICT_METHOD }, {
|
|
13
11
|
some: function some(callbackfn /* , thisArg */) {
|
|
14
12
|
return $some(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
|
|
15
13
|
}
|
package/modules/es.array.sort.js
CHANGED
|
@@ -22,7 +22,7 @@ var STRICT_METHOD = arrayMethodIsStrict('sort');
|
|
|
22
22
|
var FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD;
|
|
23
23
|
|
|
24
24
|
// `Array.prototype.sort` method
|
|
25
|
-
// https://tc39.
|
|
25
|
+
// https://tc39.es/ecma262/#sec-array.prototype.sort
|
|
26
26
|
$({ target: 'Array', proto: true, forced: FORCED }, {
|
|
27
27
|
sort: function sort(comparefn) {
|
|
28
28
|
return comparefn === undefined
|
|
@@ -7,10 +7,8 @@ var toObject = require('../internals/to-object');
|
|
|
7
7
|
var arraySpeciesCreate = require('../internals/array-species-create');
|
|
8
8
|
var createProperty = require('../internals/create-property');
|
|
9
9
|
var arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');
|
|
10
|
-
var arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');
|
|
11
10
|
|
|
12
11
|
var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice');
|
|
13
|
-
var USES_TO_LENGTH = arrayMethodUsesToLength('splice', { ACCESSORS: true, 0: 0, 1: 2 });
|
|
14
12
|
|
|
15
13
|
var max = Math.max;
|
|
16
14
|
var min = Math.min;
|
|
@@ -18,9 +16,9 @@ var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
|
|
|
18
16
|
var MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded';
|
|
19
17
|
|
|
20
18
|
// `Array.prototype.splice` method
|
|
21
|
-
// https://tc39.
|
|
19
|
+
// https://tc39.es/ecma262/#sec-array.prototype.splice
|
|
22
20
|
// with adding support of @@species
|
|
23
|
-
$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT
|
|
21
|
+
$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {
|
|
24
22
|
splice: function splice(start, deleteCount /* , ...items */) {
|
|
25
23
|
var O = toObject(this);
|
|
26
24
|
var len = toLength(O.length);
|
package/modules/es.data-view.js
CHANGED
|
@@ -3,7 +3,7 @@ var ArrayBufferModule = require('../internals/array-buffer');
|
|
|
3
3
|
var NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');
|
|
4
4
|
|
|
5
5
|
// `DataView` constructor
|
|
6
|
-
// https://tc39.
|
|
6
|
+
// https://tc39.es/ecma262/#sec-dataview-constructor
|
|
7
7
|
$({ global: true, forced: !NATIVE_ARRAY_BUFFER }, {
|
|
8
8
|
DataView: ArrayBufferModule.DataView
|
|
9
9
|
});
|