core-js 3.32.2 → 3.33.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/features/regexp/escape.js +2 -0
- package/full/index.js +1 -0
- package/full/regexp/escape.js +5 -0
- package/full/regexp/index.js +1 -0
- package/internals/a-callable.js +1 -1
- package/internals/a-constructor.js +1 -1
- package/internals/a-possible-prototype.js +1 -1
- package/internals/an-instance.js +1 -1
- package/internals/an-object.js +1 -1
- package/internals/array-buffer-byte-length.js +1 -1
- package/internals/array-buffer-transfer.js +22 -14
- package/internals/array-buffer-view-core.js +3 -3
- package/internals/array-buffer.js +6 -5
- package/internals/array-reduce.js +1 -1
- package/internals/array-set-length.js +1 -1
- package/internals/array-with.js +1 -1
- package/internals/composite-key.js +1 -1
- package/internals/date-to-iso-string.js +1 -1
- package/internals/date-to-primitive.js +1 -1
- package/internals/delete-property-or-throw.js +1 -1
- package/internals/detach-transferable.js +37 -0
- package/internals/error-stack-clear.js +1 -1
- package/internals/error-stack-installable.js +1 -1
- package/internals/get-iterator.js +1 -1
- package/internals/get-set-record.js +2 -2
- package/internals/ieee754.js +9 -20
- package/internals/internal-state.js +3 -3
- package/internals/is-constructor.js +1 -1
- package/internals/iterate.js +1 -1
- package/internals/map-upsert.js +1 -1
- package/internals/math-f16round.js +12 -0
- package/internals/math-float-round.js +23 -0
- package/internals/math-fround.js +5 -21
- package/internals/new-promise-capability.js +1 -1
- package/internals/not-a-nan.js +1 -1
- package/internals/not-a-regexp.js +1 -1
- package/internals/numeric-range-iterator.js +5 -5
- package/internals/object-define-property.js +1 -1
- package/internals/ordinary-to-primitive.js +1 -1
- package/internals/parse-json-string.js +4 -4
- package/internals/regexp-exec-abstract.js +1 -1
- package/internals/regexp-unsupported-dot-all.js +1 -1
- package/internals/require-object-coercible.js +1 -1
- package/internals/shared.js +2 -2
- package/internals/string-cooked.js +1 -1
- package/internals/string-punycode-to-ascii.js +2 -2
- package/internals/string-repeat.js +1 -1
- package/internals/to-big-int.js +1 -1
- package/internals/to-index.js +1 -1
- package/internals/to-offset.js +1 -1
- package/internals/to-positive-integer.js +1 -1
- package/internals/to-primitive.js +1 -1
- package/internals/to-string.js +1 -1
- package/internals/typed-array-constructor.js +3 -3
- package/internals/validate-arguments-length.js +1 -1
- package/modules/es.aggregate-error.constructor.js +1 -1
- package/modules/es.error.cause.js +2 -1
- package/modules/es.number.constructor.js +1 -1
- package/modules/es.number.to-exponential.js +1 -1
- package/modules/es.number.to-fixed.js +1 -1
- package/modules/es.promise.constructor.js +2 -2
- package/modules/es.regexp.dot-all.js +1 -1
- package/modules/es.regexp.sticky.js +1 -1
- package/modules/es.string.from-code-point.js +1 -1
- package/modules/es.string.match-all.js +1 -1
- package/modules/es.string.replace-all.js +1 -1
- package/modules/es.symbol.constructor.js +17 -8
- package/modules/es.symbol.key-for.js +1 -1
- package/modules/es.typed-array.set.js +1 -1
- package/modules/esnext.async-disposable-stack.constructor.js +1 -1
- package/modules/esnext.async-iterator.constructor.js +1 -1
- package/modules/esnext.async-iterator.reduce.js +1 -1
- package/modules/esnext.data-view.set-float16.js +3 -2
- package/modules/esnext.data-view.set-uint8-clamped.js +1 -1
- package/modules/esnext.disposable-stack.constructor.js +1 -1
- package/modules/esnext.iterator.constructor.js +1 -1
- package/modules/esnext.iterator.range.js +1 -1
- package/modules/esnext.iterator.reduce.js +1 -1
- package/modules/esnext.json.parse.js +6 -6
- package/modules/esnext.json.raw-json.js +2 -2
- package/modules/esnext.map.reduce.js +1 -1
- package/modules/esnext.map.update.js +1 -1
- package/modules/esnext.math.f16round.js +2 -11
- package/modules/esnext.math.seeded-prng.js +1 -1
- package/modules/esnext.number.from-string.js +5 -5
- package/modules/esnext.observable.constructor.js +1 -2
- package/modules/esnext.observable.from.js +1 -2
- package/modules/esnext.observable.of.js +1 -2
- package/modules/esnext.regexp.escape.js +20 -0
- package/modules/esnext.set.reduce.js +1 -1
- package/modules/esnext.string.dedent.js +5 -5
- package/modules/esnext.suppressed-error.constructor.js +1 -1
- package/modules/web.dom-exception.constructor.js +2 -2
- package/modules/web.dom-exception.stack.js +2 -2
- package/modules/web.self.js +1 -1
- package/modules/web.structured-clone.js +18 -17
- package/modules/web.url-search-params.constructor.js +1 -1
- package/modules/web.url.constructor.js +3 -3
- package/package.json +1 -1
- package/postinstall.js +1 -0
- package/proposals/regexp-escaping.js +3 -0
- package/stage/2.js +1 -0
- package/internals/observable-forced.js +0 -14
package/full/index.js
CHANGED
|
@@ -371,6 +371,7 @@ require('../modules/esnext.reflect.get-own-metadata-keys');
|
|
|
371
371
|
require('../modules/esnext.reflect.has-metadata');
|
|
372
372
|
require('../modules/esnext.reflect.has-own-metadata');
|
|
373
373
|
require('../modules/esnext.reflect.metadata');
|
|
374
|
+
require('../modules/esnext.regexp.escape');
|
|
374
375
|
require('../modules/esnext.set.add-all');
|
|
375
376
|
require('../modules/esnext.set.delete-all');
|
|
376
377
|
require('../modules/esnext.set.difference.v2');
|
package/full/regexp/index.js
CHANGED
package/internals/a-callable.js
CHANGED
|
@@ -7,5 +7,5 @@ var $TypeError = TypeError;
|
|
|
7
7
|
// `Assert: IsCallable(argument) is true`
|
|
8
8
|
module.exports = function (argument) {
|
|
9
9
|
if (isCallable(argument)) return argument;
|
|
10
|
-
throw $TypeError(tryToString(argument) + ' is not a function');
|
|
10
|
+
throw new $TypeError(tryToString(argument) + ' is not a function');
|
|
11
11
|
};
|
|
@@ -7,5 +7,5 @@ var $TypeError = TypeError;
|
|
|
7
7
|
// `Assert: IsConstructor(argument) is true`
|
|
8
8
|
module.exports = function (argument) {
|
|
9
9
|
if (isConstructor(argument)) return argument;
|
|
10
|
-
throw $TypeError(tryToString(argument) + ' is not a constructor');
|
|
10
|
+
throw new $TypeError(tryToString(argument) + ' is not a constructor');
|
|
11
11
|
};
|
|
@@ -6,5 +6,5 @@ var $TypeError = TypeError;
|
|
|
6
6
|
|
|
7
7
|
module.exports = function (argument) {
|
|
8
8
|
if (typeof argument == 'object' || isCallable(argument)) return argument;
|
|
9
|
-
throw $TypeError("Can't set " + $String(argument) + ' as a prototype');
|
|
9
|
+
throw new $TypeError("Can't set " + $String(argument) + ' as a prototype');
|
|
10
10
|
};
|
package/internals/an-instance.js
CHANGED
package/internals/an-object.js
CHANGED
|
@@ -7,5 +7,5 @@ var $TypeError = TypeError;
|
|
|
7
7
|
// `Assert: Type(argument) is Object`
|
|
8
8
|
module.exports = function (argument) {
|
|
9
9
|
if (isObject(argument)) return argument;
|
|
10
|
-
throw $TypeError($String(argument) + ' is not an object');
|
|
10
|
+
throw new $TypeError($String(argument) + ' is not an object');
|
|
11
11
|
};
|
|
@@ -8,6 +8,6 @@ var $TypeError = TypeError;
|
|
|
8
8
|
// - Perform ? RequireInternalSlot(O, [[ArrayBufferData]]).
|
|
9
9
|
// - If IsSharedArrayBuffer(O) is true, throw a TypeError exception.
|
|
10
10
|
module.exports = uncurryThisAccessor(ArrayBuffer.prototype, 'byteLength', 'get') || function (O) {
|
|
11
|
-
if (classof(O) !== 'ArrayBuffer') throw $TypeError('ArrayBuffer expected');
|
|
11
|
+
if (classof(O) !== 'ArrayBuffer') throw new $TypeError('ArrayBuffer expected');
|
|
12
12
|
return O.byteLength;
|
|
13
13
|
};
|
|
@@ -5,12 +5,13 @@ var uncurryThisAccessor = require('../internals/function-uncurry-this-accessor')
|
|
|
5
5
|
var toIndex = require('../internals/to-index');
|
|
6
6
|
var isDetached = require('../internals/array-buffer-is-detached');
|
|
7
7
|
var arrayBufferByteLength = require('../internals/array-buffer-byte-length');
|
|
8
|
-
var
|
|
8
|
+
var detachTransferable = require('../internals/detach-transferable');
|
|
9
|
+
var PROPER_STRUCTURED_CLONE_TRANSFER = require('../internals/structured-clone-proper-transfer');
|
|
9
10
|
|
|
10
|
-
var TypeError = global.TypeError;
|
|
11
11
|
var structuredClone = global.structuredClone;
|
|
12
12
|
var ArrayBuffer = global.ArrayBuffer;
|
|
13
13
|
var DataView = global.DataView;
|
|
14
|
+
var TypeError = global.TypeError;
|
|
14
15
|
var min = Math.min;
|
|
15
16
|
var ArrayBufferPrototype = ArrayBuffer.prototype;
|
|
16
17
|
var DataViewPrototype = DataView.prototype;
|
|
@@ -20,19 +21,26 @@ var maxByteLength = uncurryThisAccessor(ArrayBufferPrototype, 'maxByteLength', '
|
|
|
20
21
|
var getInt8 = uncurryThis(DataViewPrototype.getInt8);
|
|
21
22
|
var setInt8 = uncurryThis(DataViewPrototype.setInt8);
|
|
22
23
|
|
|
23
|
-
module.exports =
|
|
24
|
+
module.exports = (PROPER_STRUCTURED_CLONE_TRANSFER || detachTransferable) && function (arrayBuffer, newLength, preserveResizability) {
|
|
24
25
|
var byteLength = arrayBufferByteLength(arrayBuffer);
|
|
25
26
|
var newByteLength = newLength === undefined ? byteLength : toIndex(newLength);
|
|
26
27
|
var fixedLength = !isResizable || !isResizable(arrayBuffer);
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
if (
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
28
|
+
var newBuffer;
|
|
29
|
+
if (isDetached(arrayBuffer)) throw new TypeError('ArrayBuffer is detached');
|
|
30
|
+
if (PROPER_STRUCTURED_CLONE_TRANSFER) {
|
|
31
|
+
arrayBuffer = structuredClone(arrayBuffer, { transfer: [arrayBuffer] });
|
|
32
|
+
if (byteLength === newByteLength && (preserveResizability || fixedLength)) return arrayBuffer;
|
|
33
|
+
}
|
|
34
|
+
if (byteLength >= newByteLength && (!preserveResizability || fixedLength)) {
|
|
35
|
+
newBuffer = slice(arrayBuffer, 0, newByteLength);
|
|
36
|
+
} else {
|
|
37
|
+
var options = preserveResizability && !fixedLength && maxByteLength ? { maxByteLength: maxByteLength(arrayBuffer) } : undefined;
|
|
38
|
+
newBuffer = new ArrayBuffer(newByteLength, options);
|
|
39
|
+
var a = new DataView(arrayBuffer);
|
|
40
|
+
var b = new DataView(newBuffer);
|
|
41
|
+
var copyLength = min(newByteLength, byteLength);
|
|
42
|
+
for (var i = 0; i < copyLength; i++) setInt8(b, i, getInt8(a, i));
|
|
43
|
+
}
|
|
44
|
+
if (!PROPER_STRUCTURED_CLONE_TRANSFER) detachTransferable(arrayBuffer);
|
|
45
|
+
return newBuffer;
|
|
38
46
|
};
|
|
@@ -77,12 +77,12 @@ var isTypedArray = function (it) {
|
|
|
77
77
|
|
|
78
78
|
var aTypedArray = function (it) {
|
|
79
79
|
if (isTypedArray(it)) return it;
|
|
80
|
-
throw TypeError('Target is not a typed array');
|
|
80
|
+
throw new TypeError('Target is not a typed array');
|
|
81
81
|
};
|
|
82
82
|
|
|
83
83
|
var aTypedArrayConstructor = function (C) {
|
|
84
84
|
if (isCallable(C) && (!setPrototypeOf || isPrototypeOf(TypedArray, C))) return C;
|
|
85
|
-
throw TypeError(tryToString(C) + ' is not a typed array constructor');
|
|
85
|
+
throw new TypeError(tryToString(C) + ' is not a typed array constructor');
|
|
86
86
|
};
|
|
87
87
|
|
|
88
88
|
var exportTypedArrayMethod = function (KEY, property, forced, options) {
|
|
@@ -146,7 +146,7 @@ for (NAME in BigIntArrayConstructorsList) {
|
|
|
146
146
|
if (!NATIVE_ARRAY_BUFFER_VIEWS || !isCallable(TypedArray) || TypedArray === Function.prototype) {
|
|
147
147
|
// eslint-disable-next-line no-shadow -- safe
|
|
148
148
|
TypedArray = function TypedArray() {
|
|
149
|
-
throw TypeError('Incorrect invocation');
|
|
149
|
+
throw new TypeError('Incorrect invocation');
|
|
150
150
|
};
|
|
151
151
|
if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {
|
|
152
152
|
if (global[NAME]) setPrototypeOf(global[NAME], TypedArray);
|
|
@@ -12,6 +12,7 @@ var anInstance = require('../internals/an-instance');
|
|
|
12
12
|
var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
|
|
13
13
|
var toLength = require('../internals/to-length');
|
|
14
14
|
var toIndex = require('../internals/to-index');
|
|
15
|
+
var fround = require('../internals/math-fround');
|
|
15
16
|
var IEEE754 = require('../internals/ieee754');
|
|
16
17
|
var getPrototypeOf = require('../internals/object-get-prototype-of');
|
|
17
18
|
var setPrototypeOf = require('../internals/object-set-prototype-of');
|
|
@@ -62,7 +63,7 @@ var unpackInt32 = function (buffer) {
|
|
|
62
63
|
};
|
|
63
64
|
|
|
64
65
|
var packFloat32 = function (number) {
|
|
65
|
-
return packIEEE754(number, 23, 4);
|
|
66
|
+
return packIEEE754(fround(number), 23, 4);
|
|
66
67
|
};
|
|
67
68
|
|
|
68
69
|
var packFloat64 = function (number) {
|
|
@@ -82,7 +83,7 @@ var get = function (view, count, index, isLittleEndian) {
|
|
|
82
83
|
var store = getInternalDataViewState(view);
|
|
83
84
|
var intIndex = toIndex(index);
|
|
84
85
|
var boolIsLittleEndian = !!isLittleEndian;
|
|
85
|
-
if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);
|
|
86
|
+
if (intIndex + count > store.byteLength) throw new RangeError(WRONG_INDEX);
|
|
86
87
|
var bytes = store.bytes;
|
|
87
88
|
var start = intIndex + store.byteOffset;
|
|
88
89
|
var pack = arraySlice(bytes, start, start + count);
|
|
@@ -94,7 +95,7 @@ var set = function (view, count, index, conversion, value, isLittleEndian) {
|
|
|
94
95
|
var intIndex = toIndex(index);
|
|
95
96
|
var pack = conversion(+value);
|
|
96
97
|
var boolIsLittleEndian = !!isLittleEndian;
|
|
97
|
-
if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);
|
|
98
|
+
if (intIndex + count > store.byteLength) throw new RangeError(WRONG_INDEX);
|
|
98
99
|
var bytes = store.bytes;
|
|
99
100
|
var start = intIndex + store.byteOffset;
|
|
100
101
|
for (var i = 0; i < count; i++) bytes[start + i] = pack[boolIsLittleEndian ? i : count - i - 1];
|
|
@@ -123,9 +124,9 @@ if (!NATIVE_ARRAY_BUFFER) {
|
|
|
123
124
|
var bufferState = getInternalArrayBufferState(buffer);
|
|
124
125
|
var bufferLength = bufferState.byteLength;
|
|
125
126
|
var offset = toIntegerOrInfinity(byteOffset);
|
|
126
|
-
if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset');
|
|
127
|
+
if (offset < 0 || offset > bufferLength) throw new RangeError('Wrong offset');
|
|
127
128
|
byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);
|
|
128
|
-
if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);
|
|
129
|
+
if (offset + byteLength > bufferLength) throw new RangeError(WRONG_LENGTH);
|
|
129
130
|
setInternalState(this, {
|
|
130
131
|
type: DATA_VIEW,
|
|
131
132
|
buffer: buffer,
|
|
@@ -23,7 +23,7 @@ var createMethod = function (IS_RIGHT) {
|
|
|
23
23
|
}
|
|
24
24
|
index += i;
|
|
25
25
|
if (IS_RIGHT ? index < 0 : length <= index) {
|
|
26
|
-
throw $TypeError('Reduce of empty array with no initial value');
|
|
26
|
+
throw new $TypeError('Reduce of empty array with no initial value');
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {
|
|
@@ -20,7 +20,7 @@ var SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !function () {
|
|
|
20
20
|
|
|
21
21
|
module.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) {
|
|
22
22
|
if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) {
|
|
23
|
-
throw $TypeError('Cannot set read only .length');
|
|
23
|
+
throw new $TypeError('Cannot set read only .length');
|
|
24
24
|
} return O.length = length;
|
|
25
25
|
} : function (O, length) {
|
|
26
26
|
return O.length = length;
|
package/internals/array-with.js
CHANGED
|
@@ -10,7 +10,7 @@ module.exports = function (O, C, index, value) {
|
|
|
10
10
|
var len = lengthOfArrayLike(O);
|
|
11
11
|
var relativeIndex = toIntegerOrInfinity(index);
|
|
12
12
|
var actualIndex = relativeIndex < 0 ? len + relativeIndex : relativeIndex;
|
|
13
|
-
if (actualIndex >= len || actualIndex < 0) throw $RangeError('Incorrect index');
|
|
13
|
+
if (actualIndex >= len || actualIndex < 0) throw new $RangeError('Incorrect index');
|
|
14
14
|
var A = new C(len);
|
|
15
15
|
var k = 0;
|
|
16
16
|
for (; k < len; k++) A[k] = k === actualIndex ? value : O[k];
|
|
@@ -43,7 +43,7 @@ module.exports = function () {
|
|
|
43
43
|
for (i = 0; i < length; i++) {
|
|
44
44
|
if (isObject(it = arguments[i])) active = active.next(i, it, true);
|
|
45
45
|
}
|
|
46
|
-
if (this === $Object && active === root) throw $TypeError('Composite keys must contain a non-primitive component');
|
|
46
|
+
if (this === $Object && active === root) throw new $TypeError('Composite keys must contain a non-primitive component');
|
|
47
47
|
for (i = 0; i < length; i++) {
|
|
48
48
|
if (!isObject(it = arguments[i])) active = active.next(i, it, false);
|
|
49
49
|
} return active;
|
|
@@ -25,7 +25,7 @@ module.exports = (fails(function () {
|
|
|
25
25
|
}) || !fails(function () {
|
|
26
26
|
nativeDateToISOString.call(new Date(NaN));
|
|
27
27
|
})) ? function toISOString() {
|
|
28
|
-
if (!$isFinite(thisTimeValue(this))) throw $RangeError('Invalid time value');
|
|
28
|
+
if (!$isFinite(thisTimeValue(this))) throw new $RangeError('Invalid time value');
|
|
29
29
|
var date = this;
|
|
30
30
|
var year = getUTCFullYear(date);
|
|
31
31
|
var milliseconds = getUTCMilliseconds(date);
|
|
@@ -9,6 +9,6 @@ var $TypeError = TypeError;
|
|
|
9
9
|
module.exports = function (hint) {
|
|
10
10
|
anObject(this);
|
|
11
11
|
if (hint === 'string' || hint === 'default') hint = 'string';
|
|
12
|
-
else if (hint !== 'number') throw $TypeError('Incorrect hint');
|
|
12
|
+
else if (hint !== 'number') throw new $TypeError('Incorrect hint');
|
|
13
13
|
return ordinaryToPrimitive(this, hint);
|
|
14
14
|
};
|
|
@@ -4,5 +4,5 @@ var tryToString = require('../internals/try-to-string');
|
|
|
4
4
|
var $TypeError = TypeError;
|
|
5
5
|
|
|
6
6
|
module.exports = function (O, P) {
|
|
7
|
-
if (!delete O[P]) throw $TypeError('Cannot delete property ' + tryToString(P) + ' of ' + tryToString(O));
|
|
7
|
+
if (!delete O[P]) throw new $TypeError('Cannot delete property ' + tryToString(P) + ' of ' + tryToString(O));
|
|
8
8
|
};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
var global = require('../internals/global');
|
|
3
|
+
var tryNodeRequire = require('../internals/try-node-require');
|
|
4
|
+
var PROPER_STRUCTURED_CLONE_TRANSFER = require('../internals/structured-clone-proper-transfer');
|
|
5
|
+
|
|
6
|
+
var structuredClone = global.structuredClone;
|
|
7
|
+
var $ArrayBuffer = global.ArrayBuffer;
|
|
8
|
+
var $MessageChannel = global.MessageChannel;
|
|
9
|
+
var detach = false;
|
|
10
|
+
var WorkerThreads, channel, buffer, $detach;
|
|
11
|
+
|
|
12
|
+
if (PROPER_STRUCTURED_CLONE_TRANSFER) {
|
|
13
|
+
detach = function (transferable) {
|
|
14
|
+
structuredClone(transferable, { transfer: [transferable] });
|
|
15
|
+
};
|
|
16
|
+
} else if ($ArrayBuffer) try {
|
|
17
|
+
if (!$MessageChannel) {
|
|
18
|
+
WorkerThreads = tryNodeRequire('worker_threads');
|
|
19
|
+
if (WorkerThreads) $MessageChannel = WorkerThreads.MessageChannel;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
if ($MessageChannel) {
|
|
23
|
+
channel = new $MessageChannel();
|
|
24
|
+
buffer = new $ArrayBuffer(2);
|
|
25
|
+
|
|
26
|
+
$detach = function (transferable) {
|
|
27
|
+
channel.port1.postMessage(null, [transferable]);
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
if (buffer.byteLength === 2) {
|
|
31
|
+
$detach(buffer);
|
|
32
|
+
if (buffer.byteLength === 0) detach = $detach;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
} catch (error) { /* empty */ }
|
|
36
|
+
|
|
37
|
+
module.exports = detach;
|
|
@@ -4,7 +4,7 @@ var uncurryThis = require('../internals/function-uncurry-this');
|
|
|
4
4
|
var $Error = Error;
|
|
5
5
|
var replace = uncurryThis(''.replace);
|
|
6
6
|
|
|
7
|
-
var TEST = (function (arg) { return String($Error(arg).stack); })('zxcasd');
|
|
7
|
+
var TEST = (function (arg) { return String(new $Error(arg).stack); })('zxcasd');
|
|
8
8
|
// eslint-disable-next-line redos/no-vulnerable -- safe
|
|
9
9
|
var V8_OR_CHAKRA_STACK_ENTRY = /\n\s*at [^:]*:[^\n]*/;
|
|
10
10
|
var IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST);
|
|
@@ -3,7 +3,7 @@ var fails = require('../internals/fails');
|
|
|
3
3
|
var createPropertyDescriptor = require('../internals/create-property-descriptor');
|
|
4
4
|
|
|
5
5
|
module.exports = !fails(function () {
|
|
6
|
-
var error = Error('a');
|
|
6
|
+
var error = new Error('a');
|
|
7
7
|
if (!('stack' in error)) return true;
|
|
8
8
|
// eslint-disable-next-line es/no-object-defineproperty -- safe
|
|
9
9
|
Object.defineProperty(error, 'stack', createPropertyDescriptor(1, 7));
|
|
@@ -10,5 +10,5 @@ var $TypeError = TypeError;
|
|
|
10
10
|
module.exports = function (argument, usingIterator) {
|
|
11
11
|
var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;
|
|
12
12
|
if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));
|
|
13
|
-
throw $TypeError(tryToString(argument) + ' is not iterable');
|
|
13
|
+
throw new $TypeError(tryToString(argument) + ' is not iterable');
|
|
14
14
|
};
|
|
@@ -33,9 +33,9 @@ module.exports = function (obj) {
|
|
|
33
33
|
var numSize = +obj.size;
|
|
34
34
|
// NOTE: If size is undefined, then numSize will be NaN
|
|
35
35
|
// eslint-disable-next-line no-self-compare -- NaN check
|
|
36
|
-
if (numSize !== numSize) throw $TypeError(INVALID_SIZE);
|
|
36
|
+
if (numSize !== numSize) throw new $TypeError(INVALID_SIZE);
|
|
37
37
|
var intSize = toIntegerOrInfinity(numSize);
|
|
38
|
-
if (intSize < 0) throw $RangeError(INVALID_SIZE);
|
|
38
|
+
if (intSize < 0) throw new $RangeError(INVALID_SIZE);
|
|
39
39
|
return new SetRecord(
|
|
40
40
|
obj,
|
|
41
41
|
max(intSize, 0),
|
package/internals/ieee754.js
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
// IEEE754 conversions based on https://github.com/feross/ieee754
|
|
3
|
-
var sign = require('../internals/math-sign');
|
|
4
|
-
var trunc = require('../internals/math-trunc');
|
|
5
|
-
|
|
6
3
|
var $Array = Array;
|
|
7
4
|
var abs = Math.abs;
|
|
8
5
|
var pow = Math.pow;
|
|
@@ -10,21 +7,13 @@ var floor = Math.floor;
|
|
|
10
7
|
var log = Math.log;
|
|
11
8
|
var LN2 = Math.LN2;
|
|
12
9
|
|
|
13
|
-
var roundToEven = function (number) {
|
|
14
|
-
var truncated = trunc(number);
|
|
15
|
-
var delta = abs(number - truncated);
|
|
16
|
-
if (delta > 0.5 || delta === 0.5 && truncated % 2 !== 0) {
|
|
17
|
-
return truncated + sign(number);
|
|
18
|
-
} return truncated;
|
|
19
|
-
};
|
|
20
|
-
|
|
21
10
|
var pack = function (number, mantissaLength, bytes) {
|
|
22
11
|
var buffer = $Array(bytes);
|
|
23
12
|
var exponentLength = bytes * 8 - mantissaLength - 1;
|
|
24
13
|
var eMax = (1 << exponentLength) - 1;
|
|
25
14
|
var eBias = eMax >> 1;
|
|
26
15
|
var rt = mantissaLength === 23 ? pow(2, -24) - pow(2, -77) : 0;
|
|
27
|
-
var
|
|
16
|
+
var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0;
|
|
28
17
|
var index = 0;
|
|
29
18
|
var exponent, mantissa, c;
|
|
30
19
|
number = abs(number);
|
|
@@ -53,10 +42,10 @@ var pack = function (number, mantissaLength, bytes) {
|
|
|
53
42
|
mantissa = 0;
|
|
54
43
|
exponent = eMax;
|
|
55
44
|
} else if (exponent + eBias >= 1) {
|
|
56
|
-
mantissa =
|
|
45
|
+
mantissa = (number * c - 1) * pow(2, mantissaLength);
|
|
57
46
|
exponent += eBias;
|
|
58
47
|
} else {
|
|
59
|
-
mantissa =
|
|
48
|
+
mantissa = number * pow(2, eBias - 1) * pow(2, mantissaLength);
|
|
60
49
|
exponent = 0;
|
|
61
50
|
}
|
|
62
51
|
}
|
|
@@ -72,7 +61,7 @@ var pack = function (number, mantissaLength, bytes) {
|
|
|
72
61
|
exponent /= 256;
|
|
73
62
|
exponentLength -= 8;
|
|
74
63
|
}
|
|
75
|
-
buffer[--index] |=
|
|
64
|
+
buffer[--index] |= sign * 128;
|
|
76
65
|
return buffer;
|
|
77
66
|
};
|
|
78
67
|
|
|
@@ -83,10 +72,10 @@ var unpack = function (buffer, mantissaLength) {
|
|
|
83
72
|
var eBias = eMax >> 1;
|
|
84
73
|
var nBits = exponentLength - 7;
|
|
85
74
|
var index = bytes - 1;
|
|
86
|
-
var
|
|
87
|
-
var exponent =
|
|
75
|
+
var sign = buffer[index--];
|
|
76
|
+
var exponent = sign & 127;
|
|
88
77
|
var mantissa;
|
|
89
|
-
|
|
78
|
+
sign >>= 7;
|
|
90
79
|
while (nBits > 0) {
|
|
91
80
|
exponent = exponent * 256 + buffer[index--];
|
|
92
81
|
nBits -= 8;
|
|
@@ -101,11 +90,11 @@ var unpack = function (buffer, mantissaLength) {
|
|
|
101
90
|
if (exponent === 0) {
|
|
102
91
|
exponent = 1 - eBias;
|
|
103
92
|
} else if (exponent === eMax) {
|
|
104
|
-
return mantissa ? NaN :
|
|
93
|
+
return mantissa ? NaN : sign ? -Infinity : Infinity;
|
|
105
94
|
} else {
|
|
106
95
|
mantissa += pow(2, mantissaLength);
|
|
107
96
|
exponent -= eBias;
|
|
108
|
-
} return (
|
|
97
|
+
} return (sign ? -1 : 1) * mantissa * pow(2, exponent - mantissaLength);
|
|
109
98
|
};
|
|
110
99
|
|
|
111
100
|
module.exports = {
|
|
@@ -21,7 +21,7 @@ var getterFor = function (TYPE) {
|
|
|
21
21
|
return function (it) {
|
|
22
22
|
var state;
|
|
23
23
|
if (!isObject(it) || (state = get(it)).type !== TYPE) {
|
|
24
|
-
throw TypeError('Incompatible receiver, ' + TYPE + ' required');
|
|
24
|
+
throw new TypeError('Incompatible receiver, ' + TYPE + ' required');
|
|
25
25
|
} return state;
|
|
26
26
|
};
|
|
27
27
|
};
|
|
@@ -34,7 +34,7 @@ if (NATIVE_WEAK_MAP || shared.state) {
|
|
|
34
34
|
store.set = store.set;
|
|
35
35
|
/* eslint-enable no-self-assign -- prototype methods protection */
|
|
36
36
|
set = function (it, metadata) {
|
|
37
|
-
if (store.has(it)) throw TypeError(OBJECT_ALREADY_INITIALIZED);
|
|
37
|
+
if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);
|
|
38
38
|
metadata.facade = it;
|
|
39
39
|
store.set(it, metadata);
|
|
40
40
|
return metadata;
|
|
@@ -49,7 +49,7 @@ if (NATIVE_WEAK_MAP || shared.state) {
|
|
|
49
49
|
var STATE = sharedKey('state');
|
|
50
50
|
hiddenKeys[STATE] = true;
|
|
51
51
|
set = function (it, metadata) {
|
|
52
|
-
if (hasOwn(it, STATE)) throw TypeError(OBJECT_ALREADY_INITIALIZED);
|
|
52
|
+
if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);
|
|
53
53
|
metadata.facade = it;
|
|
54
54
|
createNonEnumerableProperty(it, STATE, metadata);
|
|
55
55
|
return metadata;
|
|
@@ -11,7 +11,7 @@ var empty = [];
|
|
|
11
11
|
var construct = getBuiltIn('Reflect', 'construct');
|
|
12
12
|
var constructorRegExp = /^\s*(?:class|function)\b/;
|
|
13
13
|
var exec = uncurryThis(constructorRegExp.exec);
|
|
14
|
-
var INCORRECT_TO_STRING = !constructorRegExp.
|
|
14
|
+
var INCORRECT_TO_STRING = !constructorRegExp.test(noop);
|
|
15
15
|
|
|
16
16
|
var isConstructorModern = function isConstructor(argument) {
|
|
17
17
|
if (!isCallable(argument)) return false;
|
package/internals/iterate.js
CHANGED
|
@@ -46,7 +46,7 @@ module.exports = function (iterable, unboundFunction, options) {
|
|
|
46
46
|
iterator = iterable;
|
|
47
47
|
} else {
|
|
48
48
|
iterFn = getIteratorMethod(iterable);
|
|
49
|
-
if (!iterFn) throw $TypeError(tryToString(iterable) + ' is not iterable');
|
|
49
|
+
if (!iterFn) throw new $TypeError(tryToString(iterable) + ' is not iterable');
|
|
50
50
|
// optimisation for array iterators
|
|
51
51
|
if (isArrayIteratorMethod(iterFn)) {
|
|
52
52
|
for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {
|
package/internals/map-upsert.js
CHANGED
|
@@ -16,7 +16,7 @@ module.exports = function upsert(key, updateFn /* , insertFn */) {
|
|
|
16
16
|
var insertFn = arguments.length > 2 ? arguments[2] : undefined;
|
|
17
17
|
var value;
|
|
18
18
|
if (!isCallable(updateFn) && !isCallable(insertFn)) {
|
|
19
|
-
throw $TypeError('At least one callback required');
|
|
19
|
+
throw new $TypeError('At least one callback required');
|
|
20
20
|
}
|
|
21
21
|
if (call(has, map, key)) {
|
|
22
22
|
value = call(get, map, key);
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
var floatRound = require('../internals/math-float-round');
|
|
3
|
+
|
|
4
|
+
var FLOAT16_EPSILON = 0.0009765625;
|
|
5
|
+
var FLOAT16_MAX_VALUE = 65504;
|
|
6
|
+
var FLOAT16_MIN_VALUE = 6.103515625e-05;
|
|
7
|
+
|
|
8
|
+
// `Math.f16round` method implementation
|
|
9
|
+
// https://github.com/tc39/proposal-float16array
|
|
10
|
+
module.exports = Math.f16round || function f16round(x) {
|
|
11
|
+
return floatRound(x, FLOAT16_EPSILON, FLOAT16_MAX_VALUE, FLOAT16_MIN_VALUE);
|
|
12
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
var sign = require('../internals/math-sign');
|
|
3
|
+
|
|
4
|
+
var abs = Math.abs;
|
|
5
|
+
|
|
6
|
+
var EPSILON = 2.220446049250313e-16; // Number.EPSILON
|
|
7
|
+
var INVERSE_EPSILON = 1 / EPSILON;
|
|
8
|
+
|
|
9
|
+
var roundTiesToEven = function (n) {
|
|
10
|
+
return n + INVERSE_EPSILON - INVERSE_EPSILON;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
module.exports = function (x, FLOAT_EPSILON, FLOAT_MAX_VALUE, FLOAT_MIN_VALUE) {
|
|
14
|
+
var n = +x;
|
|
15
|
+
var absolute = abs(n);
|
|
16
|
+
var s = sign(n);
|
|
17
|
+
if (absolute < FLOAT_MIN_VALUE) return s * roundTiesToEven(absolute / FLOAT_MIN_VALUE / FLOAT_EPSILON) * FLOAT_MIN_VALUE * FLOAT_EPSILON;
|
|
18
|
+
var a = (1 + FLOAT_EPSILON / EPSILON) * absolute;
|
|
19
|
+
var result = a - (a - absolute);
|
|
20
|
+
// eslint-disable-next-line no-self-compare -- NaN check
|
|
21
|
+
if (result > FLOAT_MAX_VALUE || result !== result) return s * Infinity;
|
|
22
|
+
return s * result;
|
|
23
|
+
};
|
package/internals/math-fround.js
CHANGED
|
@@ -1,29 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
var
|
|
2
|
+
var floatRound = require('../internals/math-float-round');
|
|
3
3
|
|
|
4
|
-
var
|
|
5
|
-
var
|
|
6
|
-
var
|
|
7
|
-
var EPSILON32 = pow(2, -23);
|
|
8
|
-
var MAX32 = pow(2, 127) * (2 - EPSILON32);
|
|
9
|
-
var MIN32 = pow(2, -126);
|
|
10
|
-
|
|
11
|
-
var roundTiesToEven = function (n) {
|
|
12
|
-
return n + 1 / EPSILON - 1 / EPSILON;
|
|
13
|
-
};
|
|
4
|
+
var FLOAT32_EPSILON = 1.1920928955078125e-7; // 2 ** -23;
|
|
5
|
+
var FLOAT32_MAX_VALUE = 3.4028234663852886e+38; // 2 ** 128 - 2 ** 104
|
|
6
|
+
var FLOAT32_MIN_VALUE = 1.1754943508222875e-38; // 2 ** -126;
|
|
14
7
|
|
|
15
8
|
// `Math.fround` method implementation
|
|
16
9
|
// https://tc39.es/ecma262/#sec-math.fround
|
|
17
10
|
// eslint-disable-next-line es/no-math-fround -- safe
|
|
18
11
|
module.exports = Math.fround || function fround(x) {
|
|
19
|
-
|
|
20
|
-
var $abs = abs(n);
|
|
21
|
-
var $sign = sign(n);
|
|
22
|
-
var a, result;
|
|
23
|
-
if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;
|
|
24
|
-
a = (1 + EPSILON32 / EPSILON) * $abs;
|
|
25
|
-
result = a - (a - $abs);
|
|
26
|
-
// eslint-disable-next-line no-self-compare -- NaN check
|
|
27
|
-
if (result > MAX32 || result !== result) return $sign * Infinity;
|
|
28
|
-
return $sign * result;
|
|
12
|
+
return floatRound(x, FLOAT32_EPSILON, FLOAT32_MAX_VALUE, FLOAT32_MIN_VALUE);
|
|
29
13
|
};
|
|
@@ -6,7 +6,7 @@ var $TypeError = TypeError;
|
|
|
6
6
|
var PromiseCapability = function (C) {
|
|
7
7
|
var resolve, reject;
|
|
8
8
|
this.promise = new C(function ($$resolve, $$reject) {
|
|
9
|
-
if (resolve !== undefined || reject !== undefined) throw $TypeError('Bad Promise constructor');
|
|
9
|
+
if (resolve !== undefined || reject !== undefined) throw new $TypeError('Bad Promise constructor');
|
|
10
10
|
resolve = $$resolve;
|
|
11
11
|
reject = $$reject;
|
|
12
12
|
});
|
package/internals/not-a-nan.js
CHANGED
|
@@ -19,10 +19,10 @@ var $TypeError = TypeError;
|
|
|
19
19
|
var $RangeIterator = createIteratorConstructor(function NumericRangeIterator(start, end, option, type, zero, one) {
|
|
20
20
|
// TODO: Drop the first `typeof` check after removing legacy methods in `core-js@4`
|
|
21
21
|
if (typeof start != type || (end !== Infinity && end !== -Infinity && typeof end != type)) {
|
|
22
|
-
throw $TypeError(INCORRECT_RANGE);
|
|
22
|
+
throw new $TypeError(INCORRECT_RANGE);
|
|
23
23
|
}
|
|
24
24
|
if (start === Infinity || start === -Infinity) {
|
|
25
|
-
throw $RangeError(INCORRECT_RANGE);
|
|
25
|
+
throw new $RangeError(INCORRECT_RANGE);
|
|
26
26
|
}
|
|
27
27
|
var ifIncrease = end > start;
|
|
28
28
|
var inclusiveEnd = false;
|
|
@@ -35,16 +35,16 @@ var $RangeIterator = createIteratorConstructor(function NumericRangeIterator(sta
|
|
|
35
35
|
} else if (typeof option == type) {
|
|
36
36
|
step = option;
|
|
37
37
|
} else {
|
|
38
|
-
throw $TypeError(INCORRECT_RANGE);
|
|
38
|
+
throw new $TypeError(INCORRECT_RANGE);
|
|
39
39
|
}
|
|
40
40
|
if (isNullOrUndefined(step)) {
|
|
41
41
|
step = ifIncrease ? one : -one;
|
|
42
42
|
}
|
|
43
43
|
if (typeof step != type) {
|
|
44
|
-
throw $TypeError(INCORRECT_RANGE);
|
|
44
|
+
throw new $TypeError(INCORRECT_RANGE);
|
|
45
45
|
}
|
|
46
46
|
if (step === Infinity || step === -Infinity || (step === zero && start !== end)) {
|
|
47
|
-
throw $RangeError(INCORRECT_RANGE);
|
|
47
|
+
throw new $RangeError(INCORRECT_RANGE);
|
|
48
48
|
}
|
|
49
49
|
// eslint-disable-next-line no-self-compare -- NaN check
|
|
50
50
|
var hitsEnd = start !== start || end !== end || step !== step || (end > start) !== (step > zero);
|
|
@@ -38,7 +38,7 @@ exports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P
|
|
|
38
38
|
if (IE8_DOM_DEFINE) try {
|
|
39
39
|
return $defineProperty(O, P, Attributes);
|
|
40
40
|
} catch (error) { /* empty */ }
|
|
41
|
-
if ('get' in Attributes || 'set' in Attributes) throw $TypeError('Accessors not supported');
|
|
41
|
+
if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');
|
|
42
42
|
if ('value' in Attributes) O[P] = Attributes.value;
|
|
43
43
|
return O;
|
|
44
44
|
};
|