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
|
@@ -10,9 +10,9 @@ var FORCED = fails(function () {
|
|
|
10
10
|
});
|
|
11
11
|
|
|
12
12
|
// `Date.prototype.toJSON` method
|
|
13
|
-
// https://tc39.
|
|
13
|
+
// https://tc39.es/ecma262/#sec-date.prototype.tojson
|
|
14
14
|
$({ target: 'Date', proto: true, forced: FORCED }, {
|
|
15
|
-
// eslint-disable-next-line no-unused-vars
|
|
15
|
+
// eslint-disable-next-line no-unused-vars -- required for `.length`
|
|
16
16
|
toJSON: function toJSON(key) {
|
|
17
17
|
var O = toObject(this);
|
|
18
18
|
var pv = toPrimitive(O);
|
|
@@ -6,7 +6,7 @@ var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
|
|
|
6
6
|
var DatePrototype = Date.prototype;
|
|
7
7
|
|
|
8
8
|
// `Date.prototype[@@toPrimitive]` method
|
|
9
|
-
// https://tc39.
|
|
9
|
+
// https://tc39.es/ecma262/#sec-date.prototype-@@toprimitive
|
|
10
10
|
if (!(TO_PRIMITIVE in DatePrototype)) {
|
|
11
11
|
createNonEnumerableProperty(DatePrototype, TO_PRIMITIVE, dateToPrimitive);
|
|
12
12
|
}
|
|
@@ -7,11 +7,11 @@ var nativeDateToString = DatePrototype[TO_STRING];
|
|
|
7
7
|
var getTime = DatePrototype.getTime;
|
|
8
8
|
|
|
9
9
|
// `Date.prototype.toString` method
|
|
10
|
-
// https://tc39.
|
|
10
|
+
// https://tc39.es/ecma262/#sec-date.prototype.tostring
|
|
11
11
|
if (new Date(NaN) + '' != INVALID_DATE) {
|
|
12
12
|
redefine(DatePrototype, TO_STRING, function toString() {
|
|
13
13
|
var value = getTime.call(this);
|
|
14
|
-
// eslint-disable-next-line no-self-compare
|
|
14
|
+
// eslint-disable-next-line no-self-compare -- NaN check
|
|
15
15
|
return value === value ? nativeDateToString.call(this) : INVALID_DATE;
|
|
16
16
|
});
|
|
17
17
|
}
|
|
@@ -2,7 +2,7 @@ var $ = require('../internals/export');
|
|
|
2
2
|
var bind = require('../internals/function-bind');
|
|
3
3
|
|
|
4
4
|
// `Function.prototype.bind` method
|
|
5
|
-
// https://tc39.
|
|
5
|
+
// https://tc39.es/ecma262/#sec-function.prototype.bind
|
|
6
6
|
$({ target: 'Function', proto: true }, {
|
|
7
7
|
bind: bind
|
|
8
8
|
});
|
|
@@ -8,7 +8,7 @@ var HAS_INSTANCE = wellKnownSymbol('hasInstance');
|
|
|
8
8
|
var FunctionPrototype = Function.prototype;
|
|
9
9
|
|
|
10
10
|
// `Function.prototype[@@hasInstance]` method
|
|
11
|
-
// https://tc39.
|
|
11
|
+
// https://tc39.es/ecma262/#sec-function.prototype-@@hasinstance
|
|
12
12
|
if (!(HAS_INSTANCE in FunctionPrototype)) {
|
|
13
13
|
definePropertyModule.f(FunctionPrototype, HAS_INSTANCE, { value: function (O) {
|
|
14
14
|
if (typeof this != 'function' || !isObject(O)) return false;
|
|
@@ -7,7 +7,7 @@ var nameRE = /^\s*function ([^ (]*)/;
|
|
|
7
7
|
var NAME = 'name';
|
|
8
8
|
|
|
9
9
|
// Function instances `.name` property
|
|
10
|
-
// https://tc39.
|
|
10
|
+
// https://tc39.es/ecma262/#sec-function-instances-name
|
|
11
11
|
if (DESCRIPTORS && !(NAME in FunctionPrototype)) {
|
|
12
12
|
defineProperty(FunctionPrototype, NAME, {
|
|
13
13
|
configurable: true,
|
|
@@ -21,9 +21,11 @@ var FORCED = fails(function () {
|
|
|
21
21
|
});
|
|
22
22
|
|
|
23
23
|
if ($stringify) {
|
|
24
|
+
// `JSON.stringify` method
|
|
25
|
+
// https://tc39.es/ecma262/#sec-json.stringify
|
|
24
26
|
// https://github.com/tc39/proposal-well-formed-stringify
|
|
25
27
|
$({ target: 'JSON', stat: true, forced: FORCED }, {
|
|
26
|
-
// eslint-disable-next-line no-unused-vars
|
|
28
|
+
// eslint-disable-next-line no-unused-vars -- required for `.length`
|
|
27
29
|
stringify: function stringify(it, replacer, space) {
|
|
28
30
|
var result = $stringify.apply(null, arguments);
|
|
29
31
|
return typeof result == 'string' ? result.replace(re, fix) : result;
|
|
@@ -2,5 +2,5 @@ var global = require('../internals/global');
|
|
|
2
2
|
var setToStringTag = require('../internals/set-to-string-tag');
|
|
3
3
|
|
|
4
4
|
// JSON[@@toStringTag] property
|
|
5
|
-
// https://tc39.
|
|
5
|
+
// https://tc39.es/ecma262/#sec-json-@@tostringtag
|
|
6
6
|
setToStringTag(global.JSON, 'JSON', true);
|
package/modules/es.map.js
CHANGED
|
@@ -3,7 +3,7 @@ var collection = require('../internals/collection');
|
|
|
3
3
|
var collectionStrong = require('../internals/collection-strong');
|
|
4
4
|
|
|
5
5
|
// `Map` constructor
|
|
6
|
-
// https://tc39.
|
|
6
|
+
// https://tc39.es/ecma262/#sec-map-objects
|
|
7
7
|
module.exports = collection('Map', function (init) {
|
|
8
8
|
return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };
|
|
9
9
|
}, collectionStrong);
|
package/modules/es.math.acosh.js
CHANGED
|
@@ -13,7 +13,7 @@ var FORCED = !nativeAcosh
|
|
|
13
13
|
|| nativeAcosh(Infinity) != Infinity;
|
|
14
14
|
|
|
15
15
|
// `Math.acosh` method
|
|
16
|
-
// https://tc39.
|
|
16
|
+
// https://tc39.es/ecma262/#sec-math.acosh
|
|
17
17
|
$({ target: 'Math', stat: true, forced: FORCED }, {
|
|
18
18
|
acosh: function acosh(x) {
|
|
19
19
|
return (x = +x) < 1 ? NaN : x > 94906265.62425156
|
package/modules/es.math.asinh.js
CHANGED
|
@@ -9,7 +9,7 @@ function asinh(x) {
|
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
// `Math.asinh` method
|
|
12
|
-
// https://tc39.
|
|
12
|
+
// https://tc39.es/ecma262/#sec-math.asinh
|
|
13
13
|
// Tor Browser bug: Math.asinh(0) -> -0
|
|
14
14
|
$({ target: 'Math', stat: true, forced: !(nativeAsinh && 1 / nativeAsinh(0) > 0) }, {
|
|
15
15
|
asinh: asinh
|
package/modules/es.math.atanh.js
CHANGED
|
@@ -4,7 +4,7 @@ var nativeAtanh = Math.atanh;
|
|
|
4
4
|
var log = Math.log;
|
|
5
5
|
|
|
6
6
|
// `Math.atanh` method
|
|
7
|
-
// https://tc39.
|
|
7
|
+
// https://tc39.es/ecma262/#sec-math.atanh
|
|
8
8
|
// Tor Browser bug: Math.atanh(-0) -> 0
|
|
9
9
|
$({ target: 'Math', stat: true, forced: !(nativeAtanh && 1 / nativeAtanh(-0) < 0) }, {
|
|
10
10
|
atanh: function atanh(x) {
|
package/modules/es.math.cbrt.js
CHANGED
|
@@ -5,7 +5,7 @@ var abs = Math.abs;
|
|
|
5
5
|
var pow = Math.pow;
|
|
6
6
|
|
|
7
7
|
// `Math.cbrt` method
|
|
8
|
-
// https://tc39.
|
|
8
|
+
// https://tc39.es/ecma262/#sec-math.cbrt
|
|
9
9
|
$({ target: 'Math', stat: true }, {
|
|
10
10
|
cbrt: function cbrt(x) {
|
|
11
11
|
return sign(x = +x) * pow(abs(x), 1 / 3);
|
package/modules/es.math.clz32.js
CHANGED
|
@@ -5,7 +5,7 @@ var log = Math.log;
|
|
|
5
5
|
var LOG2E = Math.LOG2E;
|
|
6
6
|
|
|
7
7
|
// `Math.clz32` method
|
|
8
|
-
// https://tc39.
|
|
8
|
+
// https://tc39.es/ecma262/#sec-math.clz32
|
|
9
9
|
$({ target: 'Math', stat: true }, {
|
|
10
10
|
clz32: function clz32(x) {
|
|
11
11
|
return (x >>>= 0) ? 31 - floor(log(x + 0.5) * LOG2E) : 32;
|
package/modules/es.math.cosh.js
CHANGED
|
@@ -6,7 +6,7 @@ var abs = Math.abs;
|
|
|
6
6
|
var E = Math.E;
|
|
7
7
|
|
|
8
8
|
// `Math.cosh` method
|
|
9
|
-
// https://tc39.
|
|
9
|
+
// https://tc39.es/ecma262/#sec-math.cosh
|
|
10
10
|
$({ target: 'Math', stat: true, forced: !nativeCosh || nativeCosh(710) === Infinity }, {
|
|
11
11
|
cosh: function cosh(x) {
|
|
12
12
|
var t = expm1(abs(x) - 1) + 1;
|
package/modules/es.math.expm1.js
CHANGED
|
@@ -2,5 +2,5 @@ var $ = require('../internals/export');
|
|
|
2
2
|
var expm1 = require('../internals/math-expm1');
|
|
3
3
|
|
|
4
4
|
// `Math.expm1` method
|
|
5
|
-
// https://tc39.
|
|
5
|
+
// https://tc39.es/ecma262/#sec-math.expm1
|
|
6
6
|
$({ target: 'Math', stat: true, forced: expm1 != Math.expm1 }, { expm1: expm1 });
|
|
@@ -2,5 +2,5 @@ var $ = require('../internals/export');
|
|
|
2
2
|
var fround = require('../internals/math-fround');
|
|
3
3
|
|
|
4
4
|
// `Math.fround` method
|
|
5
|
-
// https://tc39.
|
|
5
|
+
// https://tc39.es/ecma262/#sec-math.fround
|
|
6
6
|
$({ target: 'Math', stat: true }, { fround: fround });
|
package/modules/es.math.hypot.js
CHANGED
|
@@ -9,9 +9,10 @@ var sqrt = Math.sqrt;
|
|
|
9
9
|
var BUGGY = !!$hypot && $hypot(Infinity, NaN) !== Infinity;
|
|
10
10
|
|
|
11
11
|
// `Math.hypot` method
|
|
12
|
-
// https://tc39.
|
|
12
|
+
// https://tc39.es/ecma262/#sec-math.hypot
|
|
13
13
|
$({ target: 'Math', stat: true, forced: BUGGY }, {
|
|
14
|
-
|
|
14
|
+
// eslint-disable-next-line no-unused-vars -- required for `.length`
|
|
15
|
+
hypot: function hypot(value1, value2) {
|
|
15
16
|
var sum = 0;
|
|
16
17
|
var i = 0;
|
|
17
18
|
var aLen = arguments.length;
|
package/modules/es.math.imul.js
CHANGED
|
@@ -8,7 +8,7 @@ var FORCED = fails(function () {
|
|
|
8
8
|
});
|
|
9
9
|
|
|
10
10
|
// `Math.imul` method
|
|
11
|
-
// https://tc39.
|
|
11
|
+
// https://tc39.es/ecma262/#sec-math.imul
|
|
12
12
|
// some WebKit versions fails with big numbers, some has wrong arity
|
|
13
13
|
$({ target: 'Math', stat: true, forced: FORCED }, {
|
|
14
14
|
imul: function imul(x, y) {
|
package/modules/es.math.log10.js
CHANGED
package/modules/es.math.log1p.js
CHANGED
package/modules/es.math.log2.js
CHANGED
package/modules/es.math.sign.js
CHANGED
package/modules/es.math.sinh.js
CHANGED
|
@@ -11,7 +11,7 @@ var FORCED = fails(function () {
|
|
|
11
11
|
});
|
|
12
12
|
|
|
13
13
|
// `Math.sinh` method
|
|
14
|
-
// https://tc39.
|
|
14
|
+
// https://tc39.es/ecma262/#sec-math.sinh
|
|
15
15
|
// V8 near Chromium 38 has a problem with very small numbers
|
|
16
16
|
$({ target: 'Math', stat: true, forced: FORCED }, {
|
|
17
17
|
sinh: function sinh(x) {
|
package/modules/es.math.tanh.js
CHANGED
|
@@ -4,7 +4,7 @@ var expm1 = require('../internals/math-expm1');
|
|
|
4
4
|
var exp = Math.exp;
|
|
5
5
|
|
|
6
6
|
// `Math.tanh` method
|
|
7
|
-
// https://tc39.
|
|
7
|
+
// https://tc39.es/ecma262/#sec-math.tanh
|
|
8
8
|
$({ target: 'Math', stat: true }, {
|
|
9
9
|
tanh: function tanh(x) {
|
|
10
10
|
var a = expm1(x = +x);
|
package/modules/es.math.trunc.js
CHANGED
|
@@ -4,7 +4,7 @@ var ceil = Math.ceil;
|
|
|
4
4
|
var floor = Math.floor;
|
|
5
5
|
|
|
6
6
|
// `Math.trunc` method
|
|
7
|
-
// https://tc39.
|
|
7
|
+
// https://tc39.es/ecma262/#sec-math.trunc
|
|
8
8
|
$({ target: 'Math', stat: true }, {
|
|
9
9
|
trunc: function trunc(it) {
|
|
10
10
|
return (it > 0 ? floor : ceil)(it);
|
|
@@ -22,7 +22,7 @@ var NumberPrototype = NativeNumber.prototype;
|
|
|
22
22
|
var BROKEN_CLASSOF = classof(create(NumberPrototype)) == NUMBER;
|
|
23
23
|
|
|
24
24
|
// `ToNumber` abstract operation
|
|
25
|
-
// https://tc39.
|
|
25
|
+
// https://tc39.es/ecma262/#sec-tonumber
|
|
26
26
|
var toNumber = function (argument) {
|
|
27
27
|
var it = toPrimitive(argument, false);
|
|
28
28
|
var first, third, radix, maxCode, digits, length, index, code;
|
|
@@ -51,7 +51,7 @@ var toNumber = function (argument) {
|
|
|
51
51
|
};
|
|
52
52
|
|
|
53
53
|
// `Number` constructor
|
|
54
|
-
// https://tc39.
|
|
54
|
+
// https://tc39.es/ecma262/#sec-number-constructor
|
|
55
55
|
if (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {
|
|
56
56
|
var NumberWrapper = function Number(value) {
|
|
57
57
|
var it = arguments.length < 1 ? 0 : value;
|
|
@@ -66,7 +66,9 @@ if (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumb
|
|
|
66
66
|
'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +
|
|
67
67
|
// ES2015 (in case, if modules with ES2015 Number statics required before):
|
|
68
68
|
'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +
|
|
69
|
-
'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'
|
|
69
|
+
'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger,' +
|
|
70
|
+
// ESNext
|
|
71
|
+
'fromString,range'
|
|
70
72
|
).split(','), j = 0, key; keys.length > j; j++) {
|
|
71
73
|
if (has(NativeNumber, key = keys[j]) && !has(NumberWrapper, key)) {
|
|
72
74
|
defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));
|
|
@@ -2,5 +2,5 @@ var $ = require('../internals/export');
|
|
|
2
2
|
var numberIsFinite = require('../internals/number-is-finite');
|
|
3
3
|
|
|
4
4
|
// `Number.isFinite` method
|
|
5
|
-
// https://tc39.
|
|
5
|
+
// https://tc39.es/ecma262/#sec-number.isfinite
|
|
6
6
|
$({ target: 'Number', stat: true }, { isFinite: numberIsFinite });
|
|
@@ -2,7 +2,7 @@ var $ = require('../internals/export');
|
|
|
2
2
|
var isInteger = require('../internals/is-integer');
|
|
3
3
|
|
|
4
4
|
// `Number.isInteger` method
|
|
5
|
-
// https://tc39.
|
|
5
|
+
// https://tc39.es/ecma262/#sec-number.isinteger
|
|
6
6
|
$({ target: 'Number', stat: true }, {
|
|
7
7
|
isInteger: isInteger
|
|
8
8
|
});
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
var $ = require('../internals/export');
|
|
2
2
|
|
|
3
3
|
// `Number.isNaN` method
|
|
4
|
-
// https://tc39.
|
|
4
|
+
// https://tc39.es/ecma262/#sec-number.isnan
|
|
5
5
|
$({ target: 'Number', stat: true }, {
|
|
6
6
|
isNaN: function isNaN(number) {
|
|
7
|
-
// eslint-disable-next-line no-self-compare
|
|
7
|
+
// eslint-disable-next-line no-self-compare -- NaN check
|
|
8
8
|
return number != number;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
@@ -4,7 +4,7 @@ var isInteger = require('../internals/is-integer');
|
|
|
4
4
|
var abs = Math.abs;
|
|
5
5
|
|
|
6
6
|
// `Number.isSafeInteger` method
|
|
7
|
-
// https://tc39.
|
|
7
|
+
// https://tc39.es/ecma262/#sec-number.issafeinteger
|
|
8
8
|
$({ target: 'Number', stat: true }, {
|
|
9
9
|
isSafeInteger: function isSafeInteger(number) {
|
|
10
10
|
return isInteger(number) && abs(number) <= 0x1FFFFFFFFFFFFF;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
var $ = require('../internals/export');
|
|
2
2
|
|
|
3
3
|
// `Number.MAX_SAFE_INTEGER` constant
|
|
4
|
-
// https://tc39.
|
|
4
|
+
// https://tc39.es/ecma262/#sec-number.max_safe_integer
|
|
5
5
|
$({ target: 'Number', stat: true }, {
|
|
6
6
|
MAX_SAFE_INTEGER: 0x1FFFFFFFFFFFFF
|
|
7
7
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
var $ = require('../internals/export');
|
|
2
2
|
|
|
3
3
|
// `Number.MIN_SAFE_INTEGER` constant
|
|
4
|
-
// https://tc39.
|
|
4
|
+
// https://tc39.es/ecma262/#sec-number.min_safe_integer
|
|
5
5
|
$({ target: 'Number', stat: true }, {
|
|
6
6
|
MIN_SAFE_INTEGER: -0x1FFFFFFFFFFFFF
|
|
7
7
|
});
|
|
@@ -2,7 +2,7 @@ var $ = require('../internals/export');
|
|
|
2
2
|
var parseFloat = require('../internals/number-parse-float');
|
|
3
3
|
|
|
4
4
|
// `Number.parseFloat` method
|
|
5
|
-
// https://tc39.
|
|
5
|
+
// https://tc39.es/ecma262/#sec-number.parseFloat
|
|
6
6
|
$({ target: 'Number', stat: true, forced: Number.parseFloat != parseFloat }, {
|
|
7
7
|
parseFloat: parseFloat
|
|
8
8
|
});
|
|
@@ -2,7 +2,7 @@ var $ = require('../internals/export');
|
|
|
2
2
|
var parseInt = require('../internals/number-parse-int');
|
|
3
3
|
|
|
4
4
|
// `Number.parseInt` method
|
|
5
|
-
// https://tc39.
|
|
5
|
+
// https://tc39.es/ecma262/#sec-number.parseint
|
|
6
6
|
$({ target: 'Number', stat: true, forced: Number.parseInt != parseInt }, {
|
|
7
7
|
parseInt: parseInt
|
|
8
8
|
});
|
|
@@ -25,6 +25,37 @@ var log = function (x) {
|
|
|
25
25
|
} return n;
|
|
26
26
|
};
|
|
27
27
|
|
|
28
|
+
var multiply = function (data, n, c) {
|
|
29
|
+
var index = -1;
|
|
30
|
+
var c2 = c;
|
|
31
|
+
while (++index < 6) {
|
|
32
|
+
c2 += n * data[index];
|
|
33
|
+
data[index] = c2 % 1e7;
|
|
34
|
+
c2 = floor(c2 / 1e7);
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
var divide = function (data, n) {
|
|
39
|
+
var index = 6;
|
|
40
|
+
var c = 0;
|
|
41
|
+
while (--index >= 0) {
|
|
42
|
+
c += data[index];
|
|
43
|
+
data[index] = floor(c / n);
|
|
44
|
+
c = (c % n) * 1e7;
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
var dataToString = function (data) {
|
|
49
|
+
var index = 6;
|
|
50
|
+
var s = '';
|
|
51
|
+
while (--index >= 0) {
|
|
52
|
+
if (s !== '' || index === 0 || data[index] !== 0) {
|
|
53
|
+
var t = String(data[index]);
|
|
54
|
+
s = s === '' ? t : s + repeat.call('0', 7 - t.length) + t;
|
|
55
|
+
}
|
|
56
|
+
} return s;
|
|
57
|
+
};
|
|
58
|
+
|
|
28
59
|
var FORCED = nativeToFixed && (
|
|
29
60
|
0.00008.toFixed(3) !== '0.000' ||
|
|
30
61
|
0.9.toFixed(0) !== '1' ||
|
|
@@ -36,9 +67,8 @@ var FORCED = nativeToFixed && (
|
|
|
36
67
|
});
|
|
37
68
|
|
|
38
69
|
// `Number.prototype.toFixed` method
|
|
39
|
-
// https://tc39.
|
|
70
|
+
// https://tc39.es/ecma262/#sec-number.prototype.tofixed
|
|
40
71
|
$({ target: 'Number', proto: true, forced: FORCED }, {
|
|
41
|
-
// eslint-disable-next-line max-statements
|
|
42
72
|
toFixed: function toFixed(fractionDigits) {
|
|
43
73
|
var number = thisNumberValue(this);
|
|
44
74
|
var fractDigits = toInteger(fractionDigits);
|
|
@@ -47,39 +77,8 @@ $({ target: 'Number', proto: true, forced: FORCED }, {
|
|
|
47
77
|
var result = '0';
|
|
48
78
|
var e, z, j, k;
|
|
49
79
|
|
|
50
|
-
var multiply = function (n, c) {
|
|
51
|
-
var index = -1;
|
|
52
|
-
var c2 = c;
|
|
53
|
-
while (++index < 6) {
|
|
54
|
-
c2 += n * data[index];
|
|
55
|
-
data[index] = c2 % 1e7;
|
|
56
|
-
c2 = floor(c2 / 1e7);
|
|
57
|
-
}
|
|
58
|
-
};
|
|
59
|
-
|
|
60
|
-
var divide = function (n) {
|
|
61
|
-
var index = 6;
|
|
62
|
-
var c = 0;
|
|
63
|
-
while (--index >= 0) {
|
|
64
|
-
c += data[index];
|
|
65
|
-
data[index] = floor(c / n);
|
|
66
|
-
c = (c % n) * 1e7;
|
|
67
|
-
}
|
|
68
|
-
};
|
|
69
|
-
|
|
70
|
-
var dataToString = function () {
|
|
71
|
-
var index = 6;
|
|
72
|
-
var s = '';
|
|
73
|
-
while (--index >= 0) {
|
|
74
|
-
if (s !== '' || index === 0 || data[index] !== 0) {
|
|
75
|
-
var t = String(data[index]);
|
|
76
|
-
s = s === '' ? t : s + repeat.call('0', 7 - t.length) + t;
|
|
77
|
-
}
|
|
78
|
-
} return s;
|
|
79
|
-
};
|
|
80
|
-
|
|
81
80
|
if (fractDigits < 0 || fractDigits > 20) throw RangeError('Incorrect fraction digits');
|
|
82
|
-
// eslint-disable-next-line no-self-compare
|
|
81
|
+
// eslint-disable-next-line no-self-compare -- NaN check
|
|
83
82
|
if (number != number) return 'NaN';
|
|
84
83
|
if (number <= -1e21 || number >= 1e21) return String(number);
|
|
85
84
|
if (number < 0) {
|
|
@@ -92,26 +91,26 @@ $({ target: 'Number', proto: true, forced: FORCED }, {
|
|
|
92
91
|
z *= 0x10000000000000;
|
|
93
92
|
e = 52 - e;
|
|
94
93
|
if (e > 0) {
|
|
95
|
-
multiply(0, z);
|
|
94
|
+
multiply(data, 0, z);
|
|
96
95
|
j = fractDigits;
|
|
97
96
|
while (j >= 7) {
|
|
98
|
-
multiply(1e7, 0);
|
|
97
|
+
multiply(data, 1e7, 0);
|
|
99
98
|
j -= 7;
|
|
100
99
|
}
|
|
101
|
-
multiply(pow(10, j, 1), 0);
|
|
100
|
+
multiply(data, pow(10, j, 1), 0);
|
|
102
101
|
j = e - 1;
|
|
103
102
|
while (j >= 23) {
|
|
104
|
-
divide(1 << 23);
|
|
103
|
+
divide(data, 1 << 23);
|
|
105
104
|
j -= 23;
|
|
106
105
|
}
|
|
107
|
-
divide(1 << j);
|
|
108
|
-
multiply(1, 1);
|
|
109
|
-
divide(2);
|
|
110
|
-
result = dataToString();
|
|
106
|
+
divide(data, 1 << j);
|
|
107
|
+
multiply(data, 1, 1);
|
|
108
|
+
divide(data, 2);
|
|
109
|
+
result = dataToString(data);
|
|
111
110
|
} else {
|
|
112
|
-
multiply(0, z);
|
|
113
|
-
multiply(1 << -e, 0);
|
|
114
|
-
result = dataToString() + repeat.call('0', fractDigits);
|
|
111
|
+
multiply(data, 0, z);
|
|
112
|
+
multiply(data, 1 << -e, 0);
|
|
113
|
+
result = dataToString(data) + repeat.call('0', fractDigits);
|
|
115
114
|
}
|
|
116
115
|
}
|
|
117
116
|
if (fractDigits > 0) {
|
|
@@ -14,7 +14,7 @@ var FORCED = fails(function () {
|
|
|
14
14
|
});
|
|
15
15
|
|
|
16
16
|
// `Number.prototype.toPrecision` method
|
|
17
|
-
// https://tc39.
|
|
17
|
+
// https://tc39.es/ecma262/#sec-number.prototype.toprecision
|
|
18
18
|
$({ target: 'Number', proto: true, forced: FORCED }, {
|
|
19
19
|
toPrecision: function toPrecision(precision) {
|
|
20
20
|
return precision === undefined
|
|
@@ -2,7 +2,7 @@ var $ = require('../internals/export');
|
|
|
2
2
|
var assign = require('../internals/object-assign');
|
|
3
3
|
|
|
4
4
|
// `Object.assign` method
|
|
5
|
-
// https://tc39.
|
|
5
|
+
// https://tc39.es/ecma262/#sec-object.assign
|
|
6
6
|
$({ target: 'Object', stat: true, forced: Object.assign !== assign }, {
|
|
7
7
|
assign: assign
|
|
8
8
|
});
|
|
@@ -3,7 +3,7 @@ var DESCRIPTORS = require('../internals/descriptors');
|
|
|
3
3
|
var create = require('../internals/object-create');
|
|
4
4
|
|
|
5
5
|
// `Object.create` method
|
|
6
|
-
// https://tc39.
|
|
6
|
+
// https://tc39.es/ecma262/#sec-object.create
|
|
7
7
|
$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {
|
|
8
8
|
create: create
|
|
9
9
|
});
|
|
@@ -7,7 +7,7 @@ var aFunction = require('../internals/a-function');
|
|
|
7
7
|
var definePropertyModule = require('../internals/object-define-property');
|
|
8
8
|
|
|
9
9
|
// `Object.prototype.__defineGetter__` method
|
|
10
|
-
// https://tc39.
|
|
10
|
+
// https://tc39.es/ecma262/#sec-object.prototype.__defineGetter__
|
|
11
11
|
if (DESCRIPTORS) {
|
|
12
12
|
$({ target: 'Object', proto: true, forced: FORCED }, {
|
|
13
13
|
__defineGetter__: function __defineGetter__(P, getter) {
|
|
@@ -3,7 +3,7 @@ var DESCRIPTORS = require('../internals/descriptors');
|
|
|
3
3
|
var defineProperties = require('../internals/object-define-properties');
|
|
4
4
|
|
|
5
5
|
// `Object.defineProperties` method
|
|
6
|
-
// https://tc39.
|
|
6
|
+
// https://tc39.es/ecma262/#sec-object.defineproperties
|
|
7
7
|
$({ target: 'Object', stat: true, forced: !DESCRIPTORS, sham: !DESCRIPTORS }, {
|
|
8
8
|
defineProperties: defineProperties
|
|
9
9
|
});
|
|
@@ -3,7 +3,7 @@ var DESCRIPTORS = require('../internals/descriptors');
|
|
|
3
3
|
var objectDefinePropertyModile = require('../internals/object-define-property');
|
|
4
4
|
|
|
5
5
|
// `Object.defineProperty` method
|
|
6
|
-
// https://tc39.
|
|
6
|
+
// https://tc39.es/ecma262/#sec-object.defineproperty
|
|
7
7
|
$({ target: 'Object', stat: true, forced: !DESCRIPTORS, sham: !DESCRIPTORS }, {
|
|
8
8
|
defineProperty: objectDefinePropertyModile.f
|
|
9
9
|
});
|
|
@@ -7,7 +7,7 @@ var aFunction = require('../internals/a-function');
|
|
|
7
7
|
var definePropertyModule = require('../internals/object-define-property');
|
|
8
8
|
|
|
9
9
|
// `Object.prototype.__defineSetter__` method
|
|
10
|
-
// https://tc39.
|
|
10
|
+
// https://tc39.es/ecma262/#sec-object.prototype.__defineSetter__
|
|
11
11
|
if (DESCRIPTORS) {
|
|
12
12
|
$({ target: 'Object', proto: true, forced: FORCED }, {
|
|
13
13
|
__defineSetter__: function __defineSetter__(P, setter) {
|
|
@@ -2,7 +2,7 @@ var $ = require('../internals/export');
|
|
|
2
2
|
var $entries = require('../internals/object-to-array').entries;
|
|
3
3
|
|
|
4
4
|
// `Object.entries` method
|
|
5
|
-
// https://tc39.
|
|
5
|
+
// https://tc39.es/ecma262/#sec-object.entries
|
|
6
6
|
$({ target: 'Object', stat: true }, {
|
|
7
7
|
entries: function entries(O) {
|
|
8
8
|
return $entries(O);
|
|
@@ -8,7 +8,7 @@ var nativeFreeze = Object.freeze;
|
|
|
8
8
|
var FAILS_ON_PRIMITIVES = fails(function () { nativeFreeze(1); });
|
|
9
9
|
|
|
10
10
|
// `Object.freeze` method
|
|
11
|
-
// https://tc39.
|
|
11
|
+
// https://tc39.es/ecma262/#sec-object.freeze
|
|
12
12
|
$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, {
|
|
13
13
|
freeze: function freeze(it) {
|
|
14
14
|
return nativeFreeze && isObject(it) ? nativeFreeze(onFreeze(it)) : it;
|