core-js-pure 3.20.1 → 3.21.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/actual/atob.js +3 -0
- package/actual/btoa.js +3 -0
- package/features/atob.js +3 -0
- package/features/btoa.js +3 -0
- package/features/index.js +2 -0
- package/internals/array-method-is-strict.js +2 -2
- package/internals/base64-map.js +9 -0
- package/internals/function-apply.js +3 -2
- package/internals/function-bind-context.js +2 -1
- package/internals/function-bind-native.js +7 -0
- package/internals/function-bind.js +2 -1
- package/internals/function-call.js +3 -1
- package/internals/function-uncurry-this.js +5 -3
- package/internals/ie8-dom-define.js +1 -1
- package/internals/native-url.js +1 -0
- package/internals/numeric-range-iterator.js +1 -1
- package/internals/object-create.js +2 -2
- package/internals/object-define-properties.js +2 -1
- package/internals/object-define-property.js +22 -1
- package/internals/shared.js +4 -2
- package/internals/task.js +5 -2
- package/internals/v8-prototype-define-bug.js +12 -0
- package/internals/validate-arguments-length.js +8 -0
- package/modules/es.function.bind.js +1 -1
- package/modules/es.object.define-properties.js +3 -2
- package/modules/es.object.define-property.js +4 -3
- package/modules/es.promise.finally.js +1 -0
- package/modules/es.promise.js +1 -0
- package/modules/es.symbol.js +2 -0
- package/modules/esnext.array.filter-out.js +1 -1
- package/modules/esnext.array.filter-reject.js +1 -1
- package/modules/esnext.array.from-async.js +1 -1
- package/modules/esnext.array.group-by-to-map.js +3 -1
- package/modules/esnext.array.group-by.js +3 -1
- package/modules/esnext.array.is-template-object.js +1 -1
- package/modules/esnext.array.to-reversed.js +1 -1
- package/modules/esnext.array.to-sorted.js +1 -1
- package/modules/esnext.array.to-spliced.js +1 -1
- package/modules/esnext.array.unique-by.js +1 -1
- package/modules/esnext.array.with.js +1 -1
- package/modules/esnext.async-iterator.as-indexed-pairs.js +1 -1
- package/modules/esnext.async-iterator.drop.js +1 -1
- package/modules/esnext.async-iterator.every.js +1 -1
- package/modules/esnext.async-iterator.filter.js +1 -1
- package/modules/esnext.async-iterator.find.js +1 -1
- package/modules/esnext.async-iterator.flat-map.js +1 -1
- package/modules/esnext.async-iterator.for-each.js +1 -1
- package/modules/esnext.async-iterator.from.js +1 -1
- package/modules/esnext.async-iterator.map.js +1 -1
- package/modules/esnext.async-iterator.reduce.js +1 -1
- package/modules/esnext.async-iterator.some.js +1 -1
- package/modules/esnext.async-iterator.take.js +1 -1
- package/modules/esnext.async-iterator.to-array.js +1 -1
- package/modules/esnext.bigint.range.js +1 -1
- package/modules/esnext.composite-key.js +1 -1
- package/modules/esnext.composite-symbol.js +1 -1
- package/modules/esnext.function.is-callable.js +1 -1
- package/modules/esnext.function.is-constructor.js +1 -1
- package/modules/esnext.function.un-this.js +1 -1
- package/modules/esnext.iterator.as-indexed-pairs.js +1 -1
- package/modules/esnext.iterator.drop.js +1 -1
- package/modules/esnext.iterator.every.js +1 -1
- package/modules/esnext.iterator.filter.js +1 -1
- package/modules/esnext.iterator.find.js +1 -1
- package/modules/esnext.iterator.flat-map.js +1 -1
- package/modules/esnext.iterator.for-each.js +1 -1
- package/modules/esnext.iterator.from.js +1 -1
- package/modules/esnext.iterator.map.js +1 -1
- package/modules/esnext.iterator.reduce.js +1 -1
- package/modules/esnext.iterator.some.js +1 -1
- package/modules/esnext.iterator.take.js +1 -1
- package/modules/esnext.iterator.to-array.js +1 -1
- package/modules/esnext.iterator.to-async.js +1 -1
- package/modules/esnext.map.delete-all.js +1 -2
- package/modules/esnext.map.emplace.js +1 -2
- package/modules/esnext.map.every.js +1 -2
- package/modules/esnext.map.filter.js +1 -2
- package/modules/esnext.map.find-key.js +1 -2
- package/modules/esnext.map.find.js +1 -2
- package/modules/esnext.map.from.js +1 -1
- package/modules/esnext.map.group-by.js +1 -1
- package/modules/esnext.map.includes.js +1 -2
- package/modules/esnext.map.key-by.js +1 -1
- package/modules/esnext.map.key-of.js +1 -2
- package/modules/esnext.map.map-keys.js +1 -2
- package/modules/esnext.map.map-values.js +1 -2
- package/modules/esnext.map.merge.js +1 -2
- package/modules/esnext.map.of.js +1 -1
- package/modules/esnext.map.reduce.js +1 -2
- package/modules/esnext.map.some.js +1 -2
- package/modules/esnext.map.update-or-insert.js +1 -2
- package/modules/esnext.map.update.js +1 -2
- package/modules/esnext.map.upsert.js +1 -2
- package/modules/esnext.math.clamp.js +1 -1
- package/modules/esnext.math.deg-per-rad.js +1 -1
- package/modules/esnext.math.degrees.js +1 -1
- package/modules/esnext.math.fscale.js +1 -1
- package/modules/esnext.math.iaddh.js +1 -1
- package/modules/esnext.math.imulh.js +1 -1
- package/modules/esnext.math.isubh.js +1 -1
- package/modules/esnext.math.rad-per-deg.js +1 -1
- package/modules/esnext.math.radians.js +1 -1
- package/modules/esnext.math.scale.js +1 -1
- package/modules/esnext.math.signbit.js +1 -1
- package/modules/esnext.math.umulh.js +1 -1
- package/modules/esnext.number.from-string.js +1 -1
- package/modules/esnext.number.range.js +1 -1
- package/modules/esnext.object.iterate-entries.js +1 -1
- package/modules/esnext.object.iterate-keys.js +1 -1
- package/modules/esnext.object.iterate-values.js +1 -1
- package/modules/esnext.observable.js +9 -1
- package/modules/esnext.promise.try.js +1 -1
- package/modules/esnext.set.add-all.js +1 -2
- package/modules/esnext.set.delete-all.js +1 -2
- package/modules/esnext.set.difference.js +1 -2
- package/modules/esnext.set.every.js +1 -2
- package/modules/esnext.set.filter.js +1 -2
- package/modules/esnext.set.find.js +1 -2
- package/modules/esnext.set.from.js +1 -1
- package/modules/esnext.set.intersection.js +1 -2
- package/modules/esnext.set.is-disjoint-from.js +1 -2
- package/modules/esnext.set.is-subset-of.js +1 -2
- package/modules/esnext.set.is-superset-of.js +1 -2
- package/modules/esnext.set.join.js +1 -2
- package/modules/esnext.set.map.js +1 -2
- package/modules/esnext.set.of.js +1 -1
- package/modules/esnext.set.reduce.js +1 -2
- package/modules/esnext.set.some.js +1 -2
- package/modules/esnext.set.symmetric-difference.js +1 -2
- package/modules/esnext.set.union.js +1 -2
- package/modules/esnext.string.at.js +1 -6
- package/modules/esnext.string.code-points.js +1 -1
- package/modules/esnext.string.cooked.js +1 -1
- package/modules/esnext.weak-map.delete-all.js +1 -2
- package/modules/esnext.weak-map.emplace.js +1 -2
- package/modules/esnext.weak-map.from.js +1 -1
- package/modules/esnext.weak-map.of.js +1 -1
- package/modules/esnext.weak-map.upsert.js +1 -2
- package/modules/esnext.weak-set.add-all.js +1 -2
- package/modules/esnext.weak-set.delete-all.js +1 -2
- package/modules/esnext.weak-set.from.js +1 -1
- package/modules/esnext.weak-set.of.js +1 -1
- package/modules/web.atob.js +52 -0
- package/modules/web.btoa.js +37 -0
- package/modules/web.dom-exception.constructor.js +1 -1
- package/modules/web.queue-microtask.js +4 -0
- package/modules/web.structured-clone.js +2 -1
- package/modules/web.timers.js +5 -3
- package/modules/web.url-search-params.js +1 -4
- package/modules/web.url.js +3 -2
- package/package.json +2 -2
- package/postinstall.js +1 -1
- package/stable/atob.js +9 -0
- package/stable/btoa.js +9 -0
- package/stable/index.js +2 -0
- package/web/index.js +2 -0
package/LICENSE
CHANGED
package/actual/atob.js
ADDED
package/actual/btoa.js
ADDED
package/features/atob.js
ADDED
package/features/btoa.js
ADDED
package/features/index.js
CHANGED
|
@@ -380,6 +380,8 @@ require('../modules/esnext.weak-set.add-all');
|
|
|
380
380
|
require('../modules/esnext.weak-set.delete-all');
|
|
381
381
|
require('../modules/esnext.weak-set.from');
|
|
382
382
|
require('../modules/esnext.weak-set.of');
|
|
383
|
+
require('../modules/web.atob');
|
|
384
|
+
require('../modules/web.btoa');
|
|
383
385
|
require('../modules/web.dom-collections.for-each');
|
|
384
386
|
require('../modules/web.dom-collections.iterator');
|
|
385
387
|
require('../modules/web.dom-exception.constructor');
|
|
@@ -4,7 +4,7 @@ var fails = require('../internals/fails');
|
|
|
4
4
|
module.exports = function (METHOD_NAME, argument) {
|
|
5
5
|
var method = [][METHOD_NAME];
|
|
6
6
|
return !!method && fails(function () {
|
|
7
|
-
// eslint-disable-next-line no-useless-call
|
|
8
|
-
method.call(null, argument || function () {
|
|
7
|
+
// eslint-disable-next-line no-useless-call -- required for testing
|
|
8
|
+
method.call(null, argument || function () { return 1; }, 1);
|
|
9
9
|
});
|
|
10
10
|
};
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
var NATIVE_BIND = require('../internals/function-bind-native');
|
|
2
|
+
|
|
1
3
|
var FunctionPrototype = Function.prototype;
|
|
2
4
|
var apply = FunctionPrototype.apply;
|
|
3
|
-
var bind = FunctionPrototype.bind;
|
|
4
5
|
var call = FunctionPrototype.call;
|
|
5
6
|
|
|
6
7
|
// eslint-disable-next-line es/no-reflect -- safe
|
|
7
|
-
module.exports = typeof Reflect == 'object' && Reflect.apply || (
|
|
8
|
+
module.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {
|
|
8
9
|
return call.apply(apply, arguments);
|
|
9
10
|
});
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
var uncurryThis = require('../internals/function-uncurry-this');
|
|
2
2
|
var aCallable = require('../internals/a-callable');
|
|
3
|
+
var NATIVE_BIND = require('../internals/function-bind-native');
|
|
3
4
|
|
|
4
5
|
var bind = uncurryThis(uncurryThis.bind);
|
|
5
6
|
|
|
6
7
|
// optional / simple context binding
|
|
7
8
|
module.exports = function (fn, that) {
|
|
8
9
|
aCallable(fn);
|
|
9
|
-
return that === undefined ? fn :
|
|
10
|
+
return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {
|
|
10
11
|
return fn.apply(that, arguments);
|
|
11
12
|
};
|
|
12
13
|
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
var fails = require('../internals/fails');
|
|
2
|
+
|
|
3
|
+
module.exports = !fails(function () {
|
|
4
|
+
var test = (function () { /* empty */ }).bind();
|
|
5
|
+
// eslint-disable-next-line no-prototype-builtins -- safe
|
|
6
|
+
return typeof test != 'function' || test.hasOwnProperty('prototype');
|
|
7
|
+
});
|
|
@@ -5,6 +5,7 @@ var aCallable = require('../internals/a-callable');
|
|
|
5
5
|
var isObject = require('../internals/is-object');
|
|
6
6
|
var hasOwn = require('../internals/has-own-property');
|
|
7
7
|
var arraySlice = require('../internals/array-slice');
|
|
8
|
+
var NATIVE_BIND = require('../internals/function-bind-native');
|
|
8
9
|
|
|
9
10
|
var Function = global.Function;
|
|
10
11
|
var concat = uncurryThis([].concat);
|
|
@@ -20,7 +21,7 @@ var construct = function (C, argsLength, args) {
|
|
|
20
21
|
|
|
21
22
|
// `Function.prototype.bind` method implementation
|
|
22
23
|
// https://tc39.es/ecma262/#sec-function.prototype.bind
|
|
23
|
-
module.exports = Function.bind
|
|
24
|
+
module.exports = NATIVE_BIND ? Function.bind : function bind(that /* , ...args */) {
|
|
24
25
|
var F = aCallable(this);
|
|
25
26
|
var Prototype = F.prototype;
|
|
26
27
|
var partArgs = arraySlice(arguments, 1);
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
var NATIVE_BIND = require('../internals/function-bind-native');
|
|
2
|
+
|
|
1
3
|
var call = Function.prototype.call;
|
|
2
4
|
|
|
3
|
-
module.exports =
|
|
5
|
+
module.exports = NATIVE_BIND ? call.bind(call) : function () {
|
|
4
6
|
return call.apply(call, arguments);
|
|
5
7
|
};
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
+
var NATIVE_BIND = require('../internals/function-bind-native');
|
|
2
|
+
|
|
1
3
|
var FunctionPrototype = Function.prototype;
|
|
2
4
|
var bind = FunctionPrototype.bind;
|
|
3
5
|
var call = FunctionPrototype.call;
|
|
4
|
-
var
|
|
6
|
+
var uncurryThis = NATIVE_BIND && bind.bind(call, call);
|
|
5
7
|
|
|
6
|
-
module.exports =
|
|
7
|
-
return fn &&
|
|
8
|
+
module.exports = NATIVE_BIND ? function (fn) {
|
|
9
|
+
return fn && uncurryThis(fn);
|
|
8
10
|
} : function (fn) {
|
|
9
11
|
return fn && function () {
|
|
10
12
|
return call.apply(fn, arguments);
|
|
@@ -2,7 +2,7 @@ var DESCRIPTORS = require('../internals/descriptors');
|
|
|
2
2
|
var fails = require('../internals/fails');
|
|
3
3
|
var createElement = require('../internals/document-create-element');
|
|
4
4
|
|
|
5
|
-
//
|
|
5
|
+
// Thanks to IE8 for its funny defineProperty
|
|
6
6
|
module.exports = !DESCRIPTORS && !fails(function () {
|
|
7
7
|
// eslint-disable-next-line es/no-object-defineproperty -- required for testing
|
|
8
8
|
return Object.defineProperty(createElement('div'), 'a', {
|
package/internals/native-url.js
CHANGED
|
@@ -5,6 +5,7 @@ var IS_PURE = require('../internals/is-pure');
|
|
|
5
5
|
var ITERATOR = wellKnownSymbol('iterator');
|
|
6
6
|
|
|
7
7
|
module.exports = !fails(function () {
|
|
8
|
+
// eslint-disable-next-line unicorn/relative-url-style -- required for testing
|
|
8
9
|
var url = new URL('b?a=1&b=2&c=3', 'http://a');
|
|
9
10
|
var searchParams = url.searchParams;
|
|
10
11
|
var result = '';
|
|
@@ -3,7 +3,7 @@ var global = require('../internals/global');
|
|
|
3
3
|
var InternalStateModule = require('../internals/internal-state');
|
|
4
4
|
var createIteratorConstructor = require('../internals/create-iterator-constructor');
|
|
5
5
|
var isObject = require('../internals/is-object');
|
|
6
|
-
var defineProperties = require('../internals/object-define-properties');
|
|
6
|
+
var defineProperties = require('../internals/object-define-properties').f;
|
|
7
7
|
var DESCRIPTORS = require('../internals/descriptors');
|
|
8
8
|
|
|
9
9
|
var INCORRECT_RANGE = 'Incorrect Number.range arguments';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* global ActiveXObject -- old IE, WSH */
|
|
2
2
|
var anObject = require('../internals/an-object');
|
|
3
|
-
var
|
|
3
|
+
var definePropertiesModule = require('../internals/object-define-properties');
|
|
4
4
|
var enumBugKeys = require('../internals/enum-bug-keys');
|
|
5
5
|
var hiddenKeys = require('../internals/hidden-keys');
|
|
6
6
|
var html = require('../internals/html');
|
|
@@ -78,5 +78,5 @@ module.exports = Object.create || function create(O, Properties) {
|
|
|
78
78
|
// add "__proto__" for Object.getPrototypeOf polyfill
|
|
79
79
|
result[IE_PROTO] = O;
|
|
80
80
|
} else result = NullProtoObject();
|
|
81
|
-
return Properties === undefined ? result :
|
|
81
|
+
return Properties === undefined ? result : definePropertiesModule.f(result, Properties);
|
|
82
82
|
};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
var DESCRIPTORS = require('../internals/descriptors');
|
|
2
|
+
var V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');
|
|
2
3
|
var definePropertyModule = require('../internals/object-define-property');
|
|
3
4
|
var anObject = require('../internals/an-object');
|
|
4
5
|
var toIndexedObject = require('../internals/to-indexed-object');
|
|
@@ -7,7 +8,7 @@ var objectKeys = require('../internals/object-keys');
|
|
|
7
8
|
// `Object.defineProperties` method
|
|
8
9
|
// https://tc39.es/ecma262/#sec-object.defineproperties
|
|
9
10
|
// eslint-disable-next-line es/no-object-defineproperties -- safe
|
|
10
|
-
|
|
11
|
+
exports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {
|
|
11
12
|
anObject(O);
|
|
12
13
|
var props = toIndexedObject(Properties);
|
|
13
14
|
var keys = objectKeys(Properties);
|
|
@@ -1,16 +1,37 @@
|
|
|
1
1
|
var global = require('../internals/global');
|
|
2
2
|
var DESCRIPTORS = require('../internals/descriptors');
|
|
3
3
|
var IE8_DOM_DEFINE = require('../internals/ie8-dom-define');
|
|
4
|
+
var V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');
|
|
4
5
|
var anObject = require('../internals/an-object');
|
|
5
6
|
var toPropertyKey = require('../internals/to-property-key');
|
|
6
7
|
|
|
7
8
|
var TypeError = global.TypeError;
|
|
8
9
|
// eslint-disable-next-line es/no-object-defineproperty -- safe
|
|
9
10
|
var $defineProperty = Object.defineProperty;
|
|
11
|
+
// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
|
|
12
|
+
var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
|
|
13
|
+
var ENUMERABLE = 'enumerable';
|
|
14
|
+
var CONFIGURABLE = 'configurable';
|
|
15
|
+
var WRITABLE = 'writable';
|
|
10
16
|
|
|
11
17
|
// `Object.defineProperty` method
|
|
12
18
|
// https://tc39.es/ecma262/#sec-object.defineproperty
|
|
13
|
-
exports.f = DESCRIPTORS ?
|
|
19
|
+
exports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {
|
|
20
|
+
anObject(O);
|
|
21
|
+
P = toPropertyKey(P);
|
|
22
|
+
anObject(Attributes);
|
|
23
|
+
if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {
|
|
24
|
+
var current = $getOwnPropertyDescriptor(O, P);
|
|
25
|
+
if (current && current[WRITABLE]) {
|
|
26
|
+
O[P] = Attributes.value;
|
|
27
|
+
Attributes = {
|
|
28
|
+
configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],
|
|
29
|
+
enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],
|
|
30
|
+
writable: false
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
} return $defineProperty(O, P, Attributes);
|
|
34
|
+
} : $defineProperty : function defineProperty(O, P, Attributes) {
|
|
14
35
|
anObject(O);
|
|
15
36
|
P = toPropertyKey(P);
|
|
16
37
|
anObject(Attributes);
|
package/internals/shared.js
CHANGED
|
@@ -4,7 +4,9 @@ var store = require('../internals/shared-store');
|
|
|
4
4
|
(module.exports = function (key, value) {
|
|
5
5
|
return store[key] || (store[key] = value !== undefined ? value : {});
|
|
6
6
|
})('versions', []).push({
|
|
7
|
-
version: '3.
|
|
7
|
+
version: '3.21.1',
|
|
8
8
|
mode: IS_PURE ? 'pure' : 'global',
|
|
9
|
-
copyright: '©
|
|
9
|
+
copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',
|
|
10
|
+
license: 'https://github.com/zloirock/core-js/blob/v3.21.1/LICENSE',
|
|
11
|
+
source: 'https://github.com/zloirock/core-js'
|
|
10
12
|
});
|
package/internals/task.js
CHANGED
|
@@ -7,6 +7,7 @@ var fails = require('../internals/fails');
|
|
|
7
7
|
var html = require('../internals/html');
|
|
8
8
|
var arraySlice = require('../internals/array-slice');
|
|
9
9
|
var createElement = require('../internals/document-create-element');
|
|
10
|
+
var validateArgumentsLength = require('../internals/validate-arguments-length');
|
|
10
11
|
var IS_IOS = require('../internals/engine-is-ios');
|
|
11
12
|
var IS_NODE = require('../internals/engine-is-node');
|
|
12
13
|
|
|
@@ -52,10 +53,12 @@ var post = function (id) {
|
|
|
52
53
|
|
|
53
54
|
// Node.js 0.9+ & IE10+ has setImmediate, otherwise:
|
|
54
55
|
if (!set || !clear) {
|
|
55
|
-
set = function setImmediate(
|
|
56
|
+
set = function setImmediate(handler) {
|
|
57
|
+
validateArgumentsLength(arguments.length, 1);
|
|
58
|
+
var fn = isCallable(handler) ? handler : Function(handler);
|
|
56
59
|
var args = arraySlice(arguments, 1);
|
|
57
60
|
queue[++counter] = function () {
|
|
58
|
-
apply(
|
|
61
|
+
apply(fn, undefined, args);
|
|
59
62
|
};
|
|
60
63
|
defer(counter);
|
|
61
64
|
return counter;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
var DESCRIPTORS = require('../internals/descriptors');
|
|
2
|
+
var fails = require('../internals/fails');
|
|
3
|
+
|
|
4
|
+
// V8 ~ Chrome 36-
|
|
5
|
+
// https://bugs.chromium.org/p/v8/issues/detail?id=3334
|
|
6
|
+
module.exports = DESCRIPTORS && fails(function () {
|
|
7
|
+
// eslint-disable-next-line es/no-object-defineproperty -- required for testing
|
|
8
|
+
return Object.defineProperty(function () { /* empty */ }, 'prototype', {
|
|
9
|
+
value: 42,
|
|
10
|
+
writable: false
|
|
11
|
+
}).prototype != 42;
|
|
12
|
+
});
|
|
@@ -3,6 +3,6 @@ var bind = require('../internals/function-bind');
|
|
|
3
3
|
|
|
4
4
|
// `Function.prototype.bind` method
|
|
5
5
|
// https://tc39.es/ecma262/#sec-function.prototype.bind
|
|
6
|
-
$({ target: 'Function', proto: true }, {
|
|
6
|
+
$({ target: 'Function', proto: true, forced: Function.bind !== bind }, {
|
|
7
7
|
bind: bind
|
|
8
8
|
});
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
var $ = require('../internals/export');
|
|
2
2
|
var DESCRIPTORS = require('../internals/descriptors');
|
|
3
|
-
var defineProperties = require('../internals/object-define-properties');
|
|
3
|
+
var defineProperties = require('../internals/object-define-properties').f;
|
|
4
4
|
|
|
5
5
|
// `Object.defineProperties` method
|
|
6
6
|
// https://tc39.es/ecma262/#sec-object.defineproperties
|
|
7
|
-
|
|
7
|
+
// eslint-disable-next-line es/no-object-defineproperties -- safe
|
|
8
|
+
$({ target: 'Object', stat: true, forced: Object.defineProperties !== defineProperties, sham: !DESCRIPTORS }, {
|
|
8
9
|
defineProperties: defineProperties
|
|
9
10
|
});
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
var $ = require('../internals/export');
|
|
2
2
|
var DESCRIPTORS = require('../internals/descriptors');
|
|
3
|
-
var
|
|
3
|
+
var defineProperty = require('../internals/object-define-property').f;
|
|
4
4
|
|
|
5
5
|
// `Object.defineProperty` method
|
|
6
6
|
// https://tc39.es/ecma262/#sec-object.defineproperty
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
// eslint-disable-next-line es/no-object-defineproperty -- safe
|
|
8
|
+
$({ target: 'Object', stat: true, forced: Object.defineProperty !== defineProperty, sham: !DESCRIPTORS }, {
|
|
9
|
+
defineProperty: defineProperty
|
|
9
10
|
});
|
|
@@ -11,6 +11,7 @@ var redefine = require('../internals/redefine');
|
|
|
11
11
|
|
|
12
12
|
// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829
|
|
13
13
|
var NON_GENERIC = !!NativePromise && fails(function () {
|
|
14
|
+
// eslint-disable-next-line unicorn/no-thenable -- required for testing
|
|
14
15
|
NativePromise.prototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ });
|
|
15
16
|
});
|
|
16
17
|
|
package/modules/es.promise.js
CHANGED
|
@@ -265,6 +265,7 @@ if (FORCED) {
|
|
|
265
265
|
Internal.prototype = redefineAll(PromisePrototype, {
|
|
266
266
|
// `Promise.prototype.then` method
|
|
267
267
|
// https://tc39.es/ecma262/#sec-promise.prototype.then
|
|
268
|
+
// eslint-disable-next-line unicorn/no-thenable -- safe
|
|
268
269
|
then: function then(onFulfilled, onRejected) {
|
|
269
270
|
var state = getInternalPromiseState(this);
|
|
270
271
|
var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));
|
package/modules/es.symbol.js
CHANGED
|
@@ -28,6 +28,7 @@ var getOwnPropertyNamesExternal = require('../internals/object-get-own-property-
|
|
|
28
28
|
var getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');
|
|
29
29
|
var getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');
|
|
30
30
|
var definePropertyModule = require('../internals/object-define-property');
|
|
31
|
+
var definePropertiesModule = require('../internals/object-define-properties');
|
|
31
32
|
var propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');
|
|
32
33
|
var arraySlice = require('../internals/array-slice');
|
|
33
34
|
var redefine = require('../internals/redefine');
|
|
@@ -194,6 +195,7 @@ if (!NATIVE_SYMBOL) {
|
|
|
194
195
|
|
|
195
196
|
propertyIsEnumerableModule.f = $propertyIsEnumerable;
|
|
196
197
|
definePropertyModule.f = $defineProperty;
|
|
198
|
+
definePropertiesModule.f = $defineProperties;
|
|
197
199
|
getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;
|
|
198
200
|
getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;
|
|
199
201
|
getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;
|
|
@@ -6,7 +6,7 @@ var addToUnscopables = require('../internals/add-to-unscopables');
|
|
|
6
6
|
|
|
7
7
|
// `Array.prototype.filterOut` method
|
|
8
8
|
// https://github.com/tc39/proposal-array-filtering
|
|
9
|
-
$({ target: 'Array', proto: true }, {
|
|
9
|
+
$({ target: 'Array', proto: true, forced: true }, {
|
|
10
10
|
filterOut: function filterOut(callbackfn /* , thisArg */) {
|
|
11
11
|
return $filterReject(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
|
|
12
12
|
}
|
|
@@ -5,7 +5,7 @@ var addToUnscopables = require('../internals/add-to-unscopables');
|
|
|
5
5
|
|
|
6
6
|
// `Array.prototype.filterReject` method
|
|
7
7
|
// https://github.com/tc39/proposal-array-filtering
|
|
8
|
-
$({ target: 'Array', proto: true }, {
|
|
8
|
+
$({ target: 'Array', proto: true, forced: true }, {
|
|
9
9
|
filterReject: function filterReject(callbackfn /* , thisArg */) {
|
|
10
10
|
return $filterReject(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
|
|
11
11
|
}
|
|
@@ -6,6 +6,7 @@ var uncurryThis = require('../internals/function-uncurry-this');
|
|
|
6
6
|
var IndexedObject = require('../internals/indexed-object');
|
|
7
7
|
var toObject = require('../internals/to-object');
|
|
8
8
|
var lengthOfArrayLike = require('../internals/length-of-array-like');
|
|
9
|
+
var arrayMethodIsStrict = require('../internals/array-method-is-strict');
|
|
9
10
|
var addToUnscopables = require('../internals/add-to-unscopables');
|
|
10
11
|
|
|
11
12
|
var Map = getBuiltIn('Map');
|
|
@@ -17,7 +18,8 @@ var push = uncurryThis([].push);
|
|
|
17
18
|
|
|
18
19
|
// `Array.prototype.groupByToMap` method
|
|
19
20
|
// https://github.com/tc39/proposal-array-grouping
|
|
20
|
-
|
|
21
|
+
// https://bugs.webkit.org/show_bug.cgi?id=236541
|
|
22
|
+
$({ target: 'Array', proto: true, forced: !arrayMethodIsStrict('groupByToMap') }, {
|
|
21
23
|
groupByToMap: function groupByToMap(callbackfn /* , thisArg */) {
|
|
22
24
|
var O = toObject(this);
|
|
23
25
|
var self = IndexedObject(O);
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
3
|
var $groupBy = require('../internals/array-group-by');
|
|
4
|
+
var arrayMethodIsStrict = require('../internals/array-method-is-strict');
|
|
4
5
|
var addToUnscopables = require('../internals/add-to-unscopables');
|
|
5
6
|
|
|
6
7
|
// `Array.prototype.groupBy` method
|
|
7
8
|
// https://github.com/tc39/proposal-array-grouping
|
|
8
|
-
|
|
9
|
+
// https://bugs.webkit.org/show_bug.cgi?id=236541
|
|
10
|
+
$({ target: 'Array', proto: true, forced: !arrayMethodIsStrict('groupBy') }, {
|
|
9
11
|
groupBy: function groupBy(callbackfn /* , thisArg */) {
|
|
10
12
|
var thisArg = arguments.length > 1 ? arguments[1] : undefined;
|
|
11
13
|
return $groupBy(this, callbackfn, thisArg);
|
|
@@ -19,7 +19,7 @@ var isFrozenStringArray = function (array, allowUndefined) {
|
|
|
19
19
|
|
|
20
20
|
// `Array.isTemplateObject` method
|
|
21
21
|
// https://github.com/tc39/proposal-array-is-template-object
|
|
22
|
-
$({ target: 'Array', stat: true }, {
|
|
22
|
+
$({ target: 'Array', stat: true, sham: true, forced: true }, {
|
|
23
23
|
isTemplateObject: function isTemplateObject(value) {
|
|
24
24
|
if (!isFrozenStringArray(value, true)) return false;
|
|
25
25
|
var raw = value.raw;
|
|
@@ -9,7 +9,7 @@ var Array = global.Array;
|
|
|
9
9
|
|
|
10
10
|
// `Array.prototype.toReversed` method
|
|
11
11
|
// https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.toReversed
|
|
12
|
-
$({ target: 'Array', proto: true }, {
|
|
12
|
+
$({ target: 'Array', proto: true, forced: true }, {
|
|
13
13
|
toReversed: function toReversed() {
|
|
14
14
|
return arrayToReversed(toIndexedObject(this), Array);
|
|
15
15
|
}
|
|
@@ -13,7 +13,7 @@ var sort = uncurryThis(getVirtual('Array').sort);
|
|
|
13
13
|
|
|
14
14
|
// `Array.prototype.toSorted` method
|
|
15
15
|
// https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.toSorted
|
|
16
|
-
$({ target: 'Array', proto: true }, {
|
|
16
|
+
$({ target: 'Array', proto: true, forced: true }, {
|
|
17
17
|
toSorted: function toSorted(compareFn) {
|
|
18
18
|
if (compareFn !== undefined) aCallable(compareFn);
|
|
19
19
|
var O = toIndexedObject(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, forced: true }, {
|
|
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));
|
|
@@ -5,7 +5,7 @@ var uniqueBy = require('../internals/array-unique-by');
|
|
|
5
5
|
|
|
6
6
|
// `Array.prototype.uniqueBy` method
|
|
7
7
|
// https://github.com/tc39/proposal-array-unique
|
|
8
|
-
$({ target: 'Array', proto: true }, {
|
|
8
|
+
$({ target: 'Array', proto: true, forced: true }, {
|
|
9
9
|
uniqueBy: uniqueBy
|
|
10
10
|
});
|
|
11
11
|
|
|
@@ -8,7 +8,7 @@ var Array = global.Array;
|
|
|
8
8
|
|
|
9
9
|
// `Array.prototype.with` method
|
|
10
10
|
// https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.with
|
|
11
|
-
$({ target: 'Array', proto: true }, {
|
|
11
|
+
$({ target: 'Array', proto: true, forced: true }, {
|
|
12
12
|
'with': function (index, value) {
|
|
13
13
|
return arrayWith(toIndexedObject(this), Array, index, value);
|
|
14
14
|
}
|
|
@@ -18,7 +18,7 @@ var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise, args) {
|
|
|
18
18
|
});
|
|
19
19
|
});
|
|
20
20
|
|
|
21
|
-
$({ target: 'AsyncIterator', proto: true, real: true }, {
|
|
21
|
+
$({ target: 'AsyncIterator', proto: true, real: true, forced: true }, {
|
|
22
22
|
asIndexedPairs: function asIndexedPairs() {
|
|
23
23
|
return new AsyncIteratorProxy({
|
|
24
24
|
iterator: anObject(this),
|
|
@@ -32,7 +32,7 @@ var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise, args) {
|
|
|
32
32
|
});
|
|
33
33
|
});
|
|
34
34
|
|
|
35
|
-
$({ target: 'AsyncIterator', proto: true, real: true }, {
|
|
35
|
+
$({ target: 'AsyncIterator', proto: true, real: true, forced: true }, {
|
|
36
36
|
drop: function drop(limit) {
|
|
37
37
|
return new AsyncIteratorProxy({
|
|
38
38
|
iterator: anObject(this),
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var $ = require('../internals/export');
|
|
4
4
|
var $every = require('../internals/async-iterator-iteration').every;
|
|
5
5
|
|
|
6
|
-
$({ target: 'AsyncIterator', proto: true, real: true }, {
|
|
6
|
+
$({ target: 'AsyncIterator', proto: true, real: true, forced: true }, {
|
|
7
7
|
every: function every(fn) {
|
|
8
8
|
return $every(this, fn);
|
|
9
9
|
}
|
|
@@ -33,7 +33,7 @@ var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise, args) {
|
|
|
33
33
|
});
|
|
34
34
|
});
|
|
35
35
|
|
|
36
|
-
$({ target: 'AsyncIterator', proto: true, real: true }, {
|
|
36
|
+
$({ target: 'AsyncIterator', proto: true, real: true, forced: true }, {
|
|
37
37
|
filter: function filter(filterer) {
|
|
38
38
|
return new AsyncIteratorProxy({
|
|
39
39
|
iterator: anObject(this),
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var $ = require('../internals/export');
|
|
4
4
|
var $find = require('../internals/async-iterator-iteration').find;
|
|
5
5
|
|
|
6
|
-
$({ target: 'AsyncIterator', proto: true, real: true }, {
|
|
6
|
+
$({ target: 'AsyncIterator', proto: true, real: true, forced: true }, {
|
|
7
7
|
find: function find(fn) {
|
|
8
8
|
return $find(this, fn);
|
|
9
9
|
}
|
|
@@ -53,7 +53,7 @@ var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise) {
|
|
|
53
53
|
});
|
|
54
54
|
});
|
|
55
55
|
|
|
56
|
-
$({ target: 'AsyncIterator', proto: true, real: true }, {
|
|
56
|
+
$({ target: 'AsyncIterator', proto: true, real: true, forced: true }, {
|
|
57
57
|
flatMap: function flatMap(mapper) {
|
|
58
58
|
return new AsyncIteratorProxy({
|
|
59
59
|
iterator: anObject(this),
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var $ = require('../internals/export');
|
|
4
4
|
var $forEach = require('../internals/async-iterator-iteration').forEach;
|
|
5
5
|
|
|
6
|
-
$({ target: 'AsyncIterator', proto: true, real: true }, {
|
|
6
|
+
$({ target: 'AsyncIterator', proto: true, real: true, forced: true }, {
|
|
7
7
|
forEach: function forEach(fn) {
|
|
8
8
|
return $forEach(this, fn);
|
|
9
9
|
}
|
|
@@ -19,7 +19,7 @@ var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise, args) {
|
|
|
19
19
|
return anObject(apply(this.next, this.iterator, args));
|
|
20
20
|
}, true);
|
|
21
21
|
|
|
22
|
-
$({ target: 'AsyncIterator', stat: true }, {
|
|
22
|
+
$({ target: 'AsyncIterator', stat: true, forced: true }, {
|
|
23
23
|
from: function from(O) {
|
|
24
24
|
var object = toObject(O);
|
|
25
25
|
var usingIterator = getMethod(object, ASYNC_ITERATOR);
|
|
@@ -21,7 +21,7 @@ var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise, args) {
|
|
|
21
21
|
});
|
|
22
22
|
});
|
|
23
23
|
|
|
24
|
-
$({ target: 'AsyncIterator', proto: true, real: true }, {
|
|
24
|
+
$({ target: 'AsyncIterator', proto: true, real: true, forced: true }, {
|
|
25
25
|
map: function map(mapper) {
|
|
26
26
|
return new AsyncIteratorProxy({
|
|
27
27
|
iterator: anObject(this),
|
|
@@ -10,7 +10,7 @@ var getBuiltIn = require('../internals/get-built-in');
|
|
|
10
10
|
var Promise = getBuiltIn('Promise');
|
|
11
11
|
var TypeError = global.TypeError;
|
|
12
12
|
|
|
13
|
-
$({ target: 'AsyncIterator', proto: true, real: true }, {
|
|
13
|
+
$({ target: 'AsyncIterator', proto: true, real: true, forced: true }, {
|
|
14
14
|
reduce: function reduce(reducer /* , initialValue */) {
|
|
15
15
|
var iterator = anObject(this);
|
|
16
16
|
var next = aCallable(iterator.next);
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var $ = require('../internals/export');
|
|
4
4
|
var $some = require('../internals/async-iterator-iteration').some;
|
|
5
5
|
|
|
6
|
-
$({ target: 'AsyncIterator', proto: true, real: true }, {
|
|
6
|
+
$({ target: 'AsyncIterator', proto: true, real: true, forced: true }, {
|
|
7
7
|
some: function some(fn) {
|
|
8
8
|
return $some(this, fn);
|
|
9
9
|
}
|