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 CHANGED
@@ -1,4 +1,4 @@
1
- ![logo](https://user-images.githubusercontent.com/2213682/140570622-ea744c11-632e-4d9a-ba0a-70c390a1fdff.png)
1
+ ![logo](https://user-images.githubusercontent.com/2213682/146607186-8e13ddef-26a4-4ebf-befd-5aac9d77c090.png)
2
2
 
3
3
  [![Open Collective](https://opencollective.com/core-js/all/badge.svg?label=open%20collective)](https://opencollective.com/core-js) [![version](https://img.shields.io/npm/v/core-js.svg)](https://www.npmjs.com/package/core-js) [![core-js downloads](https://img.shields.io/npm/dm/core-js.svg?label=npm%20i%20core-js)](https://npm-stat.com/charts.html?package=core-js&package=core-js-pure&package=core-js-compat&from=2014-11-18) [![core-js-pure downloads](https://img.shields.io/npm/dm/core-js-pure.svg?label=npm%20i%20core-js-pure)](https://npm-stat.com/charts.html?package=core-js&package=core-js-pure&package=core-js-compat&from=2014-11-18) [![tests](https://github.com/zloirock/core-js/workflows/tests/badge.svg)](https://github.com/zloirock/core-js/actions) [![eslint](https://github.com/zloirock/core-js/workflows/eslint/badge.svg)](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] }
@@ -1,4 +1,5 @@
1
1
  require('../../modules/es.map');
2
+ require('../../modules/es.object.to-string');
2
3
  require('../../modules/esnext.array.group-by-to-map');
3
4
  var entryUnbind = require('../../internals/entry-unbind');
4
5
 
@@ -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,4 +1,5 @@
1
1
  require('../../../modules/es.map');
2
+ require('../../../modules/es.object.to-string');
2
3
  require('../../../modules/esnext.array.group-by-to-map');
3
4
  var entryVirtual = require('../../../internals/entry-virtual');
4
5
 
@@ -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 TYPED_ARRAY_TAG_REQIRED = false;
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
- TYPED_ARRAY_TAG_REQIRED = true;
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: TYPED_ARRAY_TAG_REQIRED && 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 -- requied for testing
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;
@@ -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.0',
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 objectDefinePropertyModile = require('../internals/object-define-property');
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: objectDefinePropertyModile.f
8
+ defineProperty: objectDefinePropertyModule.f
9
9
  });
@@ -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 value = state.value;
104
- var ok = state.state == FULFILLED;
105
- var index = 0;
106
- // variable length - can't use forEach
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.parent = true;
274
- reactions[reactions.length] = reaction;
275
- if (state.state != PENDING) notify(state, false);
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
@@ -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 enforceIternalState = require('../internals/internal-state').enforce;
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 = enforceIternalState(this);
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 = enforceIternalState(this);
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 = enforceIternalState(this);
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 = enforceIternalState(this);
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 /* ...iterbles */) {
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 bolleanValueOf = uncurryThis(true.valueOf);
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(bolleanValueOf(value));
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 deatched', DATA_CLONE_ERROR);
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.0",
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": "29590d0f9f1ef51856b8498da76c316712ac7fae"
57
+ "gitHead": "8f22e986132c93458b778e656fb501dd6c86764e"
58
58
  }