core-js 3.20.0 → 3.20.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/README.md +2 -2
- package/actual/array/group-by-to-map.js +1 -0
- package/actual/array/index.js +1 -0
- package/actual/array/virtual/group-by-to-map.js +1 -0
- package/actual/array/virtual/index.js +1 -0
- package/internals/array-buffer-view-core.js +3 -3
- package/internals/ie8-dom-define.js +1 -1
- package/internals/queue.js +23 -0
- package/internals/shared.js +1 -1
- package/modules/es.object.define-property.js +2 -2
- package/modules/es.promise.js +46 -43
- package/modules/es.weak-map.js +5 -5
- package/modules/esnext.map.merge.js +1 -1
- package/modules/web.structured-clone.js +3 -3
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-

|
|
2
2
|
|
|
3
3
|
[](https://opencollective.com/core-js) [](https://www.npmjs.com/package/core-js) [](https://npm-stat.com/charts.html?package=core-js&package=core-js-pure&package=core-js-compat&from=2014-11-18) [](https://npm-stat.com/charts.html?package=core-js&package=core-js-pure&package=core-js-compat&from=2014-11-18) [](https://github.com/zloirock/core-js/actions) [](https://github.com/zloirock/core-js/actions)
|
|
4
4
|
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
|
|
25
25
|
[*Example of usage*](https://is.gd/XD4mRe):
|
|
26
26
|
```js
|
|
27
|
-
import 'core-js'; // <- at the top of your entry point
|
|
27
|
+
import 'core-js/actual'; // <- at the top of your entry point
|
|
28
28
|
|
|
29
29
|
Array.from(new Set([1, 2, 3, 2, 1])); // => [1, 2, 3]
|
|
30
30
|
[1, 2, 3, 4, 5].groupBy(it => it % 2); // => { 1: [1, 3, 5], 0: [2, 4] }
|
package/actual/array/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
var parent = require('../../stable/array');
|
|
2
2
|
require('../../modules/es.map');
|
|
3
|
+
require('../../modules/es.object.to-string');
|
|
3
4
|
require('../../modules/esnext.array.find-last');
|
|
4
5
|
require('../../modules/esnext.array.find-last-index');
|
|
5
6
|
require('../../modules/esnext.array.group-by');
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
var parent = require('../../../stable/array/virtual');
|
|
2
2
|
require('../../../modules/es.map');
|
|
3
|
+
require('../../../modules/es.object.to-string');
|
|
3
4
|
require('../../../modules/esnext.array.find-last');
|
|
4
5
|
require('../../../modules/esnext.array.find-last-index');
|
|
5
6
|
require('../../../modules/esnext.array.group-by');
|
|
@@ -30,7 +30,7 @@ var TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');
|
|
|
30
30
|
var TYPED_ARRAY_CONSTRUCTOR = uid('TYPED_ARRAY_CONSTRUCTOR');
|
|
31
31
|
// Fixing native typed arrays in Opera Presto crashes the browser, see #595
|
|
32
32
|
var NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';
|
|
33
|
-
var
|
|
33
|
+
var TYPED_ARRAY_TAG_REQUIRED = false;
|
|
34
34
|
var NAME, Constructor, Prototype;
|
|
35
35
|
|
|
36
36
|
var TypedArrayConstructorsList = {
|
|
@@ -151,7 +151,7 @@ if (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !==
|
|
|
151
151
|
}
|
|
152
152
|
|
|
153
153
|
if (DESCRIPTORS && !hasOwn(TypedArrayPrototype, TO_STRING_TAG)) {
|
|
154
|
-
|
|
154
|
+
TYPED_ARRAY_TAG_REQUIRED = true;
|
|
155
155
|
defineProperty(TypedArrayPrototype, TO_STRING_TAG, { get: function () {
|
|
156
156
|
return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;
|
|
157
157
|
} });
|
|
@@ -163,7 +163,7 @@ if (DESCRIPTORS && !hasOwn(TypedArrayPrototype, TO_STRING_TAG)) {
|
|
|
163
163
|
module.exports = {
|
|
164
164
|
NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,
|
|
165
165
|
TYPED_ARRAY_CONSTRUCTOR: TYPED_ARRAY_CONSTRUCTOR,
|
|
166
|
-
TYPED_ARRAY_TAG:
|
|
166
|
+
TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQUIRED && TYPED_ARRAY_TAG,
|
|
167
167
|
aTypedArray: aTypedArray,
|
|
168
168
|
aTypedArrayConstructor: aTypedArrayConstructor,
|
|
169
169
|
exportTypedArrayMethod: exportTypedArrayMethod,
|
|
@@ -4,7 +4,7 @@ var createElement = require('../internals/document-create-element');
|
|
|
4
4
|
|
|
5
5
|
// Thank's IE8 for his funny defineProperty
|
|
6
6
|
module.exports = !DESCRIPTORS && !fails(function () {
|
|
7
|
-
// eslint-disable-next-line es/no-object-defineproperty --
|
|
7
|
+
// eslint-disable-next-line es/no-object-defineproperty -- required for testing
|
|
8
8
|
return Object.defineProperty(createElement('div'), 'a', {
|
|
9
9
|
get: function () { return 7; }
|
|
10
10
|
}).a != 7;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
var Queue = function () {
|
|
2
|
+
this.head = null;
|
|
3
|
+
this.tail = null;
|
|
4
|
+
};
|
|
5
|
+
|
|
6
|
+
Queue.prototype = {
|
|
7
|
+
add: function (item) {
|
|
8
|
+
var entry = { item: item, next: null };
|
|
9
|
+
if (this.head) this.tail.next = entry;
|
|
10
|
+
else this.head = entry;
|
|
11
|
+
this.tail = entry;
|
|
12
|
+
},
|
|
13
|
+
get: function () {
|
|
14
|
+
var entry = this.head;
|
|
15
|
+
if (entry) {
|
|
16
|
+
this.head = entry.next;
|
|
17
|
+
if (this.tail === entry) this.tail = null;
|
|
18
|
+
return entry.item;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
module.exports = Queue;
|
package/internals/shared.js
CHANGED
|
@@ -4,7 +4,7 @@ var store = require('../internals/shared-store');
|
|
|
4
4
|
(module.exports = function (key, value) {
|
|
5
5
|
return store[key] || (store[key] = value !== undefined ? value : {});
|
|
6
6
|
})('versions', []).push({
|
|
7
|
-
version: '3.20.
|
|
7
|
+
version: '3.20.1',
|
|
8
8
|
mode: IS_PURE ? 'pure' : 'global',
|
|
9
9
|
copyright: '© 2021 Denis Pushkarev (zloirock.ru)'
|
|
10
10
|
});
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
var $ = require('../internals/export');
|
|
2
2
|
var DESCRIPTORS = require('../internals/descriptors');
|
|
3
|
-
var
|
|
3
|
+
var objectDefinePropertyModule = require('../internals/object-define-property');
|
|
4
4
|
|
|
5
5
|
// `Object.defineProperty` method
|
|
6
6
|
// https://tc39.es/ecma262/#sec-object.defineproperty
|
|
7
7
|
$({ target: 'Object', stat: true, forced: !DESCRIPTORS, sham: !DESCRIPTORS }, {
|
|
8
|
-
defineProperty:
|
|
8
|
+
defineProperty: objectDefinePropertyModule.f
|
|
9
9
|
});
|
package/modules/es.promise.js
CHANGED
|
@@ -24,6 +24,7 @@ var promiseResolve = require('../internals/promise-resolve');
|
|
|
24
24
|
var hostReportErrors = require('../internals/host-report-errors');
|
|
25
25
|
var newPromiseCapabilityModule = require('../internals/new-promise-capability');
|
|
26
26
|
var perform = require('../internals/perform');
|
|
27
|
+
var Queue = require('../internals/queue');
|
|
27
28
|
var InternalStateModule = require('../internals/internal-state');
|
|
28
29
|
var isForced = require('../internals/is-forced');
|
|
29
30
|
var wellKnownSymbol = require('../internals/well-known-symbol');
|
|
@@ -95,49 +96,50 @@ var isThenable = function (it) {
|
|
|
95
96
|
return isObject(it) && isCallable(then = it.then) ? then : false;
|
|
96
97
|
};
|
|
97
98
|
|
|
99
|
+
var callReaction = function (reaction, state) {
|
|
100
|
+
var value = state.value;
|
|
101
|
+
var ok = state.state == FULFILLED;
|
|
102
|
+
var handler = ok ? reaction.ok : reaction.fail;
|
|
103
|
+
var resolve = reaction.resolve;
|
|
104
|
+
var reject = reaction.reject;
|
|
105
|
+
var domain = reaction.domain;
|
|
106
|
+
var result, then, exited;
|
|
107
|
+
try {
|
|
108
|
+
if (handler) {
|
|
109
|
+
if (!ok) {
|
|
110
|
+
if (state.rejection === UNHANDLED) onHandleUnhandled(state);
|
|
111
|
+
state.rejection = HANDLED;
|
|
112
|
+
}
|
|
113
|
+
if (handler === true) result = value;
|
|
114
|
+
else {
|
|
115
|
+
if (domain) domain.enter();
|
|
116
|
+
result = handler(value); // can throw
|
|
117
|
+
if (domain) {
|
|
118
|
+
domain.exit();
|
|
119
|
+
exited = true;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
if (result === reaction.promise) {
|
|
123
|
+
reject(TypeError('Promise-chain cycle'));
|
|
124
|
+
} else if (then = isThenable(result)) {
|
|
125
|
+
call(then, result, resolve, reject);
|
|
126
|
+
} else resolve(result);
|
|
127
|
+
} else reject(value);
|
|
128
|
+
} catch (error) {
|
|
129
|
+
if (domain && !exited) domain.exit();
|
|
130
|
+
reject(error);
|
|
131
|
+
}
|
|
132
|
+
};
|
|
133
|
+
|
|
98
134
|
var notify = function (state, isReject) {
|
|
99
135
|
if (state.notified) return;
|
|
100
136
|
state.notified = true;
|
|
101
|
-
var chain = state.reactions;
|
|
102
137
|
microtask(function () {
|
|
103
|
-
var
|
|
104
|
-
var
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
while (chain.length > index) {
|
|
108
|
-
var reaction = chain[index++];
|
|
109
|
-
var handler = ok ? reaction.ok : reaction.fail;
|
|
110
|
-
var resolve = reaction.resolve;
|
|
111
|
-
var reject = reaction.reject;
|
|
112
|
-
var domain = reaction.domain;
|
|
113
|
-
var result, then, exited;
|
|
114
|
-
try {
|
|
115
|
-
if (handler) {
|
|
116
|
-
if (!ok) {
|
|
117
|
-
if (state.rejection === UNHANDLED) onHandleUnhandled(state);
|
|
118
|
-
state.rejection = HANDLED;
|
|
119
|
-
}
|
|
120
|
-
if (handler === true) result = value;
|
|
121
|
-
else {
|
|
122
|
-
if (domain) domain.enter();
|
|
123
|
-
result = handler(value); // can throw
|
|
124
|
-
if (domain) {
|
|
125
|
-
domain.exit();
|
|
126
|
-
exited = true;
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
if (result === reaction.promise) {
|
|
130
|
-
reject(TypeError('Promise-chain cycle'));
|
|
131
|
-
} else if (then = isThenable(result)) {
|
|
132
|
-
call(then, result, resolve, reject);
|
|
133
|
-
} else resolve(result);
|
|
134
|
-
} else reject(value);
|
|
135
|
-
} catch (error) {
|
|
136
|
-
if (domain && !exited) domain.exit();
|
|
137
|
-
reject(error);
|
|
138
|
-
}
|
|
138
|
+
var reactions = state.reactions;
|
|
139
|
+
var reaction;
|
|
140
|
+
while (reaction = reactions.get()) {
|
|
141
|
+
callReaction(reaction, state);
|
|
139
142
|
}
|
|
140
|
-
state.reactions = [];
|
|
141
143
|
state.notified = false;
|
|
142
144
|
if (isReject && !state.rejection) onUnhandled(state);
|
|
143
145
|
});
|
|
@@ -254,7 +256,7 @@ if (FORCED) {
|
|
|
254
256
|
done: false,
|
|
255
257
|
notified: false,
|
|
256
258
|
parent: false,
|
|
257
|
-
reactions:
|
|
259
|
+
reactions: new Queue(),
|
|
258
260
|
rejection: false,
|
|
259
261
|
state: PENDING,
|
|
260
262
|
value: undefined
|
|
@@ -265,14 +267,15 @@ if (FORCED) {
|
|
|
265
267
|
// https://tc39.es/ecma262/#sec-promise.prototype.then
|
|
266
268
|
then: function then(onFulfilled, onRejected) {
|
|
267
269
|
var state = getInternalPromiseState(this);
|
|
268
|
-
var reactions = state.reactions;
|
|
269
270
|
var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));
|
|
271
|
+
state.parent = true;
|
|
270
272
|
reaction.ok = isCallable(onFulfilled) ? onFulfilled : true;
|
|
271
273
|
reaction.fail = isCallable(onRejected) && onRejected;
|
|
272
274
|
reaction.domain = IS_NODE ? process.domain : undefined;
|
|
273
|
-
state.
|
|
274
|
-
|
|
275
|
-
|
|
275
|
+
if (state.state == PENDING) state.reactions.add(reaction);
|
|
276
|
+
else microtask(function () {
|
|
277
|
+
callReaction(reaction, state);
|
|
278
|
+
});
|
|
276
279
|
return reaction.promise;
|
|
277
280
|
},
|
|
278
281
|
// `Promise.prototype.catch` method
|
package/modules/es.weak-map.js
CHANGED
|
@@ -7,7 +7,7 @@ var collection = require('../internals/collection');
|
|
|
7
7
|
var collectionWeak = require('../internals/collection-weak');
|
|
8
8
|
var isObject = require('../internals/is-object');
|
|
9
9
|
var isExtensible = require('../internals/object-is-extensible');
|
|
10
|
-
var
|
|
10
|
+
var enforceInternalState = require('../internals/internal-state').enforce;
|
|
11
11
|
var NATIVE_WEAK_MAP = require('../internals/native-weak-map');
|
|
12
12
|
|
|
13
13
|
var IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;
|
|
@@ -37,28 +37,28 @@ if (NATIVE_WEAK_MAP && IS_IE11) {
|
|
|
37
37
|
redefineAll(WeakMapPrototype, {
|
|
38
38
|
'delete': function (key) {
|
|
39
39
|
if (isObject(key) && !isExtensible(key)) {
|
|
40
|
-
var state =
|
|
40
|
+
var state = enforceInternalState(this);
|
|
41
41
|
if (!state.frozen) state.frozen = new InternalWeakMap();
|
|
42
42
|
return nativeDelete(this, key) || state.frozen['delete'](key);
|
|
43
43
|
} return nativeDelete(this, key);
|
|
44
44
|
},
|
|
45
45
|
has: function has(key) {
|
|
46
46
|
if (isObject(key) && !isExtensible(key)) {
|
|
47
|
-
var state =
|
|
47
|
+
var state = enforceInternalState(this);
|
|
48
48
|
if (!state.frozen) state.frozen = new InternalWeakMap();
|
|
49
49
|
return nativeHas(this, key) || state.frozen.has(key);
|
|
50
50
|
} return nativeHas(this, key);
|
|
51
51
|
},
|
|
52
52
|
get: function get(key) {
|
|
53
53
|
if (isObject(key) && !isExtensible(key)) {
|
|
54
|
-
var state =
|
|
54
|
+
var state = enforceInternalState(this);
|
|
55
55
|
if (!state.frozen) state.frozen = new InternalWeakMap();
|
|
56
56
|
return nativeHas(this, key) ? nativeGet(this, key) : state.frozen.get(key);
|
|
57
57
|
} return nativeGet(this, key);
|
|
58
58
|
},
|
|
59
59
|
set: function set(key, value) {
|
|
60
60
|
if (isObject(key) && !isExtensible(key)) {
|
|
61
|
-
var state =
|
|
61
|
+
var state = enforceInternalState(this);
|
|
62
62
|
if (!state.frozen) state.frozen = new InternalWeakMap();
|
|
63
63
|
nativeHas(this, key) ? nativeSet(this, key, value) : state.frozen.set(key, value);
|
|
64
64
|
} else nativeSet(this, key, value);
|
|
@@ -9,7 +9,7 @@ var iterate = require('../internals/iterate');
|
|
|
9
9
|
// https://github.com/tc39/proposal-collection-methods
|
|
10
10
|
$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {
|
|
11
11
|
// eslint-disable-next-line no-unused-vars -- required for `.length`
|
|
12
|
-
merge: function merge(iterable /* ...
|
|
12
|
+
merge: function merge(iterable /* ...iterables */) {
|
|
13
13
|
var map = anObject(this);
|
|
14
14
|
var setter = aCallable(map.set);
|
|
15
15
|
var argumentsLength = arguments.length;
|
|
@@ -43,7 +43,7 @@ var mapSet = uncurryThis(MapPrototype.set);
|
|
|
43
43
|
var setAdd = uncurryThis(Set.prototype.add);
|
|
44
44
|
var objectKeys = getBuiltin('Object', 'keys');
|
|
45
45
|
var push = uncurryThis([].push);
|
|
46
|
-
var
|
|
46
|
+
var booleanValueOf = uncurryThis(true.valueOf);
|
|
47
47
|
var numberValueOf = uncurryThis(1.0.valueOf);
|
|
48
48
|
var stringValueOf = uncurryThis(''.valueOf);
|
|
49
49
|
var getFlags = uncurryThis(regExpFlags);
|
|
@@ -248,7 +248,7 @@ var structuredCloneInternal = function (value, map) {
|
|
|
248
248
|
cloned = Object(value.valueOf());
|
|
249
249
|
break;
|
|
250
250
|
case 'Boolean':
|
|
251
|
-
cloned = Object(
|
|
251
|
+
cloned = Object(booleanValueOf(value));
|
|
252
252
|
break;
|
|
253
253
|
case 'Number':
|
|
254
254
|
cloned = Object(numberValueOf(value));
|
|
@@ -278,7 +278,7 @@ var structuredCloneInternal = function (value, map) {
|
|
|
278
278
|
}
|
|
279
279
|
}
|
|
280
280
|
} catch (error) {
|
|
281
|
-
throw new DOMException('ArrayBuffer is
|
|
281
|
+
throw new DOMException('ArrayBuffer is detached', DATA_CLONE_ERROR);
|
|
282
282
|
} break;
|
|
283
283
|
case 'SharedArrayBuffer':
|
|
284
284
|
// SharedArrayBuffer should use shared memory, we can't polyfill it, so return the original
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "core-js",
|
|
3
3
|
"description": "Standard library",
|
|
4
|
-
"version": "3.20.
|
|
4
|
+
"version": "3.20.1",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "https://github.com/zloirock/core-js.git"
|
|
@@ -54,5 +54,5 @@
|
|
|
54
54
|
"scripts": {
|
|
55
55
|
"postinstall": "node -e \"try{require('./postinstall')}catch(e){}\""
|
|
56
56
|
},
|
|
57
|
-
"gitHead": "
|
|
57
|
+
"gitHead": "8f22e986132c93458b778e656fb501dd6c86764e"
|
|
58
58
|
}
|