core-js 3.8.0 → 3.9.0
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 +14 -3
- 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 +1 -1
- 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/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/range-iterator.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/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 +5 -3
- 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 +1 -1
- package/modules/esnext.map.merge.js +1 -1
- 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 +3 -2
- 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/ieee754.js
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
// IEEE754 conversions based on https://github.com/feross/ieee754
|
|
2
|
-
// eslint-disable-next-line no-shadow-restricted-names
|
|
3
|
-
var Infinity = 1 / 0;
|
|
4
2
|
var abs = Math.abs;
|
|
5
3
|
var pow = Math.pow;
|
|
6
4
|
var floor = Math.floor;
|
|
@@ -17,9 +15,9 @@ var pack = function (number, mantissaLength, bytes) {
|
|
|
17
15
|
var index = 0;
|
|
18
16
|
var exponent, mantissa, c;
|
|
19
17
|
number = abs(number);
|
|
20
|
-
// eslint-disable-next-line no-self-compare
|
|
18
|
+
// eslint-disable-next-line no-self-compare -- NaN check
|
|
21
19
|
if (number != number || number === Infinity) {
|
|
22
|
-
// eslint-disable-next-line no-self-compare
|
|
20
|
+
// eslint-disable-next-line no-self-compare -- NaN check
|
|
23
21
|
mantissa = number != number ? 1 : 0;
|
|
24
22
|
exponent = eMax;
|
|
25
23
|
} else {
|
|
@@ -6,7 +6,7 @@ var split = ''.split;
|
|
|
6
6
|
// fallback for non-array-like ES3 and non-enumerable old V8 strings
|
|
7
7
|
module.exports = fails(function () {
|
|
8
8
|
// throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
|
|
9
|
-
// eslint-disable-next-line no-prototype-builtins
|
|
9
|
+
// eslint-disable-next-line no-prototype-builtins -- safe
|
|
10
10
|
return !Object('z').propertyIsEnumerable(0);
|
|
11
11
|
}) ? function (it) {
|
|
12
12
|
return classof(it) == 'String' ? split.call(it, '') : Object(it);
|
package/internals/is-array.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
var classof = require('../internals/classof-raw');
|
|
2
2
|
|
|
3
3
|
// `IsArray` abstract operation
|
|
4
|
-
// https://tc39.
|
|
4
|
+
// https://tc39.es/ecma262/#sec-isarray
|
|
5
5
|
module.exports = Array.isArray || function isArray(arg) {
|
|
6
6
|
return classof(arg) == 'Array';
|
|
7
7
|
};
|
package/internals/is-integer.js
CHANGED
|
@@ -3,7 +3,7 @@ var isObject = require('../internals/is-object');
|
|
|
3
3
|
var floor = Math.floor;
|
|
4
4
|
|
|
5
5
|
// `Number.isInteger` method implementation
|
|
6
|
-
// https://tc39.
|
|
6
|
+
// https://tc39.es/ecma262/#sec-number.isinteger
|
|
7
7
|
module.exports = function isInteger(it) {
|
|
8
8
|
return !isObject(it) && isFinite(it) && floor(it) === it;
|
|
9
9
|
};
|
package/internals/is-iterable.js
CHANGED
|
@@ -8,6 +8,6 @@ module.exports = function (it) {
|
|
|
8
8
|
var O = Object(it);
|
|
9
9
|
return O[ITERATOR] !== undefined
|
|
10
10
|
|| '@@iterator' in O
|
|
11
|
-
// eslint-disable-next-line no-prototype-builtins
|
|
11
|
+
// eslint-disable-next-line no-prototype-builtins -- safe
|
|
12
12
|
|| Iterators.hasOwnProperty(classof(O));
|
|
13
13
|
};
|
package/internals/is-regexp.js
CHANGED
|
@@ -5,7 +5,7 @@ var wellKnownSymbol = require('../internals/well-known-symbol');
|
|
|
5
5
|
var MATCH = wellKnownSymbol('match');
|
|
6
6
|
|
|
7
7
|
// `IsRegExp` abstract operation
|
|
8
|
-
// https://tc39.
|
|
8
|
+
// https://tc39.es/ecma262/#sec-isregexp
|
|
9
9
|
module.exports = function (it) {
|
|
10
10
|
var isRegExp;
|
|
11
11
|
return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
+
var fails = require('../internals/fails');
|
|
2
3
|
var getPrototypeOf = require('../internals/object-get-prototype-of');
|
|
3
4
|
var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
|
|
4
5
|
var has = require('../internals/has');
|
|
@@ -11,7 +12,7 @@ var BUGGY_SAFARI_ITERATORS = false;
|
|
|
11
12
|
var returnThis = function () { return this; };
|
|
12
13
|
|
|
13
14
|
// `%IteratorPrototype%` object
|
|
14
|
-
// https://tc39.
|
|
15
|
+
// https://tc39.es/ecma262/#sec-%iteratorprototype%-object
|
|
15
16
|
var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;
|
|
16
17
|
|
|
17
18
|
if ([].keys) {
|
|
@@ -24,10 +25,16 @@ if ([].keys) {
|
|
|
24
25
|
}
|
|
25
26
|
}
|
|
26
27
|
|
|
27
|
-
|
|
28
|
+
var NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () {
|
|
29
|
+
var test = {};
|
|
30
|
+
// FF44- legacy iterators case
|
|
31
|
+
return IteratorPrototype[ITERATOR].call(test) !== test;
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
if (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};
|
|
28
35
|
|
|
29
36
|
// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
|
|
30
|
-
if (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {
|
|
37
|
+
if ((!IS_PURE || NEW_ITERATOR_PROTOTYPE) && !has(IteratorPrototype, ITERATOR)) {
|
|
31
38
|
createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);
|
|
32
39
|
}
|
|
33
40
|
|
package/internals/math-expm1.js
CHANGED
|
@@ -2,7 +2,7 @@ var nativeExpm1 = Math.expm1;
|
|
|
2
2
|
var exp = Math.exp;
|
|
3
3
|
|
|
4
4
|
// `Math.expm1` method implementation
|
|
5
|
-
// https://tc39.
|
|
5
|
+
// https://tc39.es/ecma262/#sec-math.expm1
|
|
6
6
|
module.exports = (!nativeExpm1
|
|
7
7
|
// Old FF bug
|
|
8
8
|
|| nativeExpm1(10) > 22025.465794806719 || nativeExpm1(10) < 22025.4657948067165168
|
package/internals/math-fround.js
CHANGED
|
@@ -12,7 +12,7 @@ var roundTiesToEven = function (n) {
|
|
|
12
12
|
};
|
|
13
13
|
|
|
14
14
|
// `Math.fround` method implementation
|
|
15
|
-
// https://tc39.
|
|
15
|
+
// https://tc39.es/ecma262/#sec-math.fround
|
|
16
16
|
module.exports = Math.fround || function fround(x) {
|
|
17
17
|
var $abs = abs(x);
|
|
18
18
|
var $sign = sign(x);
|
|
@@ -20,7 +20,7 @@ module.exports = Math.fround || function fround(x) {
|
|
|
20
20
|
if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;
|
|
21
21
|
a = (1 + EPSILON32 / EPSILON) * $abs;
|
|
22
22
|
result = a - (a - $abs);
|
|
23
|
-
// eslint-disable-next-line no-self-compare
|
|
23
|
+
// eslint-disable-next-line no-self-compare -- NaN check
|
|
24
24
|
if (result > MAX32 || result != result) return $sign * Infinity;
|
|
25
25
|
return $sign * result;
|
|
26
26
|
};
|
package/internals/math-log1p.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
var log = Math.log;
|
|
2
2
|
|
|
3
3
|
// `Math.log1p` method implementation
|
|
4
|
-
// https://tc39.
|
|
4
|
+
// https://tc39.es/ecma262/#sec-math.log1p
|
|
5
5
|
module.exports = Math.log1p || function log1p(x) {
|
|
6
6
|
return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : log(1 + x);
|
|
7
7
|
};
|
package/internals/math-scale.js
CHANGED
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
module.exports = Math.scale || function scale(x, inLow, inHigh, outLow, outHigh) {
|
|
4
4
|
if (
|
|
5
5
|
arguments.length === 0
|
|
6
|
-
/* eslint-disable no-self-compare */
|
|
6
|
+
/* eslint-disable no-self-compare -- NaN check */
|
|
7
7
|
|| x != x
|
|
8
8
|
|| inLow != inLow
|
|
9
9
|
|| inHigh != inHigh
|
|
10
10
|
|| outLow != outLow
|
|
11
11
|
|| outHigh != outHigh
|
|
12
|
-
/* eslint-enable no-self-compare */
|
|
12
|
+
/* eslint-enable no-self-compare -- NaN check */
|
|
13
13
|
) return NaN;
|
|
14
14
|
if (x === Infinity || x === -Infinity) return x;
|
|
15
15
|
return (x - inLow) * (outHigh - outLow) / (inHigh - inLow) + outLow;
|
package/internals/math-sign.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// `Math.sign` method implementation
|
|
2
|
-
// https://tc39.
|
|
2
|
+
// https://tc39.es/ecma262/#sec-math.sign
|
|
3
3
|
module.exports = Math.sign || function sign(x) {
|
|
4
|
-
// eslint-disable-next-line no-self-compare
|
|
4
|
+
// eslint-disable-next-line no-self-compare -- NaN check
|
|
5
5
|
return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;
|
|
6
6
|
};
|
package/internals/microtask.js
CHANGED
|
@@ -2,6 +2,7 @@ var global = require('../internals/global');
|
|
|
2
2
|
var getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;
|
|
3
3
|
var macrotask = require('../internals/task').set;
|
|
4
4
|
var IS_IOS = require('../internals/engine-is-ios');
|
|
5
|
+
var IS_WEBOS_WEBKIT = require('../internals/engine-is-webos-webkit');
|
|
5
6
|
var IS_NODE = require('../internals/engine-is-node');
|
|
6
7
|
|
|
7
8
|
var MutationObserver = global.MutationObserver || global.WebKitMutationObserver;
|
|
@@ -34,7 +35,8 @@ if (!queueMicrotask) {
|
|
|
34
35
|
};
|
|
35
36
|
|
|
36
37
|
// browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339
|
|
37
|
-
|
|
38
|
+
// also except WebOS Webkit https://github.com/zloirock/core-js/issues/898
|
|
39
|
+
if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {
|
|
38
40
|
toggle = true;
|
|
39
41
|
node = document.createTextNode('');
|
|
40
42
|
new MutationObserver(flush).observe(node, { characterData: true });
|
|
@@ -2,6 +2,6 @@ var fails = require('../internals/fails');
|
|
|
2
2
|
|
|
3
3
|
module.exports = !!Object.getOwnPropertySymbols && !fails(function () {
|
|
4
4
|
// Chrome 38 Symbol has incorrect toString conversion
|
|
5
|
-
|
|
5
|
+
/* global Symbol -- required for testing */
|
|
6
6
|
return !String(Symbol());
|
|
7
7
|
});
|
|
@@ -3,7 +3,7 @@ var global = require('../internals/global');
|
|
|
3
3
|
var globalIsFinite = global.isFinite;
|
|
4
4
|
|
|
5
5
|
// `Number.isFinite` method
|
|
6
|
-
// https://tc39.
|
|
6
|
+
// https://tc39.es/ecma262/#sec-number.isfinite
|
|
7
7
|
module.exports = Number.isFinite || function isFinite(it) {
|
|
8
8
|
return typeof it == 'number' && globalIsFinite(it);
|
|
9
9
|
};
|
|
@@ -6,7 +6,7 @@ var $parseFloat = global.parseFloat;
|
|
|
6
6
|
var FORCED = 1 / $parseFloat(whitespaces + '-0') !== -Infinity;
|
|
7
7
|
|
|
8
8
|
// `parseFloat` method
|
|
9
|
-
// https://tc39.
|
|
9
|
+
// https://tc39.es/ecma262/#sec-parsefloat-string
|
|
10
10
|
module.exports = FORCED ? function parseFloat(string) {
|
|
11
11
|
var trimmedString = trim(String(string));
|
|
12
12
|
var result = $parseFloat(trimmedString);
|
|
@@ -7,7 +7,7 @@ var hex = /^[+-]?0[Xx]/;
|
|
|
7
7
|
var FORCED = $parseInt(whitespaces + '08') !== 8 || $parseInt(whitespaces + '0x16') !== 22;
|
|
8
8
|
|
|
9
9
|
// `parseInt` method
|
|
10
|
-
// https://tc39.
|
|
10
|
+
// https://tc39.es/ecma262/#sec-parseint-string-radix
|
|
11
11
|
module.exports = FORCED ? function parseInt(string, radix) {
|
|
12
12
|
var S = trim(String(string));
|
|
13
13
|
return $parseInt(S, (radix >>> 0) || (hex.test(S) ? 16 : 10));
|
|
@@ -11,7 +11,7 @@ var nativeAssign = Object.assign;
|
|
|
11
11
|
var defineProperty = Object.defineProperty;
|
|
12
12
|
|
|
13
13
|
// `Object.assign` method
|
|
14
|
-
// https://tc39.
|
|
14
|
+
// https://tc39.es/ecma262/#sec-object.assign
|
|
15
15
|
module.exports = !nativeAssign || fails(function () {
|
|
16
16
|
// should have correct order of operations (Edge bug)
|
|
17
17
|
if (DESCRIPTORS && nativeAssign({ b: 1 }, nativeAssign(defineProperty({}, 'a', {
|
|
@@ -26,13 +26,13 @@ module.exports = !nativeAssign || fails(function () {
|
|
|
26
26
|
// should work with symbols and should have deterministic property order (V8 bug)
|
|
27
27
|
var A = {};
|
|
28
28
|
var B = {};
|
|
29
|
-
|
|
29
|
+
/* global Symbol -- required for testing */
|
|
30
30
|
var symbol = Symbol();
|
|
31
31
|
var alphabet = 'abcdefghijklmnopqrst';
|
|
32
32
|
A[symbol] = 7;
|
|
33
33
|
alphabet.split('').forEach(function (chr) { B[chr] = chr; });
|
|
34
34
|
return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;
|
|
35
|
-
}) ? function assign(target, source) { // eslint-disable-line no-unused-vars
|
|
35
|
+
}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`
|
|
36
36
|
var T = toObject(target);
|
|
37
37
|
var argumentsLength = arguments.length;
|
|
38
38
|
var index = 1;
|
|
@@ -52,7 +52,7 @@ var NullProtoObjectViaIFrame = function () {
|
|
|
52
52
|
var activeXDocument;
|
|
53
53
|
var NullProtoObject = function () {
|
|
54
54
|
try {
|
|
55
|
-
/* global ActiveXObject */
|
|
55
|
+
/* global ActiveXObject -- old IE */
|
|
56
56
|
activeXDocument = document.domain && new ActiveXObject('htmlfile');
|
|
57
57
|
} catch (error) { /* ignore */ }
|
|
58
58
|
NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();
|
|
@@ -64,7 +64,7 @@ var NullProtoObject = function () {
|
|
|
64
64
|
hiddenKeys[IE_PROTO] = true;
|
|
65
65
|
|
|
66
66
|
// `Object.create` method
|
|
67
|
-
// https://tc39.
|
|
67
|
+
// https://tc39.es/ecma262/#sec-object.create
|
|
68
68
|
module.exports = Object.create || function create(O, Properties) {
|
|
69
69
|
var result;
|
|
70
70
|
if (O !== null) {
|
|
@@ -4,7 +4,7 @@ var anObject = require('../internals/an-object');
|
|
|
4
4
|
var objectKeys = require('../internals/object-keys');
|
|
5
5
|
|
|
6
6
|
// `Object.defineProperties` method
|
|
7
|
-
// https://tc39.
|
|
7
|
+
// https://tc39.es/ecma262/#sec-object.defineproperties
|
|
8
8
|
module.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {
|
|
9
9
|
anObject(O);
|
|
10
10
|
var keys = objectKeys(Properties);
|
|
@@ -6,7 +6,7 @@ var toPrimitive = require('../internals/to-primitive');
|
|
|
6
6
|
var nativeDefineProperty = Object.defineProperty;
|
|
7
7
|
|
|
8
8
|
// `Object.defineProperty` method
|
|
9
|
-
// https://tc39.
|
|
9
|
+
// https://tc39.es/ecma262/#sec-object.defineproperty
|
|
10
10
|
exports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
|
|
11
11
|
anObject(O);
|
|
12
12
|
P = toPrimitive(P, true);
|
|
@@ -9,7 +9,7 @@ var IE8_DOM_DEFINE = require('../internals/ie8-dom-define');
|
|
|
9
9
|
var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
|
|
10
10
|
|
|
11
11
|
// `Object.getOwnPropertyDescriptor` method
|
|
12
|
-
// https://tc39.
|
|
12
|
+
// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor
|
|
13
13
|
exports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
|
|
14
14
|
O = toIndexedObject(O);
|
|
15
15
|
P = toPrimitive(P, true);
|
|
@@ -4,7 +4,7 @@ var enumBugKeys = require('../internals/enum-bug-keys');
|
|
|
4
4
|
var hiddenKeys = enumBugKeys.concat('length', 'prototype');
|
|
5
5
|
|
|
6
6
|
// `Object.getOwnPropertyNames` method
|
|
7
|
-
// https://tc39.
|
|
7
|
+
// https://tc39.es/ecma262/#sec-object.getownpropertynames
|
|
8
8
|
exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
|
|
9
9
|
return internalObjectKeys(O, hiddenKeys);
|
|
10
10
|
};
|
|
@@ -7,7 +7,7 @@ var IE_PROTO = sharedKey('IE_PROTO');
|
|
|
7
7
|
var ObjectPrototype = Object.prototype;
|
|
8
8
|
|
|
9
9
|
// `Object.getPrototypeOf` method
|
|
10
|
-
// https://tc39.
|
|
10
|
+
// https://tc39.es/ecma262/#sec-object.getprototypeof
|
|
11
11
|
module.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {
|
|
12
12
|
O = toObject(O);
|
|
13
13
|
if (has(O, IE_PROTO)) return O[IE_PROTO];
|
package/internals/object-keys.js
CHANGED
|
@@ -2,7 +2,7 @@ var internalObjectKeys = require('../internals/object-keys-internal');
|
|
|
2
2
|
var enumBugKeys = require('../internals/enum-bug-keys');
|
|
3
3
|
|
|
4
4
|
// `Object.keys` method
|
|
5
|
-
// https://tc39.
|
|
5
|
+
// https://tc39.es/ecma262/#sec-object.keys
|
|
6
6
|
module.exports = Object.keys || function keys(O) {
|
|
7
7
|
return internalObjectKeys(O, enumBugKeys);
|
|
8
8
|
};
|
|
@@ -6,7 +6,7 @@ var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
|
|
|
6
6
|
var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
|
|
7
7
|
|
|
8
8
|
// `Object.prototype.propertyIsEnumerable` method implementation
|
|
9
|
-
// https://tc39.
|
|
9
|
+
// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable
|
|
10
10
|
exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
|
|
11
11
|
var descriptor = getOwnPropertyDescriptor(this, V);
|
|
12
12
|
return !!descriptor && descriptor.enumerable;
|
|
@@ -7,7 +7,7 @@ var fails = require('../internals/fails');
|
|
|
7
7
|
module.exports = IS_PURE || !fails(function () {
|
|
8
8
|
var key = Math.random();
|
|
9
9
|
// In FF throws only define methods
|
|
10
|
-
// eslint-disable-next-line no-undef, no-useless-call
|
|
10
|
+
// eslint-disable-next-line no-undef, no-useless-call -- required for testing
|
|
11
11
|
__defineSetter__.call(null, key, function () { /* empty */ });
|
|
12
12
|
delete global[key];
|
|
13
13
|
});
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
+
/* eslint-disable no-proto -- safe */
|
|
1
2
|
var anObject = require('../internals/an-object');
|
|
2
3
|
var aPossiblePrototype = require('../internals/a-possible-prototype');
|
|
3
4
|
|
|
4
5
|
// `Object.setPrototypeOf` method
|
|
5
|
-
// https://tc39.
|
|
6
|
+
// https://tc39.es/ecma262/#sec-object.setprototypeof
|
|
6
7
|
// Works with __proto__ only. Old v8 can't work with null proto objects.
|
|
7
|
-
/* eslint-disable no-proto */
|
|
8
8
|
module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {
|
|
9
9
|
var CORRECT_SETTER = false;
|
|
10
10
|
var test = {};
|
|
@@ -24,9 +24,9 @@ var createMethod = function (TO_ENTRIES) {
|
|
|
24
24
|
|
|
25
25
|
module.exports = {
|
|
26
26
|
// `Object.entries` method
|
|
27
|
-
// https://tc39.
|
|
27
|
+
// https://tc39.es/ecma262/#sec-object.entries
|
|
28
28
|
entries: createMethod(true),
|
|
29
29
|
// `Object.values` method
|
|
30
|
-
// https://tc39.
|
|
30
|
+
// https://tc39.es/ecma262/#sec-object.values
|
|
31
31
|
values: createMethod(false)
|
|
32
32
|
};
|
|
@@ -3,7 +3,7 @@ var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');
|
|
|
3
3
|
var classof = require('../internals/classof');
|
|
4
4
|
|
|
5
5
|
// `Object.prototype.toString` method implementation
|
|
6
|
-
// https://tc39.
|
|
6
|
+
// https://tc39.es/ecma262/#sec-object.prototype.tostring
|
|
7
7
|
module.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {
|
|
8
8
|
return '[object ' + classof(this) + ']';
|
|
9
9
|
};
|
|
@@ -40,7 +40,7 @@ var $RangeIterator = createIteratorConstructor(function RangeIterator(start, end
|
|
|
40
40
|
if (step === Infinity || step === -Infinity || (step === zero && start !== end)) {
|
|
41
41
|
throw new RangeError(INCORRECT_RANGE);
|
|
42
42
|
}
|
|
43
|
-
// eslint-disable-next-line no-self-compare
|
|
43
|
+
// eslint-disable-next-line no-self-compare -- NaN check
|
|
44
44
|
var hitsEnd = start != start || end != end || step != step || (end > start) !== (step > zero);
|
|
45
45
|
setInternalState(this, {
|
|
46
46
|
type: RANGE_ITERATOR,
|
|
@@ -2,7 +2,7 @@ var classof = require('./classof-raw');
|
|
|
2
2
|
var regexpExec = require('./regexp-exec');
|
|
3
3
|
|
|
4
4
|
// `RegExpExec` abstract operation
|
|
5
|
-
// https://tc39.
|
|
5
|
+
// https://tc39.es/ecma262/#sec-regexpexec
|
|
6
6
|
module.exports = function (R, S) {
|
|
7
7
|
var exec = R.exec;
|
|
8
8
|
if (typeof exec === 'function') {
|
package/internals/regexp-exec.js
CHANGED
|
@@ -21,6 +21,7 @@ var UPDATES_LAST_INDEX_WRONG = (function () {
|
|
|
21
21
|
var UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET;
|
|
22
22
|
|
|
23
23
|
// nonparticipating capturing group, copied from es5-shim's String#split patch.
|
|
24
|
+
// eslint-disable-next-line regexp/no-assertion-capturing-group, regexp/no-empty-group -- required for testing
|
|
24
25
|
var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
|
|
25
26
|
|
|
26
27
|
var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
var anObject = require('../internals/an-object');
|
|
3
3
|
|
|
4
4
|
// `RegExp.prototype.flags` getter implementation
|
|
5
|
-
// https://tc39.
|
|
5
|
+
// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags
|
|
6
6
|
module.exports = function () {
|
|
7
7
|
var that = anObject(this);
|
|
8
8
|
var result = '';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// `RequireObjectCoercible` abstract operation
|
|
2
|
-
// https://tc39.
|
|
2
|
+
// https://tc39.es/ecma262/#sec-requireobjectcoercible
|
|
3
3
|
module.exports = function (it) {
|
|
4
4
|
if (it == undefined) throw TypeError("Can't call method on " + it);
|
|
5
5
|
return it;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// `SameValueZero` abstract operation
|
|
2
|
-
// https://tc39.
|
|
2
|
+
// https://tc39.es/ecma262/#sec-samevaluezero
|
|
3
3
|
module.exports = function (x, y) {
|
|
4
|
-
// eslint-disable-next-line no-self-compare
|
|
4
|
+
// eslint-disable-next-line no-self-compare -- NaN check
|
|
5
5
|
return x === y || x != x && y != y;
|
|
6
6
|
};
|
package/internals/same-value.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// `SameValue` abstract operation
|
|
2
|
-
// https://tc39.
|
|
2
|
+
// https://tc39.es/ecma262/#sec-samevalue
|
|
3
3
|
module.exports = Object.is || function is(x, y) {
|
|
4
|
-
// eslint-disable-next-line no-self-compare
|
|
4
|
+
// eslint-disable-next-line no-self-compare -- NaN check
|
|
5
5
|
return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;
|
|
6
6
|
};
|
package/internals/shared.js
CHANGED
|
@@ -4,7 +4,7 @@ var store = require('../internals/shared-store');
|
|
|
4
4
|
(module.exports = function (key, value) {
|
|
5
5
|
return store[key] || (store[key] = value !== undefined ? value : {});
|
|
6
6
|
})('versions', []).push({
|
|
7
|
-
version: '3.
|
|
7
|
+
version: '3.9.0',
|
|
8
8
|
mode: IS_PURE ? 'pure' : 'global',
|
|
9
|
-
copyright: '©
|
|
9
|
+
copyright: '© 2021 Denis Pushkarev (zloirock.ru)'
|
|
10
10
|
});
|
|
@@ -5,7 +5,7 @@ var wellKnownSymbol = require('../internals/well-known-symbol');
|
|
|
5
5
|
var SPECIES = wellKnownSymbol('species');
|
|
6
6
|
|
|
7
7
|
// `SpeciesConstructor` abstract operation
|
|
8
|
-
// https://tc39.
|
|
8
|
+
// https://tc39.es/ecma262/#sec-speciesconstructor
|
|
9
9
|
module.exports = function (O, defaultConstructor) {
|
|
10
10
|
var C = anObject(O).constructor;
|
|
11
11
|
var S;
|
|
@@ -19,7 +19,7 @@ var createMethod = function (CONVERT_TO_STRING) {
|
|
|
19
19
|
|
|
20
20
|
module.exports = {
|
|
21
21
|
// `String.prototype.codePointAt` method
|
|
22
|
-
// https://tc39.
|
|
22
|
+
// https://tc39.es/ecma262/#sec-string.prototype.codepointat
|
|
23
23
|
codeAt: createMethod(false),
|
|
24
24
|
// `String.prototype.at` method
|
|
25
25
|
// https://github.com/mathiasbynens/String.prototype.at
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// https://github.com/zloirock/core-js/issues/280
|
|
2
2
|
var userAgent = require('../internals/engine-user-agent');
|
|
3
3
|
|
|
4
|
-
// eslint-disable-next-line unicorn/no-unsafe-regex
|
|
4
|
+
// eslint-disable-next-line unicorn/no-unsafe-regex -- safe
|
|
5
5
|
module.exports = /Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(userAgent);
|
package/internals/string-pad.js
CHANGED
|
@@ -23,9 +23,9 @@ var createMethod = function (IS_END) {
|
|
|
23
23
|
|
|
24
24
|
module.exports = {
|
|
25
25
|
// `String.prototype.padStart` method
|
|
26
|
-
// https://tc39.
|
|
26
|
+
// https://tc39.es/ecma262/#sec-string.prototype.padstart
|
|
27
27
|
start: createMethod(false),
|
|
28
28
|
// `String.prototype.padEnd` method
|
|
29
|
-
// https://tc39.
|
|
29
|
+
// https://tc39.es/ecma262/#sec-string.prototype.padend
|
|
30
30
|
end: createMethod(true)
|
|
31
31
|
};
|
|
@@ -74,7 +74,7 @@ var adapt = function (delta, numPoints, firstTime) {
|
|
|
74
74
|
* Converts a string of Unicode symbols (e.g. a domain name label) to a
|
|
75
75
|
* Punycode string of ASCII-only symbols.
|
|
76
76
|
*/
|
|
77
|
-
// eslint-disable-next-line
|
|
77
|
+
// eslint-disable-next-line max-statements -- TODO
|
|
78
78
|
var encode = function (input) {
|
|
79
79
|
var output = [];
|
|
80
80
|
|
|
@@ -3,7 +3,7 @@ var toInteger = require('../internals/to-integer');
|
|
|
3
3
|
var requireObjectCoercible = require('../internals/require-object-coercible');
|
|
4
4
|
|
|
5
5
|
// `String.prototype.repeat` method implementation
|
|
6
|
-
// https://tc39.
|
|
6
|
+
// https://tc39.es/ecma262/#sec-string.prototype.repeat
|
|
7
7
|
module.exports = ''.repeat || function repeat(count) {
|
|
8
8
|
var str = String(requireObjectCoercible(this));
|
|
9
9
|
var result = '';
|
package/internals/string-trim.js
CHANGED
|
@@ -17,12 +17,12 @@ var createMethod = function (TYPE) {
|
|
|
17
17
|
|
|
18
18
|
module.exports = {
|
|
19
19
|
// `String.prototype.{ trimLeft, trimStart }` methods
|
|
20
|
-
// https://tc39.
|
|
20
|
+
// https://tc39.es/ecma262/#sec-string.prototype.trimstart
|
|
21
21
|
start: createMethod(1),
|
|
22
22
|
// `String.prototype.{ trimRight, trimEnd }` methods
|
|
23
|
-
// https://tc39.
|
|
23
|
+
// https://tc39.es/ecma262/#sec-string.prototype.trimend
|
|
24
24
|
end: createMethod(2),
|
|
25
25
|
// `String.prototype.trim` method
|
|
26
|
-
// https://tc39.
|
|
26
|
+
// https://tc39.es/ecma262/#sec-string.prototype.trim
|
|
27
27
|
trim: createMethod(3)
|
|
28
28
|
};
|
package/internals/task.js
CHANGED
|
@@ -18,7 +18,7 @@ var ONREADYSTATECHANGE = 'onreadystatechange';
|
|
|
18
18
|
var defer, channel, port;
|
|
19
19
|
|
|
20
20
|
var run = function (id) {
|
|
21
|
-
// eslint-disable-next-line no-prototype-builtins
|
|
21
|
+
// eslint-disable-next-line no-prototype-builtins -- safe
|
|
22
22
|
if (queue.hasOwnProperty(id)) {
|
|
23
23
|
var fn = queue[id];
|
|
24
24
|
delete queue[id];
|
|
@@ -48,7 +48,7 @@ if (!set || !clear) {
|
|
|
48
48
|
var i = 1;
|
|
49
49
|
while (arguments.length > i) args.push(arguments[i++]);
|
|
50
50
|
queue[++counter] = function () {
|
|
51
|
-
// eslint-disable-next-line no-new-func
|
|
51
|
+
// eslint-disable-next-line no-new-func -- spec requirement
|
|
52
52
|
(typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);
|
|
53
53
|
};
|
|
54
54
|
defer(counter);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
var classof = require('../internals/classof-raw');
|
|
2
2
|
|
|
3
3
|
// `thisNumberValue` abstract operation
|
|
4
|
-
// https://tc39.
|
|
4
|
+
// https://tc39.es/ecma262/#sec-thisnumbervalue
|
|
5
5
|
module.exports = function (value) {
|
|
6
6
|
if (typeof value != 'number' && classof(value) != 'Number') {
|
|
7
7
|
throw TypeError('Incorrect invocation');
|
package/internals/to-index.js
CHANGED
|
@@ -2,7 +2,7 @@ var toInteger = require('../internals/to-integer');
|
|
|
2
2
|
var toLength = require('../internals/to-length');
|
|
3
3
|
|
|
4
4
|
// `ToIndex` abstract operation
|
|
5
|
-
// https://tc39.
|
|
5
|
+
// https://tc39.es/ecma262/#sec-toindex
|
|
6
6
|
module.exports = function (it) {
|
|
7
7
|
if (it === undefined) return 0;
|
|
8
8
|
var number = toInteger(it);
|
package/internals/to-integer.js
CHANGED
|
@@ -2,7 +2,7 @@ var ceil = Math.ceil;
|
|
|
2
2
|
var floor = Math.floor;
|
|
3
3
|
|
|
4
4
|
// `ToInteger` abstract operation
|
|
5
|
-
// https://tc39.
|
|
5
|
+
// https://tc39.es/ecma262/#sec-tointeger
|
|
6
6
|
module.exports = function (argument) {
|
|
7
7
|
return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
|
|
8
8
|
};
|
package/internals/to-length.js
CHANGED
|
@@ -3,7 +3,7 @@ var toInteger = require('../internals/to-integer');
|
|
|
3
3
|
var min = Math.min;
|
|
4
4
|
|
|
5
5
|
// `ToLength` abstract operation
|
|
6
|
-
// https://tc39.
|
|
6
|
+
// https://tc39.es/ecma262/#sec-tolength
|
|
7
7
|
module.exports = function (argument) {
|
|
8
8
|
return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
|
|
9
9
|
};
|
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
|
};
|