core-js 3.22.3 → 3.22.7
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/internals/add-to-unscopables.js +2 -2
- package/internals/array-buffer-view-core.js +4 -4
- package/internals/array-buffer.js +3 -3
- package/internals/async-from-sync-iterator.js +2 -2
- package/internals/async-iterator-create-proxy.js +2 -2
- package/internals/async-iterator-prototype.js +2 -2
- package/internals/collection-strong.js +3 -3
- package/internals/collection-weak.js +3 -3
- package/internals/collection.js +3 -3
- package/internals/define-built-in-accessor.js +8 -0
- package/internals/define-built-in.js +20 -0
- package/internals/define-built-ins.js +6 -0
- package/internals/{set-global.js → define-global-property.js} +0 -0
- package/internals/define-iterator.js +4 -4
- package/internals/export.js +18 -19
- package/internals/fix-regexp-well-known-symbol-logic.js +3 -3
- package/internals/iterator-create-proxy.js +2 -2
- package/internals/iterators-core.js +2 -2
- package/internals/make-built-in.js +48 -0
- package/internals/math-expm1.js +2 -1
- package/internals/math-fround.js +3 -2
- package/internals/math-log1p.js +2 -1
- package/internals/math-sign.js +2 -1
- package/internals/math-trunc.js +10 -0
- package/internals/shared-store.js +2 -2
- package/internals/shared.js +2 -2
- package/internals/symbol-define-to-primitive.js +3 -3
- package/internals/to-integer-or-infinity.js +3 -4
- package/internals/typed-array-constructor.js +3 -3
- package/modules/es.aggregate-error.cause.js +1 -1
- package/modules/es.aggregate-error.constructor.js +1 -1
- package/modules/es.array-buffer.constructor.js +1 -1
- package/modules/es.array.concat.js +1 -1
- package/modules/es.data-view.constructor.js +1 -1
- package/modules/es.date.to-json.js +1 -1
- package/modules/es.date.to-primitive.js +2 -2
- package/modules/es.date.to-string.js +2 -2
- package/modules/es.error.cause.js +2 -2
- package/modules/es.error.to-string.js +2 -2
- package/modules/es.function.has-instance.js +3 -2
- package/modules/es.json.stringify.js +1 -1
- package/modules/es.math.acosh.js +4 -3
- package/modules/es.math.asinh.js +2 -1
- package/modules/es.math.atanh.js +2 -1
- package/modules/es.math.cbrt.js +2 -1
- package/modules/es.math.clz32.js +2 -1
- package/modules/es.math.hypot.js +1 -1
- package/modules/es.math.sinh.js +2 -1
- package/modules/es.math.tanh.js +4 -3
- package/modules/es.math.trunc.js +2 -6
- package/modules/es.number.constructor.js +2 -2
- package/modules/es.object.assign.js +1 -1
- package/modules/es.object.to-string.js +2 -2
- package/modules/es.promise.catch.js +2 -2
- package/modules/es.promise.constructor.js +17 -21
- package/modules/es.promise.finally.js +2 -2
- package/modules/es.regexp.constructor.js +2 -2
- package/modules/es.regexp.dot-all.js +3 -3
- package/modules/es.regexp.flags.js +2 -2
- package/modules/es.regexp.sticky.js +3 -3
- package/modules/es.regexp.to-string.js +2 -2
- package/modules/es.string.from-code-point.js +1 -1
- package/modules/es.string.match-all.js +2 -2
- package/modules/es.symbol.constructor.js +5 -5
- package/modules/es.symbol.description.js +1 -1
- package/modules/es.weak-map.constructor.js +2 -2
- package/modules/esnext.array.last-index.js +2 -2
- package/modules/esnext.array.last-item.js +2 -2
- package/modules/esnext.array.to-spliced.js +1 -1
- package/modules/esnext.async-iterator.constructor.js +1 -1
- package/modules/esnext.iterator.constructor.js +1 -1
- package/modules/esnext.map.merge.js +1 -1
- package/modules/esnext.math.signbit.js +3 -1
- package/modules/esnext.observable.constructor.js +12 -12
- package/modules/esnext.typed-array.to-spliced.js +1 -1
- package/modules/web.dom-exception.constructor.js +10 -10
- package/modules/web.dom-exception.stack.js +1 -1
- package/modules/web.queue-microtask.js +1 -1
- package/modules/web.structured-clone.js +21 -9
- package/modules/web.url-search-params.constructor.js +8 -8
- package/modules/web.url.constructor.js +43 -45
- package/package.json +2 -3
- package/internals/redefine-all.js +0 -6
- package/internals/redefine.js +0 -46
|
@@ -39,7 +39,7 @@ var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
|
|
|
39
39
|
// `Array.prototype.concat` method
|
|
40
40
|
// https://tc39.es/ecma262/#sec-array.prototype.concat
|
|
41
41
|
// with adding support of @@isConcatSpreadable and @@species
|
|
42
|
-
$({ target: 'Array', proto: true, forced: FORCED }, {
|
|
42
|
+
$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {
|
|
43
43
|
// eslint-disable-next-line no-unused-vars -- required for `.length`
|
|
44
44
|
concat: function concat(arg) {
|
|
45
45
|
var O = toObject(this);
|
|
@@ -4,6 +4,6 @@ var NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');
|
|
|
4
4
|
|
|
5
5
|
// `DataView` constructor
|
|
6
6
|
// https://tc39.es/ecma262/#sec-dataview-constructor
|
|
7
|
-
$({ global: true, forced: !NATIVE_ARRAY_BUFFER }, {
|
|
7
|
+
$({ global: true, constructor: true, forced: !NATIVE_ARRAY_BUFFER }, {
|
|
8
8
|
DataView: ArrayBufferModule.DataView
|
|
9
9
|
});
|
|
@@ -11,7 +11,7 @@ var FORCED = fails(function () {
|
|
|
11
11
|
|
|
12
12
|
// `Date.prototype.toJSON` method
|
|
13
13
|
// https://tc39.es/ecma262/#sec-date.prototype.tojson
|
|
14
|
-
$({ target: 'Date', proto: true, forced: FORCED }, {
|
|
14
|
+
$({ target: 'Date', proto: true, arity: 1, forced: FORCED }, {
|
|
15
15
|
// eslint-disable-next-line no-unused-vars -- required for `.length`
|
|
16
16
|
toJSON: function toJSON(key) {
|
|
17
17
|
var O = toObject(this);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
var hasOwn = require('../internals/has-own-property');
|
|
2
|
-
var
|
|
2
|
+
var defineBuiltIn = require('../internals/define-built-in');
|
|
3
3
|
var dateToPrimitive = require('../internals/date-to-primitive');
|
|
4
4
|
var wellKnownSymbol = require('../internals/well-known-symbol');
|
|
5
5
|
|
|
@@ -9,5 +9,5 @@ var DatePrototype = Date.prototype;
|
|
|
9
9
|
// `Date.prototype[@@toPrimitive]` method
|
|
10
10
|
// https://tc39.es/ecma262/#sec-date.prototype-@@toprimitive
|
|
11
11
|
if (!hasOwn(DatePrototype, TO_PRIMITIVE)) {
|
|
12
|
-
|
|
12
|
+
defineBuiltIn(DatePrototype, TO_PRIMITIVE, dateToPrimitive);
|
|
13
13
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// TODO: Remove from `core-js@4`
|
|
2
2
|
var uncurryThis = require('../internals/function-uncurry-this');
|
|
3
|
-
var
|
|
3
|
+
var defineBuiltIn = require('../internals/define-built-in');
|
|
4
4
|
|
|
5
5
|
var DatePrototype = Date.prototype;
|
|
6
6
|
var INVALID_DATE = 'Invalid Date';
|
|
@@ -11,7 +11,7 @@ var getTime = uncurryThis(DatePrototype.getTime);
|
|
|
11
11
|
// `Date.prototype.toString` method
|
|
12
12
|
// https://tc39.es/ecma262/#sec-date.prototype.tostring
|
|
13
13
|
if (String(new Date(NaN)) != INVALID_DATE) {
|
|
14
|
-
|
|
14
|
+
defineBuiltIn(DatePrototype, TO_STRING, function toString() {
|
|
15
15
|
var value = getTime(this);
|
|
16
16
|
// eslint-disable-next-line no-self-compare -- NaN check
|
|
17
17
|
return value === value ? un$DateToString(this) : INVALID_DATE;
|
|
@@ -12,14 +12,14 @@ var FORCED = Error('e', { cause: 7 }).cause !== 7;
|
|
|
12
12
|
var exportGlobalErrorCauseWrapper = function (ERROR_NAME, wrapper) {
|
|
13
13
|
var O = {};
|
|
14
14
|
O[ERROR_NAME] = wrapErrorConstructorWithCause(ERROR_NAME, wrapper, FORCED);
|
|
15
|
-
$({ global: true, forced: FORCED }, O);
|
|
15
|
+
$({ global: true, constructor: true, arity: 1, forced: FORCED }, O);
|
|
16
16
|
};
|
|
17
17
|
|
|
18
18
|
var exportWebAssemblyErrorCauseWrapper = function (ERROR_NAME, wrapper) {
|
|
19
19
|
if (WebAssembly && WebAssembly[ERROR_NAME]) {
|
|
20
20
|
var O = {};
|
|
21
21
|
O[ERROR_NAME] = wrapErrorConstructorWithCause(WEB_ASSEMBLY + '.' + ERROR_NAME, wrapper, FORCED);
|
|
22
|
-
$({ target: WEB_ASSEMBLY, stat: true, forced: FORCED }, O);
|
|
22
|
+
$({ target: WEB_ASSEMBLY, stat: true, constructor: true, arity: 1, forced: FORCED }, O);
|
|
23
23
|
}
|
|
24
24
|
};
|
|
25
25
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var
|
|
1
|
+
var defineBuiltIn = require('../internals/define-built-in');
|
|
2
2
|
var errorToString = require('../internals/error-to-string');
|
|
3
3
|
|
|
4
4
|
var ErrorPrototype = Error.prototype;
|
|
@@ -6,5 +6,5 @@ var ErrorPrototype = Error.prototype;
|
|
|
6
6
|
// `Error.prototype.toString` method fix
|
|
7
7
|
// https://tc39.es/ecma262/#sec-error.prototype.tostring
|
|
8
8
|
if (ErrorPrototype.toString !== errorToString) {
|
|
9
|
-
|
|
9
|
+
defineBuiltIn(ErrorPrototype, 'toString', errorToString);
|
|
10
10
|
}
|
|
@@ -4,6 +4,7 @@ var isObject = require('../internals/is-object');
|
|
|
4
4
|
var definePropertyModule = require('../internals/object-define-property');
|
|
5
5
|
var getPrototypeOf = require('../internals/object-get-prototype-of');
|
|
6
6
|
var wellKnownSymbol = require('../internals/well-known-symbol');
|
|
7
|
+
var makeBuiltIn = require('../internals/make-built-in');
|
|
7
8
|
|
|
8
9
|
var HAS_INSTANCE = wellKnownSymbol('hasInstance');
|
|
9
10
|
var FunctionPrototype = Function.prototype;
|
|
@@ -11,12 +12,12 @@ var FunctionPrototype = Function.prototype;
|
|
|
11
12
|
// `Function.prototype[@@hasInstance]` method
|
|
12
13
|
// https://tc39.es/ecma262/#sec-function.prototype-@@hasinstance
|
|
13
14
|
if (!(HAS_INSTANCE in FunctionPrototype)) {
|
|
14
|
-
definePropertyModule.f(FunctionPrototype, HAS_INSTANCE, { value: function (O) {
|
|
15
|
+
definePropertyModule.f(FunctionPrototype, HAS_INSTANCE, { value: makeBuiltIn(function (O) {
|
|
15
16
|
if (!isCallable(this) || !isObject(O)) return false;
|
|
16
17
|
var P = this.prototype;
|
|
17
18
|
if (!isObject(P)) return O instanceof this;
|
|
18
19
|
// for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:
|
|
19
20
|
while (O = getPrototypeOf(O)) if (P === O) return true;
|
|
20
21
|
return false;
|
|
21
|
-
} });
|
|
22
|
+
}, HAS_INSTANCE) });
|
|
22
23
|
}
|
|
@@ -61,7 +61,7 @@ var fixIllFormed = function (match, offset, string) {
|
|
|
61
61
|
if ($stringify) {
|
|
62
62
|
// `JSON.stringify` method
|
|
63
63
|
// https://tc39.es/ecma262/#sec-json.stringify
|
|
64
|
-
$({ target: 'JSON', stat: true, forced: WRONG_SYMBOLS_CONVERSION || ILL_FORMED_UNICODE }, {
|
|
64
|
+
$({ target: 'JSON', stat: true, arity: 3, forced: WRONG_SYMBOLS_CONVERSION || ILL_FORMED_UNICODE }, {
|
|
65
65
|
// eslint-disable-next-line no-unused-vars -- required for `.length`
|
|
66
66
|
stringify: function stringify(it, replacer, space) {
|
|
67
67
|
var args = arraySlice(arguments);
|
package/modules/es.math.acosh.js
CHANGED
|
@@ -17,8 +17,9 @@ var FORCED = !$acosh
|
|
|
17
17
|
// https://tc39.es/ecma262/#sec-math.acosh
|
|
18
18
|
$({ target: 'Math', stat: true, forced: FORCED }, {
|
|
19
19
|
acosh: function acosh(x) {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
var n = +x;
|
|
21
|
+
return n < 1 ? NaN : n > 94906265.62425156
|
|
22
|
+
? log(n) + LN2
|
|
23
|
+
: log1p(n - 1 + sqrt(n - 1) * sqrt(n + 1));
|
|
23
24
|
}
|
|
24
25
|
});
|
package/modules/es.math.asinh.js
CHANGED
|
@@ -6,7 +6,8 @@ var log = Math.log;
|
|
|
6
6
|
var sqrt = Math.sqrt;
|
|
7
7
|
|
|
8
8
|
function asinh(x) {
|
|
9
|
-
|
|
9
|
+
var n = +x;
|
|
10
|
+
return !isFinite(n) || n == 0 ? n : n < 0 ? -asinh(-n) : log(n + sqrt(n * n + 1));
|
|
10
11
|
}
|
|
11
12
|
|
|
12
13
|
// `Math.asinh` method
|
package/modules/es.math.atanh.js
CHANGED
|
@@ -9,6 +9,7 @@ var log = Math.log;
|
|
|
9
9
|
// Tor Browser bug: Math.atanh(-0) -> 0
|
|
10
10
|
$({ target: 'Math', stat: true, forced: !($atanh && 1 / $atanh(-0) < 0) }, {
|
|
11
11
|
atanh: function atanh(x) {
|
|
12
|
-
|
|
12
|
+
var n = +x;
|
|
13
|
+
return n == 0 ? n : log((1 + n) / (1 - n)) / 2;
|
|
13
14
|
}
|
|
14
15
|
});
|
package/modules/es.math.cbrt.js
CHANGED
package/modules/es.math.clz32.js
CHANGED
|
@@ -8,6 +8,7 @@ var LOG2E = Math.LOG2E;
|
|
|
8
8
|
// https://tc39.es/ecma262/#sec-math.clz32
|
|
9
9
|
$({ target: 'Math', stat: true }, {
|
|
10
10
|
clz32: function clz32(x) {
|
|
11
|
-
|
|
11
|
+
var n = x >>> 0;
|
|
12
|
+
return n ? 31 - floor(log(n + 0.5) * LOG2E) : 32;
|
|
12
13
|
}
|
|
13
14
|
});
|
package/modules/es.math.hypot.js
CHANGED
|
@@ -11,7 +11,7 @@ var BUGGY = !!$hypot && $hypot(Infinity, NaN) !== Infinity;
|
|
|
11
11
|
|
|
12
12
|
// `Math.hypot` method
|
|
13
13
|
// https://tc39.es/ecma262/#sec-math.hypot
|
|
14
|
-
$({ target: 'Math', stat: true, forced: BUGGY }, {
|
|
14
|
+
$({ target: 'Math', stat: true, arity: 2, forced: BUGGY }, {
|
|
15
15
|
// eslint-disable-next-line no-unused-vars -- required for `.length`
|
|
16
16
|
hypot: function hypot(value1, value2) {
|
|
17
17
|
var sum = 0;
|
package/modules/es.math.sinh.js
CHANGED
|
@@ -16,6 +16,7 @@ var FORCED = fails(function () {
|
|
|
16
16
|
// V8 near Chromium 38 has a problem with very small numbers
|
|
17
17
|
$({ target: 'Math', stat: true, forced: FORCED }, {
|
|
18
18
|
sinh: function sinh(x) {
|
|
19
|
-
|
|
19
|
+
var n = +x;
|
|
20
|
+
return abs(n) < 1 ? (expm1(n) - expm1(-n)) / 2 : (exp(n - 1) - exp(-n - 1)) * (E / 2);
|
|
20
21
|
}
|
|
21
22
|
});
|
package/modules/es.math.tanh.js
CHANGED
|
@@ -7,8 +7,9 @@ var exp = Math.exp;
|
|
|
7
7
|
// https://tc39.es/ecma262/#sec-math.tanh
|
|
8
8
|
$({ target: 'Math', stat: true }, {
|
|
9
9
|
tanh: function tanh(x) {
|
|
10
|
-
var
|
|
11
|
-
var
|
|
12
|
-
|
|
10
|
+
var n = +x;
|
|
11
|
+
var a = expm1(n);
|
|
12
|
+
var b = expm1(-n);
|
|
13
|
+
return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(n) + exp(-n));
|
|
13
14
|
}
|
|
14
15
|
});
|
package/modules/es.math.trunc.js
CHANGED
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
var $ = require('../internals/export');
|
|
2
|
-
|
|
3
|
-
var ceil = Math.ceil;
|
|
4
|
-
var floor = Math.floor;
|
|
2
|
+
var trunc = require('../internals/math-trunc');
|
|
5
3
|
|
|
6
4
|
// `Math.trunc` method
|
|
7
5
|
// https://tc39.es/ecma262/#sec-math.trunc
|
|
8
6
|
$({ target: 'Math', stat: true }, {
|
|
9
|
-
trunc:
|
|
10
|
-
return (it > 0 ? floor : ceil)(it);
|
|
11
|
-
}
|
|
7
|
+
trunc: trunc
|
|
12
8
|
});
|
|
@@ -3,7 +3,7 @@ var DESCRIPTORS = require('../internals/descriptors');
|
|
|
3
3
|
var global = require('../internals/global');
|
|
4
4
|
var uncurryThis = require('../internals/function-uncurry-this');
|
|
5
5
|
var isForced = require('../internals/is-forced');
|
|
6
|
-
var
|
|
6
|
+
var defineBuiltIn = require('../internals/define-built-in');
|
|
7
7
|
var hasOwn = require('../internals/has-own-property');
|
|
8
8
|
var inheritIfRequired = require('../internals/inherit-if-required');
|
|
9
9
|
var isPrototypeOf = require('../internals/object-is-prototype-of');
|
|
@@ -84,5 +84,5 @@ if (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumb
|
|
|
84
84
|
}
|
|
85
85
|
NumberWrapper.prototype = NumberPrototype;
|
|
86
86
|
NumberPrototype.constructor = NumberWrapper;
|
|
87
|
-
|
|
87
|
+
defineBuiltIn(global, NUMBER, NumberWrapper, { constructor: true });
|
|
88
88
|
}
|
|
@@ -4,6 +4,6 @@ var assign = require('../internals/object-assign');
|
|
|
4
4
|
// `Object.assign` method
|
|
5
5
|
// https://tc39.es/ecma262/#sec-object.assign
|
|
6
6
|
// eslint-disable-next-line es-x/no-object-assign -- required for testing
|
|
7
|
-
$({ target: 'Object', stat: true, forced: Object.assign !== assign }, {
|
|
7
|
+
$({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, {
|
|
8
8
|
assign: assign
|
|
9
9
|
});
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');
|
|
2
|
-
var
|
|
2
|
+
var defineBuiltIn = require('../internals/define-built-in');
|
|
3
3
|
var toString = require('../internals/object-to-string');
|
|
4
4
|
|
|
5
5
|
// `Object.prototype.toString` method
|
|
6
6
|
// https://tc39.es/ecma262/#sec-object.prototype.tostring
|
|
7
7
|
if (!TO_STRING_TAG_SUPPORT) {
|
|
8
|
-
|
|
8
|
+
defineBuiltIn(Object.prototype, 'toString', toString, { unsafe: true });
|
|
9
9
|
}
|
|
@@ -5,7 +5,7 @@ var FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detec
|
|
|
5
5
|
var NativePromiseConstructor = require('../internals/promise-native-constructor');
|
|
6
6
|
var getBuiltIn = require('../internals/get-built-in');
|
|
7
7
|
var isCallable = require('../internals/is-callable');
|
|
8
|
-
var
|
|
8
|
+
var defineBuiltIn = require('../internals/define-built-in');
|
|
9
9
|
|
|
10
10
|
var NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;
|
|
11
11
|
|
|
@@ -21,6 +21,6 @@ $({ target: 'Promise', proto: true, forced: FORCED_PROMISE_CONSTRUCTOR, real: tr
|
|
|
21
21
|
if (!IS_PURE && isCallable(NativePromiseConstructor)) {
|
|
22
22
|
var method = getBuiltIn('Promise').prototype['catch'];
|
|
23
23
|
if (NativePromisePrototype['catch'] !== method) {
|
|
24
|
-
|
|
24
|
+
defineBuiltIn(NativePromisePrototype, 'catch', method, { unsafe: true });
|
|
25
25
|
}
|
|
26
26
|
}
|
|
@@ -4,8 +4,7 @@ var IS_PURE = require('../internals/is-pure');
|
|
|
4
4
|
var IS_NODE = require('../internals/engine-is-node');
|
|
5
5
|
var global = require('../internals/global');
|
|
6
6
|
var call = require('../internals/function-call');
|
|
7
|
-
var
|
|
8
|
-
var redefineAll = require('../internals/redefine-all');
|
|
7
|
+
var defineBuiltIn = require('../internals/define-built-in');
|
|
9
8
|
var setPrototypeOf = require('../internals/object-set-prototype-of');
|
|
10
9
|
var setToStringTag = require('../internals/set-to-string-tag');
|
|
11
10
|
var setSpecies = require('../internals/set-species');
|
|
@@ -225,23 +224,20 @@ if (FORCED_PROMISE_CONSTRUCTOR) {
|
|
|
225
224
|
});
|
|
226
225
|
};
|
|
227
226
|
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
});
|
|
243
|
-
return reaction.promise;
|
|
244
|
-
}
|
|
227
|
+
// `Promise.prototype.then` method
|
|
228
|
+
// https://tc39.es/ecma262/#sec-promise.prototype.then
|
|
229
|
+
Internal.prototype = defineBuiltIn(PromisePrototype, 'then', function then(onFulfilled, onRejected) {
|
|
230
|
+
var state = getInternalPromiseState(this);
|
|
231
|
+
var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));
|
|
232
|
+
state.parent = true;
|
|
233
|
+
reaction.ok = isCallable(onFulfilled) ? onFulfilled : true;
|
|
234
|
+
reaction.fail = isCallable(onRejected) && onRejected;
|
|
235
|
+
reaction.domain = IS_NODE ? process.domain : undefined;
|
|
236
|
+
if (state.state == PENDING) state.reactions.add(reaction);
|
|
237
|
+
else microtask(function () {
|
|
238
|
+
callReaction(reaction, state);
|
|
239
|
+
});
|
|
240
|
+
return reaction.promise;
|
|
245
241
|
});
|
|
246
242
|
|
|
247
243
|
OwnPromiseCapability = function () {
|
|
@@ -263,7 +259,7 @@ if (FORCED_PROMISE_CONSTRUCTOR) {
|
|
|
263
259
|
|
|
264
260
|
if (!NATIVE_PROMISE_SUBCLASSING) {
|
|
265
261
|
// make `Promise#then` return a polyfilled `Promise` for native promise-based APIs
|
|
266
|
-
|
|
262
|
+
defineBuiltIn(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {
|
|
267
263
|
var that = this;
|
|
268
264
|
return new PromiseConstructor(function (resolve, reject) {
|
|
269
265
|
call(nativeThen, that, resolve, reject);
|
|
@@ -284,7 +280,7 @@ if (FORCED_PROMISE_CONSTRUCTOR) {
|
|
|
284
280
|
}
|
|
285
281
|
}
|
|
286
282
|
|
|
287
|
-
$({ global: true, wrap: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {
|
|
283
|
+
$({ global: true, constructor: true, wrap: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {
|
|
288
284
|
Promise: PromiseConstructor
|
|
289
285
|
});
|
|
290
286
|
|
|
@@ -7,7 +7,7 @@ var getBuiltIn = require('../internals/get-built-in');
|
|
|
7
7
|
var isCallable = require('../internals/is-callable');
|
|
8
8
|
var speciesConstructor = require('../internals/species-constructor');
|
|
9
9
|
var promiseResolve = require('../internals/promise-resolve');
|
|
10
|
-
var
|
|
10
|
+
var defineBuiltIn = require('../internals/define-built-in');
|
|
11
11
|
|
|
12
12
|
var NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;
|
|
13
13
|
|
|
@@ -38,6 +38,6 @@ $({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, {
|
|
|
38
38
|
if (!IS_PURE && isCallable(NativePromiseConstructor)) {
|
|
39
39
|
var method = getBuiltIn('Promise').prototype['finally'];
|
|
40
40
|
if (NativePromisePrototype['finally'] !== method) {
|
|
41
|
-
|
|
41
|
+
defineBuiltIn(NativePromisePrototype, 'finally', method, { unsafe: true });
|
|
42
42
|
}
|
|
43
43
|
}
|
|
@@ -11,7 +11,7 @@ var toString = require('../internals/to-string');
|
|
|
11
11
|
var getRegExpFlags = require('../internals/regexp-get-flags');
|
|
12
12
|
var stickyHelpers = require('../internals/regexp-sticky-helpers');
|
|
13
13
|
var proxyAccessor = require('../internals/proxy-accessor');
|
|
14
|
-
var
|
|
14
|
+
var defineBuiltIn = require('../internals/define-built-in');
|
|
15
15
|
var fails = require('../internals/fails');
|
|
16
16
|
var hasOwn = require('../internals/has-own-property');
|
|
17
17
|
var enforceInternalState = require('../internals/internal-state').enforce;
|
|
@@ -183,7 +183,7 @@ if (isForced('RegExp', BASE_FORCED)) {
|
|
|
183
183
|
|
|
184
184
|
RegExpPrototype.constructor = RegExpWrapper;
|
|
185
185
|
RegExpWrapper.prototype = RegExpPrototype;
|
|
186
|
-
|
|
186
|
+
defineBuiltIn(global, 'RegExp', RegExpWrapper, { constructor: true });
|
|
187
187
|
}
|
|
188
188
|
|
|
189
189
|
// https://tc39.es/ecma262/#sec-get-regexp-@@species
|
|
@@ -2,7 +2,7 @@ var global = require('../internals/global');
|
|
|
2
2
|
var DESCRIPTORS = require('../internals/descriptors');
|
|
3
3
|
var UNSUPPORTED_DOT_ALL = require('../internals/regexp-unsupported-dot-all');
|
|
4
4
|
var classof = require('../internals/classof-raw');
|
|
5
|
-
var
|
|
5
|
+
var defineBuiltInAccessor = require('../internals/define-built-in-accessor');
|
|
6
6
|
var getInternalState = require('../internals/internal-state').get;
|
|
7
7
|
|
|
8
8
|
var RegExpPrototype = RegExp.prototype;
|
|
@@ -11,9 +11,9 @@ var TypeError = global.TypeError;
|
|
|
11
11
|
// `RegExp.prototype.dotAll` getter
|
|
12
12
|
// https://tc39.es/ecma262/#sec-get-regexp.prototype.dotall
|
|
13
13
|
if (DESCRIPTORS && UNSUPPORTED_DOT_ALL) {
|
|
14
|
-
|
|
14
|
+
defineBuiltInAccessor(RegExpPrototype, 'dotAll', {
|
|
15
15
|
configurable: true,
|
|
16
|
-
get: function () {
|
|
16
|
+
get: function dotAll() {
|
|
17
17
|
if (this === RegExpPrototype) return undefined;
|
|
18
18
|
// We can't use InternalStateModule.getterFor because
|
|
19
19
|
// we don't add metadata for regexps created by a literal.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
var DESCRIPTORS = require('../internals/descriptors');
|
|
2
|
-
var
|
|
2
|
+
var defineBuiltInAccessor = require('../internals/define-built-in-accessor');
|
|
3
3
|
var regExpFlags = require('../internals/regexp-flags');
|
|
4
4
|
var fails = require('../internals/fails');
|
|
5
5
|
|
|
@@ -12,7 +12,7 @@ var FORCED = DESCRIPTORS && fails(function () {
|
|
|
12
12
|
|
|
13
13
|
// `RegExp.prototype.flags` getter
|
|
14
14
|
// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags
|
|
15
|
-
if (FORCED)
|
|
15
|
+
if (FORCED) defineBuiltInAccessor(RegExpPrototype, 'flags', {
|
|
16
16
|
configurable: true,
|
|
17
17
|
get: regExpFlags
|
|
18
18
|
});
|
|
@@ -2,7 +2,7 @@ var global = require('../internals/global');
|
|
|
2
2
|
var DESCRIPTORS = require('../internals/descriptors');
|
|
3
3
|
var MISSED_STICKY = require('../internals/regexp-sticky-helpers').MISSED_STICKY;
|
|
4
4
|
var classof = require('../internals/classof-raw');
|
|
5
|
-
var
|
|
5
|
+
var defineBuiltInAccessor = require('../internals/define-built-in-accessor');
|
|
6
6
|
var getInternalState = require('../internals/internal-state').get;
|
|
7
7
|
|
|
8
8
|
var RegExpPrototype = RegExp.prototype;
|
|
@@ -11,9 +11,9 @@ var TypeError = global.TypeError;
|
|
|
11
11
|
// `RegExp.prototype.sticky` getter
|
|
12
12
|
// https://tc39.es/ecma262/#sec-get-regexp.prototype.sticky
|
|
13
13
|
if (DESCRIPTORS && MISSED_STICKY) {
|
|
14
|
-
|
|
14
|
+
defineBuiltInAccessor(RegExpPrototype, 'sticky', {
|
|
15
15
|
configurable: true,
|
|
16
|
-
get: function () {
|
|
16
|
+
get: function sticky() {
|
|
17
17
|
if (this === RegExpPrototype) return undefined;
|
|
18
18
|
// We can't use InternalStateModule.getterFor because
|
|
19
19
|
// we don't add metadata for regexps created by a literal.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var PROPER_FUNCTION_NAME = require('../internals/function-name').PROPER;
|
|
3
|
-
var
|
|
3
|
+
var defineBuiltIn = require('../internals/define-built-in');
|
|
4
4
|
var anObject = require('../internals/an-object');
|
|
5
5
|
var $toString = require('../internals/to-string');
|
|
6
6
|
var fails = require('../internals/fails');
|
|
@@ -17,7 +17,7 @@ var INCORRECT_NAME = PROPER_FUNCTION_NAME && n$ToString.name != TO_STRING;
|
|
|
17
17
|
// `RegExp.prototype.toString` method
|
|
18
18
|
// https://tc39.es/ecma262/#sec-regexp.prototype.tostring
|
|
19
19
|
if (NOT_GENERIC || INCORRECT_NAME) {
|
|
20
|
-
|
|
20
|
+
defineBuiltIn(RegExp.prototype, TO_STRING, function toString() {
|
|
21
21
|
var R = anObject(this);
|
|
22
22
|
var pattern = $toString(R.source);
|
|
23
23
|
var flags = $toString(getRegExpFlags(R));
|
|
@@ -14,7 +14,7 @@ var INCORRECT_LENGTH = !!$fromCodePoint && $fromCodePoint.length != 1;
|
|
|
14
14
|
|
|
15
15
|
// `String.fromCodePoint` method
|
|
16
16
|
// https://tc39.es/ecma262/#sec-string.fromcodepoint
|
|
17
|
-
$({ target: 'String', stat: true, forced: INCORRECT_LENGTH }, {
|
|
17
|
+
$({ target: 'String', stat: true, arity: 1, forced: INCORRECT_LENGTH }, {
|
|
18
18
|
// eslint-disable-next-line no-unused-vars -- required for `.length`
|
|
19
19
|
fromCodePoint: function fromCodePoint(x) {
|
|
20
20
|
var elements = [];
|
|
@@ -13,7 +13,7 @@ var classof = require('../internals/classof-raw');
|
|
|
13
13
|
var isRegExp = require('../internals/is-regexp');
|
|
14
14
|
var getRegExpFlags = require('../internals/regexp-get-flags');
|
|
15
15
|
var getMethod = require('../internals/get-method');
|
|
16
|
-
var
|
|
16
|
+
var defineBuiltIn = require('../internals/define-built-in');
|
|
17
17
|
var fails = require('../internals/fails');
|
|
18
18
|
var wellKnownSymbol = require('../internals/well-known-symbol');
|
|
19
19
|
var speciesConstructor = require('../internals/species-constructor');
|
|
@@ -95,4 +95,4 @@ $({ target: 'String', proto: true, forced: WORKS_WITH_NON_GLOBAL_REGEX }, {
|
|
|
95
95
|
}
|
|
96
96
|
});
|
|
97
97
|
|
|
98
|
-
IS_PURE || MATCH_ALL in RegExpPrototype ||
|
|
98
|
+
IS_PURE || MATCH_ALL in RegExpPrototype || defineBuiltIn(RegExpPrototype, MATCH_ALL, $matchAll);
|
|
@@ -23,7 +23,7 @@ var getOwnPropertyDescriptorModule = require('../internals/object-get-own-proper
|
|
|
23
23
|
var definePropertyModule = require('../internals/object-define-property');
|
|
24
24
|
var definePropertiesModule = require('../internals/object-define-properties');
|
|
25
25
|
var propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');
|
|
26
|
-
var
|
|
26
|
+
var defineBuiltIn = require('../internals/define-built-in');
|
|
27
27
|
var shared = require('../internals/shared');
|
|
28
28
|
var sharedKey = require('../internals/shared-key');
|
|
29
29
|
var hiddenKeys = require('../internals/hidden-keys');
|
|
@@ -174,11 +174,11 @@ if (!NATIVE_SYMBOL) {
|
|
|
174
174
|
|
|
175
175
|
SymbolPrototype = $Symbol[PROTOTYPE];
|
|
176
176
|
|
|
177
|
-
|
|
177
|
+
defineBuiltIn(SymbolPrototype, 'toString', function toString() {
|
|
178
178
|
return getInternalState(this).tag;
|
|
179
179
|
});
|
|
180
180
|
|
|
181
|
-
|
|
181
|
+
defineBuiltIn($Symbol, 'withoutSetter', function (description) {
|
|
182
182
|
return wrap(uid(description), description);
|
|
183
183
|
});
|
|
184
184
|
|
|
@@ -202,12 +202,12 @@ if (!NATIVE_SYMBOL) {
|
|
|
202
202
|
}
|
|
203
203
|
});
|
|
204
204
|
if (!IS_PURE) {
|
|
205
|
-
|
|
205
|
+
defineBuiltIn(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });
|
|
206
206
|
}
|
|
207
207
|
}
|
|
208
208
|
}
|
|
209
209
|
|
|
210
|
-
$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {
|
|
210
|
+
$({ global: true, constructor: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {
|
|
211
211
|
Symbol: $Symbol
|
|
212
212
|
});
|
|
213
213
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var global = require('../internals/global');
|
|
3
3
|
var uncurryThis = require('../internals/function-uncurry-this');
|
|
4
|
-
var
|
|
4
|
+
var defineBuiltIns = require('../internals/define-built-ins');
|
|
5
5
|
var InternalMetadataModule = require('../internals/internal-metadata');
|
|
6
6
|
var collection = require('../internals/collection');
|
|
7
7
|
var collectionWeak = require('../internals/collection-weak');
|
|
@@ -34,7 +34,7 @@ if (NATIVE_WEAK_MAP && IS_IE11) {
|
|
|
34
34
|
var nativeHas = uncurryThis(WeakMapPrototype.has);
|
|
35
35
|
var nativeGet = uncurryThis(WeakMapPrototype.get);
|
|
36
36
|
var nativeSet = uncurryThis(WeakMapPrototype.set);
|
|
37
|
-
|
|
37
|
+
defineBuiltIns(WeakMapPrototype, {
|
|
38
38
|
'delete': function (key) {
|
|
39
39
|
if (isObject(key) && !isExtensible(key)) {
|
|
40
40
|
var state = enforceInternalState(this);
|
|
@@ -4,12 +4,12 @@ var DESCRIPTORS = require('../internals/descriptors');
|
|
|
4
4
|
var addToUnscopables = require('../internals/add-to-unscopables');
|
|
5
5
|
var toObject = require('../internals/to-object');
|
|
6
6
|
var lengthOfArrayLike = require('../internals/length-of-array-like');
|
|
7
|
-
var
|
|
7
|
+
var defineBuiltInAccessor = require('../internals/define-built-in-accessor');
|
|
8
8
|
|
|
9
9
|
// `Array.prototype.lastIndex` getter
|
|
10
10
|
// https://github.com/keithamus/proposal-array-last
|
|
11
11
|
if (DESCRIPTORS) {
|
|
12
|
-
|
|
12
|
+
defineBuiltInAccessor(Array.prototype, 'lastIndex', {
|
|
13
13
|
configurable: true,
|
|
14
14
|
get: function lastIndex() {
|
|
15
15
|
var O = toObject(this);
|
|
@@ -4,12 +4,12 @@ var DESCRIPTORS = require('../internals/descriptors');
|
|
|
4
4
|
var addToUnscopables = require('../internals/add-to-unscopables');
|
|
5
5
|
var toObject = require('../internals/to-object');
|
|
6
6
|
var lengthOfArrayLike = require('../internals/length-of-array-like');
|
|
7
|
-
var
|
|
7
|
+
var defineBuiltInAccessor = require('../internals/define-built-in-accessor');
|
|
8
8
|
|
|
9
9
|
// `Array.prototype.lastIndex` accessor
|
|
10
10
|
// https://github.com/keithamus/proposal-array-last
|
|
11
11
|
if (DESCRIPTORS) {
|
|
12
|
-
|
|
12
|
+
defineBuiltInAccessor(Array.prototype, 'lastItem', {
|
|
13
13
|
configurable: true,
|
|
14
14
|
get: function lastItem() {
|
|
15
15
|
var O = toObject(this);
|
|
@@ -10,7 +10,7 @@ var Array = global.Array;
|
|
|
10
10
|
|
|
11
11
|
// `Array.prototype.toSpliced` method
|
|
12
12
|
// https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.toSpliced
|
|
13
|
-
$({ target: 'Array', proto: true }, {
|
|
13
|
+
$({ target: 'Array', proto: true, arity: 2 }, {
|
|
14
14
|
// eslint-disable-next-line no-unused-vars -- required for .length
|
|
15
15
|
toSpliced: function toSpliced(start, deleteCount /* , ...items */) {
|
|
16
16
|
return arrayToSpliced(toIndexedObject(this), Array, arraySlice(arguments));
|
|
@@ -24,6 +24,6 @@ if (IS_PURE || !hasOwn(AsyncIteratorPrototype, 'constructor') || AsyncIteratorPr
|
|
|
24
24
|
createNonEnumerableProperty(AsyncIteratorPrototype, 'constructor', AsyncIteratorConstructor);
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
$({ global: true, forced: IS_PURE }, {
|
|
27
|
+
$({ global: true, constructor: true, forced: IS_PURE }, {
|
|
28
28
|
AsyncIterator: AsyncIteratorConstructor
|
|
29
29
|
});
|
|
@@ -36,6 +36,6 @@ if (FORCED || !hasOwn(IteratorPrototype, 'constructor') || IteratorPrototype.con
|
|
|
36
36
|
|
|
37
37
|
IteratorConstructor.prototype = IteratorPrototype;
|
|
38
38
|
|
|
39
|
-
$({ global: true, forced: FORCED }, {
|
|
39
|
+
$({ global: true, constructor: true, forced: FORCED }, {
|
|
40
40
|
Iterator: IteratorConstructor
|
|
41
41
|
});
|