core-js-pure 3.30.2 → 3.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/actual/function/index.js +1 -0
  2. package/actual/function/metadata.js +3 -0
  3. package/actual/instance/is-well-formed.js +2 -9
  4. package/actual/instance/to-well-formed.js +2 -9
  5. package/actual/string/index.js +1 -0
  6. package/actual/string/is-well-formed.js +4 -1
  7. package/actual/string/to-well-formed.js +4 -1
  8. package/actual/string/virtual/index.js +1 -0
  9. package/actual/string/virtual/is-well-formed.js +4 -1
  10. package/actual/string/virtual/to-well-formed.js +4 -1
  11. package/actual/symbol/index.js +2 -0
  12. package/actual/symbol/metadata.js +5 -0
  13. package/es/index.js +2 -0
  14. package/es/instance/is-well-formed.js +10 -0
  15. package/es/instance/to-well-formed.js +10 -0
  16. package/es/string/index.js +2 -0
  17. package/es/string/is-well-formed.js +3 -0
  18. package/es/string/to-well-formed.js +3 -0
  19. package/es/string/virtual/is-well-formed.js +3 -0
  20. package/es/string/virtual/to-well-formed.js +3 -0
  21. package/features/function/metadata.js +1 -0
  22. package/features/object/group-by.js +1 -0
  23. package/features/promise/with-resolvers.js +1 -0
  24. package/features/symbol/is-registered-symbol.js +1 -0
  25. package/features/symbol/is-well-known-symbol.js +1 -0
  26. package/full/function/metadata.js +3 -0
  27. package/full/index.js +11 -2
  28. package/full/object/group-by.js +6 -0
  29. package/full/object/index.js +1 -0
  30. package/full/promise/index.js +2 -1
  31. package/full/promise/with-resolvers.js +13 -0
  32. package/full/symbol/index.js +5 -4
  33. package/full/symbol/is-registered-symbol.js +5 -0
  34. package/full/symbol/is-well-known-symbol.js +5 -0
  35. package/full/symbol/metadata.js +2 -3
  36. package/internals/array-group.js +1 -1
  37. package/internals/get-iterator-direct.js +4 -3
  38. package/internals/object-to-array.js +13 -1
  39. package/internals/shared.js +2 -2
  40. package/internals/symbol-is-registered.js +16 -0
  41. package/internals/symbol-is-well-known.js +33 -0
  42. package/internals/url-constructor-detection.js +3 -1
  43. package/modules/es.string.is-well-formed.js +23 -0
  44. package/modules/es.string.to-well-formed.js +43 -0
  45. package/modules/esnext.async-disposable-stack.constructor.js +1 -1
  46. package/modules/esnext.function.metadata.js +13 -0
  47. package/modules/esnext.map.group-by.js +17 -16
  48. package/modules/esnext.object.group-by.js +30 -0
  49. package/modules/esnext.promise.with-resolvers.js +16 -0
  50. package/modules/esnext.string.is-well-formed.js +2 -23
  51. package/modules/esnext.string.to-well-formed.js +2 -42
  52. package/modules/esnext.symbol.is-registered-symbol.js +8 -0
  53. package/modules/esnext.symbol.is-registered.js +4 -15
  54. package/modules/esnext.symbol.is-well-known-symbol.js +9 -0
  55. package/modules/esnext.symbol.is-well-known.js +4 -31
  56. package/modules/web.url-search-params.constructor.js +22 -14
  57. package/modules/web.url-search-params.delete.js +1 -0
  58. package/modules/web.url-search-params.has.js +1 -0
  59. package/package.json +1 -1
  60. package/postinstall.js +1 -1
  61. package/proposals/array-grouping-v2.js +3 -0
  62. package/proposals/decorator-metadata-v2.js +1 -0
  63. package/proposals/promise-with-resolvers.js +2 -0
  64. package/proposals/symbol-predicates-v2.js +3 -0
  65. package/proposals/url.js +1 -5
  66. package/stable/index.js +4 -0
  67. package/stable/instance/is-well-formed.js +3 -0
  68. package/stable/instance/to-well-formed.js +3 -0
  69. package/stable/string/is-well-formed.js +3 -0
  70. package/stable/string/to-well-formed.js +3 -0
  71. package/stable/string/virtual/is-well-formed.js +3 -0
  72. package/stable/string/virtual/to-well-formed.js +3 -0
  73. package/stage/2.js +4 -2
  74. package/stage/3.js +2 -2
  75. package/stage/4.js +1 -0
  76. package/web/index.js +2 -0
  77. package/web/url-search-params.js +2 -0
  78. package/web/url.js +1 -2
@@ -1,3 +1,4 @@
1
1
  var parent = require('../../stable/function');
2
+ require('../../modules/esnext.function.metadata');
2
3
 
3
4
  module.exports = parent;
@@ -0,0 +1,3 @@
1
+ require('../../modules/esnext.function.metadata');
2
+
3
+ module.exports = null;
@@ -1,10 +1,3 @@
1
- var isPrototypeOf = require('../../internals/object-is-prototype-of');
2
- var method = require('../string/virtual/is-well-formed');
1
+ var parent = require('../../stable/instance/is-well-formed');
3
2
 
4
- var StringPrototype = String.prototype;
5
-
6
- module.exports = function (it) {
7
- var own = it.isWellFormed;
8
- return typeof it == 'string' || it === StringPrototype
9
- || (isPrototypeOf(StringPrototype, it) && own === StringPrototype.isWellFormed) ? method : own;
10
- };
3
+ module.exports = parent;
@@ -1,10 +1,3 @@
1
- var isPrototypeOf = require('../../internals/object-is-prototype-of');
2
- var method = require('../string/virtual/to-well-formed');
1
+ var parent = require('../../stable/instance/to-well-formed');
3
2
 
4
- var StringPrototype = String.prototype;
5
-
6
- module.exports = function (it) {
7
- var own = it.toWellFormed;
8
- return typeof it == 'string' || it === StringPrototype
9
- || (isPrototypeOf(StringPrototype, it) && own === StringPrototype.toWellFormed) ? method : own;
10
- };
3
+ module.exports = parent;
@@ -1,5 +1,6 @@
1
1
  var parent = require('../../stable/string');
2
2
 
3
+ // TODO: Remove from `core-js@4`
3
4
  require('../../modules/esnext.string.is-well-formed');
4
5
  require('../../modules/esnext.string.to-well-formed');
5
6
 
@@ -1,3 +1,6 @@
1
+ // TODO: Remove from `core-js@4`
1
2
  require('../../modules/esnext.string.is-well-formed');
2
3
 
3
- module.exports = require('../../internals/entry-unbind')('String', 'isWellFormed');
4
+ var parent = require('../../stable/string/is-well-formed');
5
+
6
+ module.exports = parent;
@@ -1,3 +1,6 @@
1
+ // TODO: Remove from `core-js@4`
1
2
  require('../../modules/esnext.string.to-well-formed');
2
3
 
3
- module.exports = require('../../internals/entry-unbind')('String', 'toWellFormed');
4
+ var parent = require('../../stable/string/to-well-formed');
5
+
6
+ module.exports = parent;
@@ -1,5 +1,6 @@
1
1
  var parent = require('../../../stable/string/virtual');
2
2
 
3
+ // TODO: Remove from `core-js@4`
3
4
  require('../../../modules/esnext.string.is-well-formed');
4
5
  require('../../../modules/esnext.string.to-well-formed');
5
6
 
@@ -1,3 +1,6 @@
1
+ // TODO: Remove from `core-js@4`
1
2
  require('../../../modules/esnext.string.is-well-formed');
2
3
 
3
- module.exports = require('../../../internals/entry-virtual')('String').isWellFormed;
4
+ var parent = require('../../../stable/string/virtual/is-well-formed');
5
+
6
+ module.exports = parent;
@@ -1,3 +1,6 @@
1
+ // TODO: Remove from `core-js@4`
1
2
  require('../../../modules/esnext.string.to-well-formed');
2
3
 
3
- module.exports = require('../../../internals/entry-virtual')('String').toWellFormed;
4
+ var parent = require('../../../stable/string/virtual/to-well-formed');
5
+
6
+ module.exports = parent;
@@ -1,5 +1,7 @@
1
1
  var parent = require('../../stable/symbol');
2
2
 
3
+ require('../../modules/esnext.function.metadata');
3
4
  require('../../modules/esnext.symbol.dispose');
5
+ require('../../modules/esnext.symbol.metadata');
4
6
 
5
7
  module.exports = parent;
@@ -0,0 +1,5 @@
1
+ require('../../modules/esnext.function.metadata');
2
+ require('../../modules/esnext.symbol.metadata');
3
+ var WrappedWellKnownSymbolModule = require('../../internals/well-known-symbol-wrapped');
4
+
5
+ module.exports = WrappedWellKnownSymbolModule.f('metadata');
package/es/index.js CHANGED
@@ -166,6 +166,7 @@ require('../modules/es.string.code-point-at');
166
166
  require('../modules/es.string.ends-with');
167
167
  require('../modules/es.string.from-code-point');
168
168
  require('../modules/es.string.includes');
169
+ require('../modules/es.string.is-well-formed');
169
170
  require('../modules/es.string.iterator');
170
171
  require('../modules/es.string.match');
171
172
  require('../modules/es.string.match-all');
@@ -179,6 +180,7 @@ require('../modules/es.string.search');
179
180
  require('../modules/es.string.split');
180
181
  require('../modules/es.string.starts-with');
181
182
  require('../modules/es.string.substr');
183
+ require('../modules/es.string.to-well-formed');
182
184
  require('../modules/es.string.trim');
183
185
  require('../modules/es.string.trim-end');
184
186
  require('../modules/es.string.trim-start');
@@ -0,0 +1,10 @@
1
+ var isPrototypeOf = require('../../internals/object-is-prototype-of');
2
+ var method = require('../string/virtual/is-well-formed');
3
+
4
+ var StringPrototype = String.prototype;
5
+
6
+ module.exports = function (it) {
7
+ var own = it.isWellFormed;
8
+ return typeof it == 'string' || it === StringPrototype
9
+ || (isPrototypeOf(StringPrototype, it) && own === StringPrototype.isWellFormed) ? method : own;
10
+ };
@@ -0,0 +1,10 @@
1
+ var isPrototypeOf = require('../../internals/object-is-prototype-of');
2
+ var method = require('../string/virtual/to-well-formed');
3
+
4
+ var StringPrototype = String.prototype;
5
+
6
+ module.exports = function (it) {
7
+ var own = it.toWellFormed;
8
+ return typeof it == 'string' || it === StringPrototype
9
+ || (isPrototypeOf(StringPrototype, it) && own === StringPrototype.toWellFormed) ? method : own;
10
+ };
@@ -6,6 +6,7 @@ require('../../modules/es.string.code-point-at');
6
6
  require('../../modules/es.string.at-alternative');
7
7
  require('../../modules/es.string.ends-with');
8
8
  require('../../modules/es.string.includes');
9
+ require('../../modules/es.string.is-well-formed');
9
10
  require('../../modules/es.string.match');
10
11
  require('../../modules/es.string.match-all');
11
12
  require('../../modules/es.string.pad-end');
@@ -17,6 +18,7 @@ require('../../modules/es.string.search');
17
18
  require('../../modules/es.string.split');
18
19
  require('../../modules/es.string.starts-with');
19
20
  require('../../modules/es.string.substr');
21
+ require('../../modules/es.string.to-well-formed');
20
22
  require('../../modules/es.string.trim');
21
23
  require('../../modules/es.string.trim-start');
22
24
  require('../../modules/es.string.trim-end');
@@ -0,0 +1,3 @@
1
+ require('../../modules/es.string.is-well-formed');
2
+
3
+ module.exports = require('../../internals/entry-unbind')('String', 'isWellFormed');
@@ -0,0 +1,3 @@
1
+ require('../../modules/es.string.to-well-formed');
2
+
3
+ module.exports = require('../../internals/entry-unbind')('String', 'toWellFormed');
@@ -0,0 +1,3 @@
1
+ require('../../../modules/es.string.is-well-formed');
2
+
3
+ module.exports = require('../../../internals/entry-virtual')('String').isWellFormed;
@@ -0,0 +1,3 @@
1
+ require('../../../modules/es.string.to-well-formed');
2
+
3
+ module.exports = require('../../../internals/entry-virtual')('String').toWellFormed;
@@ -0,0 +1 @@
1
+ module.exports = require('../../full/function/metadata');
@@ -0,0 +1 @@
1
+ module.exports = require('../../full/object/group-by');
@@ -0,0 +1 @@
1
+ module.exports = require('../../full/promise/with-resolvers');
@@ -0,0 +1 @@
1
+ module.exports = require('../../full/symbol/is-registered-symbol');
@@ -0,0 +1 @@
1
+ module.exports = require('../../full/symbol/is-well-known-symbol');
@@ -0,0 +1,3 @@
1
+ var parent = require('../../actual/function/metadata');
2
+
3
+ module.exports = parent;
package/full/index.js CHANGED
@@ -166,6 +166,7 @@ require('../modules/es.string.code-point-at');
166
166
  require('../modules/es.string.ends-with');
167
167
  require('../modules/es.string.from-code-point');
168
168
  require('../modules/es.string.includes');
169
+ require('../modules/es.string.is-well-formed');
169
170
  require('../modules/es.string.iterator');
170
171
  require('../modules/es.string.match');
171
172
  require('../modules/es.string.match-all');
@@ -179,6 +180,7 @@ require('../modules/es.string.search');
179
180
  require('../modules/es.string.split');
180
181
  require('../modules/es.string.starts-with');
181
182
  require('../modules/es.string.substr');
183
+ require('../modules/es.string.to-well-formed');
182
184
  require('../modules/es.string.trim');
183
185
  require('../modules/es.string.trim-end');
184
186
  require('../modules/es.string.trim-start');
@@ -285,6 +287,7 @@ require('../modules/esnext.disposable-stack.constructor');
285
287
  require('../modules/esnext.function.demethodize');
286
288
  require('../modules/esnext.function.is-callable');
287
289
  require('../modules/esnext.function.is-constructor');
290
+ require('../modules/esnext.function.metadata');
288
291
  require('../modules/esnext.function.un-this');
289
292
  require('../modules/esnext.global-this');
290
293
  require('../modules/esnext.iterator.constructor');
@@ -347,10 +350,12 @@ require('../modules/esnext.object.has-own');
347
350
  require('../modules/esnext.object.iterate-entries');
348
351
  require('../modules/esnext.object.iterate-keys');
349
352
  require('../modules/esnext.object.iterate-values');
353
+ require('../modules/esnext.object.group-by');
350
354
  require('../modules/esnext.observable');
351
355
  require('../modules/esnext.promise.all-settled');
352
356
  require('../modules/esnext.promise.any');
353
357
  require('../modules/esnext.promise.try');
358
+ require('../modules/esnext.promise.with-resolvers');
354
359
  require('../modules/esnext.reflect.define-metadata');
355
360
  require('../modules/esnext.reflect.delete-metadata');
356
361
  require('../modules/esnext.reflect.get-metadata');
@@ -389,13 +394,13 @@ require('../modules/esnext.string.at');
389
394
  require('../modules/esnext.string.cooked');
390
395
  require('../modules/esnext.string.code-points');
391
396
  require('../modules/esnext.string.dedent');
392
- require('../modules/esnext.string.is-well-formed');
393
397
  require('../modules/esnext.string.match-all');
394
398
  require('../modules/esnext.string.replace-all');
395
- require('../modules/esnext.string.to-well-formed');
396
399
  require('../modules/esnext.symbol.async-dispose');
397
400
  require('../modules/esnext.symbol.dispose');
401
+ require('../modules/esnext.symbol.is-registered-symbol');
398
402
  require('../modules/esnext.symbol.is-registered');
403
+ require('../modules/esnext.symbol.is-well-known-symbol');
399
404
  require('../modules/esnext.symbol.is-well-known');
400
405
  require('../modules/esnext.symbol.matcher');
401
406
  require('../modules/esnext.symbol.metadata');
@@ -440,6 +445,10 @@ require('../modules/web.url');
440
445
  require('../modules/web.url.can-parse');
441
446
  require('../modules/web.url.to-json');
442
447
  require('../modules/web.url-search-params');
448
+ require('../modules/web.url-search-params.delete');
449
+ require('../modules/web.url-search-params.has');
443
450
  require('../modules/web.url-search-params.size');
451
+ require('../modules/esnext.string.is-well-formed');
452
+ require('../modules/esnext.string.to-well-formed');
444
453
 
445
454
  module.exports = require('../internals/path');
@@ -0,0 +1,6 @@
1
+ require('../../modules/es.object.create');
2
+ require('../../modules/esnext.object.group-by');
3
+
4
+ var path = require('../../internals/path');
5
+
6
+ module.exports = path.Object.groupBy;
@@ -1,4 +1,5 @@
1
1
  var parent = require('../../actual/object');
2
+ require('../../modules/esnext.object.group-by');
2
3
  // TODO: Remove from `core-js@4`
3
4
  require('../../modules/esnext.object.has-own');
4
5
  require('../../modules/esnext.object.iterate-entries');
@@ -1,6 +1,7 @@
1
1
  var parent = require('../../actual/promise');
2
- require('../../modules/esnext.aggregate-error');
2
+ require('../../modules/esnext.promise.with-resolvers');
3
3
  // TODO: Remove from `core-js@4`
4
+ require('../../modules/esnext.aggregate-error');
4
5
  require('../../modules/esnext.promise.all-settled');
5
6
  require('../../modules/esnext.promise.try');
6
7
  require('../../modules/esnext.promise.any');
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+ require('../../modules/es.promise');
3
+ require('../../modules/esnext.promise.with-resolvers');
4
+ var call = require('../../internals/function-call');
5
+ var isCallable = require('../../internals/is-callable');
6
+ var path = require('../../internals/path');
7
+
8
+ var Promise = path.Promise;
9
+ var promiseWithResolvers = Promise.withResolvers;
10
+
11
+ module.exports = function withResolvers() {
12
+ return call(promiseWithResolvers, isCallable(this) ? this : Promise);
13
+ };
@@ -1,12 +1,13 @@
1
1
  var parent = require('../../actual/symbol');
2
2
  require('../../modules/esnext.symbol.async-dispose');
3
- require('../../modules/esnext.symbol.is-registered');
4
- require('../../modules/esnext.symbol.is-well-known');
3
+ require('../../modules/esnext.symbol.is-registered-symbol');
4
+ require('../../modules/esnext.symbol.is-well-known-symbol');
5
5
  require('../../modules/esnext.symbol.matcher');
6
- require('../../modules/esnext.symbol.metadata-key');
7
6
  require('../../modules/esnext.symbol.observable');
8
7
  // TODO: Remove from `core-js@4`
9
- require('../../modules/esnext.symbol.metadata');
8
+ require('../../modules/esnext.symbol.is-registered');
9
+ require('../../modules/esnext.symbol.is-well-known');
10
+ require('../../modules/esnext.symbol.metadata-key');
10
11
  require('../../modules/esnext.symbol.pattern-match');
11
12
  require('../../modules/esnext.symbol.replace-all');
12
13
 
@@ -0,0 +1,5 @@
1
+ require('../../modules/es.symbol');
2
+ require('../../modules/esnext.symbol.is-registered-symbol');
3
+ var path = require('../../internals/path');
4
+
5
+ module.exports = path.Symbol.isRegisteredSymbol;
@@ -0,0 +1,5 @@
1
+ require('../../modules/es.symbol');
2
+ require('../../modules/esnext.symbol.is-well-known-symbol');
3
+ var path = require('../../internals/path');
4
+
5
+ module.exports = path.Symbol.isWellKnownSymbol;
@@ -1,4 +1,3 @@
1
- require('../../modules/esnext.symbol.metadata');
2
- var WrappedWellKnownSymbolModule = require('../../internals/well-known-symbol-wrapped');
1
+ var parent = require('../../actual/symbol/metadata');
3
2
 
4
- module.exports = WrappedWellKnownSymbolModule.f('metadata');
3
+ module.exports = parent;
@@ -21,7 +21,7 @@ module.exports = function ($this, callbackfn, that, specificConstructor) {
21
21
  for (;length > index; index++) {
22
22
  value = self[index];
23
23
  key = toPropertyKey(boundFunction(value, index, O));
24
- // in some IE10 builds, `hasOwnProperty` returns incorrect result on integer keys
24
+ // in some IE versions, `hasOwnProperty` returns incorrect result on integer keys
25
25
  // but since it's a `null` prototype object, we can safely use `in`
26
26
  if (key in target) push(target[key], value);
27
27
  else target[key] = [value];
@@ -1,8 +1,9 @@
1
- var aCallable = require('../internals/a-callable');
2
-
1
+ // `GetIteratorDirect(obj)` abstract operation
2
+ // https://tc39.es/proposal-iterator-helpers/#sec-getiteratordirect
3
3
  module.exports = function (obj) {
4
4
  return {
5
5
  iterator: obj,
6
- next: aCallable(obj.next)
6
+ next: obj.next,
7
+ done: false
7
8
  };
8
9
  };
@@ -1,5 +1,7 @@
1
1
  var DESCRIPTORS = require('../internals/descriptors');
2
+ var fails = require('../internals/fails');
2
3
  var uncurryThis = require('../internals/function-uncurry-this');
4
+ var objectGetPrototypeOf = require('../internals/object-get-prototype-of');
3
5
  var objectKeys = require('../internals/object-keys');
4
6
  var toIndexedObject = require('../internals/to-indexed-object');
5
7
  var $propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;
@@ -7,18 +9,28 @@ var $propertyIsEnumerable = require('../internals/object-property-is-enumerable'
7
9
  var propertyIsEnumerable = uncurryThis($propertyIsEnumerable);
8
10
  var push = uncurryThis([].push);
9
11
 
12
+ // in some IE versions, `propertyIsEnumerable` returns incorrect result on integer keys
13
+ // of `null` prototype objects
14
+ var IE_BUG = DESCRIPTORS && fails(function () {
15
+ // eslint-disable-next-line es/no-object-create -- safe
16
+ var O = Object.create(null);
17
+ O[2] = 2;
18
+ return !propertyIsEnumerable(O, 2);
19
+ });
20
+
10
21
  // `Object.{ entries, values }` methods implementation
11
22
  var createMethod = function (TO_ENTRIES) {
12
23
  return function (it) {
13
24
  var O = toIndexedObject(it);
14
25
  var keys = objectKeys(O);
26
+ var IE_WORKAROUND = IE_BUG && objectGetPrototypeOf(O) === null;
15
27
  var length = keys.length;
16
28
  var i = 0;
17
29
  var result = [];
18
30
  var key;
19
31
  while (length > i) {
20
32
  key = keys[i++];
21
- if (!DESCRIPTORS || propertyIsEnumerable(O, key)) {
33
+ if (!DESCRIPTORS || (IE_WORKAROUND ? key in O : propertyIsEnumerable(O, key))) {
22
34
  push(result, TO_ENTRIES ? [key, O[key]] : O[key]);
23
35
  }
24
36
  }
@@ -4,9 +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.30.2',
7
+ version: '3.31.0',
8
8
  mode: IS_PURE ? 'pure' : 'global',
9
9
  copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',
10
- license: 'https://github.com/zloirock/core-js/blob/v3.30.2/LICENSE',
10
+ license: 'https://github.com/zloirock/core-js/blob/v3.31.0/LICENSE',
11
11
  source: 'https://github.com/zloirock/core-js'
12
12
  });
@@ -0,0 +1,16 @@
1
+ var getBuiltIn = require('../internals/get-built-in');
2
+ var uncurryThis = require('../internals/function-uncurry-this');
3
+
4
+ var Symbol = getBuiltIn('Symbol');
5
+ var keyFor = Symbol.keyFor;
6
+ var thisSymbolValue = uncurryThis(Symbol.prototype.valueOf);
7
+
8
+ // `Symbol.isRegisteredSymbol` method
9
+ // https://tc39.es/proposal-symbol-predicates/#sec-symbol-isregisteredsymbol
10
+ module.exports = Symbol.isRegisteredSymbol || function isRegisteredSymbol(value) {
11
+ try {
12
+ return keyFor(thisSymbolValue(value)) !== undefined;
13
+ } catch (error) {
14
+ return false;
15
+ }
16
+ };
@@ -0,0 +1,33 @@
1
+ var shared = require('../internals/shared');
2
+ var getBuiltIn = require('../internals/get-built-in');
3
+ var uncurryThis = require('../internals/function-uncurry-this');
4
+ var isSymbol = require('../internals/is-symbol');
5
+ var wellKnownSymbol = require('../internals/well-known-symbol');
6
+
7
+ var Symbol = getBuiltIn('Symbol');
8
+ var $isWellKnownSymbol = Symbol.isWellKnownSymbol;
9
+ var getOwnPropertyNames = getBuiltIn('Object', 'getOwnPropertyNames');
10
+ var thisSymbolValue = uncurryThis(Symbol.prototype.valueOf);
11
+ var WellKnownSymbolsStore = shared('wks');
12
+
13
+ for (var i = 0, symbolKeys = getOwnPropertyNames(Symbol), symbolKeysLength = symbolKeys.length; i < symbolKeysLength; i++) {
14
+ // some old engines throws on access to some keys like `arguments` or `caller`
15
+ try {
16
+ var symbolKey = symbolKeys[i];
17
+ if (isSymbol(Symbol[symbolKey])) wellKnownSymbol(symbolKey);
18
+ } catch (error) { /* empty */ }
19
+ }
20
+
21
+ // `Symbol.isWellKnownSymbol` method
22
+ // https://tc39.es/proposal-symbol-predicates/#sec-symbol-iswellknownsymbol
23
+ // We should patch it for newly added well-known symbols. If it's not required, this module just will not be injected
24
+ module.exports = function isWellKnownSymbol(value) {
25
+ if ($isWellKnownSymbol && $isWellKnownSymbol(value)) return true;
26
+ try {
27
+ var symbol = thisSymbolValue(value);
28
+ for (var j = 0, keys = getOwnPropertyNames(WellKnownSymbolsStore), keysLength = keys.length; j < keysLength; j++) {
29
+ if (WellKnownSymbolsStore[keys[j]] == symbol) return true;
30
+ }
31
+ } catch (error) { /* empty */ }
32
+ return false;
33
+ };
@@ -9,13 +9,15 @@ module.exports = !fails(function () {
9
9
  // eslint-disable-next-line unicorn/relative-url-style -- required for testing
10
10
  var url = new URL('b?a=1&b=2&c=3', 'http://a');
11
11
  var searchParams = url.searchParams;
12
+ var searchParams2 = new URLSearchParams('a=1&a=2');
12
13
  var result = '';
13
14
  url.pathname = 'c%20d';
14
15
  searchParams.forEach(function (value, key) {
15
16
  searchParams['delete']('b');
16
17
  result += key + value;
17
18
  });
18
- return (IS_PURE && !url.toJSON)
19
+ searchParams2['delete']('a', 2);
20
+ return (IS_PURE && (!url.toJSON || !searchParams2.has('a', 1) || searchParams2.has('a', 2)))
19
21
  || (!searchParams.size && (IS_PURE || !DESCRIPTORS))
20
22
  || !searchParams.sort
21
23
  || url.href !== 'http://a/c%20d?a=1&c=3'
@@ -0,0 +1,23 @@
1
+ 'use strict';
2
+ var $ = require('../internals/export');
3
+ var uncurryThis = require('../internals/function-uncurry-this');
4
+ var requireObjectCoercible = require('../internals/require-object-coercible');
5
+ var toString = require('../internals/to-string');
6
+
7
+ var charCodeAt = uncurryThis(''.charCodeAt);
8
+
9
+ // `String.prototype.isWellFormed` method
10
+ // https://github.com/tc39/proposal-is-usv-string
11
+ $({ target: 'String', proto: true }, {
12
+ isWellFormed: function isWellFormed() {
13
+ var S = toString(requireObjectCoercible(this));
14
+ var length = S.length;
15
+ for (var i = 0; i < length; i++) {
16
+ var charCode = charCodeAt(S, i);
17
+ // single UTF-16 code unit
18
+ if ((charCode & 0xF800) != 0xD800) continue;
19
+ // unpaired surrogate
20
+ if (charCode >= 0xDC00 || ++i >= length || (charCodeAt(S, i) & 0xFC00) != 0xDC00) return false;
21
+ } return true;
22
+ }
23
+ });
@@ -0,0 +1,43 @@
1
+ 'use strict';
2
+ var $ = require('../internals/export');
3
+ var call = require('../internals/function-call');
4
+ var uncurryThis = require('../internals/function-uncurry-this');
5
+ var requireObjectCoercible = require('../internals/require-object-coercible');
6
+ var toString = require('../internals/to-string');
7
+ var fails = require('../internals/fails');
8
+
9
+ var $Array = Array;
10
+ var charAt = uncurryThis(''.charAt);
11
+ var charCodeAt = uncurryThis(''.charCodeAt);
12
+ var join = uncurryThis([].join);
13
+ // eslint-disable-next-line es/no-string-prototype-iswellformed-towellformed -- safe
14
+ var $toWellFormed = ''.toWellFormed;
15
+ var REPLACEMENT_CHARACTER = '\uFFFD';
16
+
17
+ // Safari bug
18
+ var TO_STRING_CONVERSION_BUG = $toWellFormed && fails(function () {
19
+ return call($toWellFormed, 1) !== '1';
20
+ });
21
+
22
+ // `String.prototype.toWellFormed` method
23
+ // https://github.com/tc39/proposal-is-usv-string
24
+ $({ target: 'String', proto: true, forced: TO_STRING_CONVERSION_BUG }, {
25
+ toWellFormed: function toWellFormed() {
26
+ var S = toString(requireObjectCoercible(this));
27
+ if (TO_STRING_CONVERSION_BUG) return call($toWellFormed, S);
28
+ var length = S.length;
29
+ var result = $Array(length);
30
+ for (var i = 0; i < length; i++) {
31
+ var charCode = charCodeAt(S, i);
32
+ // single UTF-16 code unit
33
+ if ((charCode & 0xF800) != 0xD800) result[i] = charAt(S, i);
34
+ // unpaired surrogate
35
+ else if (charCode >= 0xDC00 || i + 1 >= length || (charCodeAt(S, i + 1) & 0xFC00) != 0xDC00) result[i] = REPLACEMENT_CHARACTER;
36
+ // surrogate pair
37
+ else {
38
+ result[i] = charAt(S, i);
39
+ result[++i] = charAt(S, i);
40
+ }
41
+ } return join(result, '');
42
+ }
43
+ });
@@ -95,7 +95,7 @@ defineBuiltIns(AsyncDisposableStackPrototype, {
95
95
  var internalState = getPendingAsyncDisposableStackInternalState(this);
96
96
  aCallable(onDispose);
97
97
  addDisposableResource(internalState, undefined, HINT, function () {
98
- onDispose(value);
98
+ return onDispose(value);
99
99
  });
100
100
  return value;
101
101
  },
@@ -0,0 +1,13 @@
1
+ var wellKnownSymbol = require('../internals/well-known-symbol');
2
+ var defineProperty = require('../internals/object-define-property').f;
3
+
4
+ var METADATA = wellKnownSymbol('metadata');
5
+ var FunctionPrototype = Function.prototype;
6
+
7
+ // Function.prototype[@@metadata]
8
+ // https://github.com/tc39/proposal-decorator-metadata
9
+ if (FunctionPrototype[METADATA] === undefined) {
10
+ defineProperty(FunctionPrototype, METADATA, {
11
+ value: null
12
+ });
13
+ }
@@ -1,29 +1,30 @@
1
1
  'use strict';
2
2
  var $ = require('../internals/export');
3
- var call = require('../internals/function-call');
4
3
  var uncurryThis = require('../internals/function-uncurry-this');
5
- var isCallable = require('../internals/is-callable');
6
4
  var aCallable = require('../internals/a-callable');
5
+ var requireObjectCoercible = require('../internals/require-object-coercible');
7
6
  var iterate = require('../internals/iterate');
8
- var Map = require('../internals/map-helpers').Map;
7
+ var MapHelpers = require('../internals/map-helpers');
9
8
 
9
+ var Map = MapHelpers.Map;
10
+ var has = MapHelpers.has;
11
+ var get = MapHelpers.get;
12
+ var set = MapHelpers.set;
10
13
  var push = uncurryThis([].push);
11
14
 
12
15
  // `Map.groupBy` method
13
- // https://github.com/tc39/proposal-collection-methods
16
+ // https://github.com/tc39/proposal-array-grouping
14
17
  $({ target: 'Map', stat: true, forced: true }, {
15
- groupBy: function groupBy(iterable, keyDerivative) {
16
- var C = isCallable(this) ? this : Map;
17
- var newMap = new C();
18
- aCallable(keyDerivative);
19
- var has = aCallable(newMap.has);
20
- var get = aCallable(newMap.get);
21
- var set = aCallable(newMap.set);
22
- iterate(iterable, function (element) {
23
- var derivedKey = keyDerivative(element);
24
- if (!call(has, newMap, derivedKey)) call(set, newMap, derivedKey, [element]);
25
- else push(call(get, newMap, derivedKey), element);
18
+ groupBy: function groupBy(items, callbackfn) {
19
+ requireObjectCoercible(items);
20
+ aCallable(callbackfn);
21
+ var map = new Map();
22
+ var k = 0;
23
+ iterate(items, function (value) {
24
+ var key = callbackfn(value, k++);
25
+ if (!has(map, key)) set(map, key, [value]);
26
+ else push(get(map, key), value);
26
27
  });
27
- return newMap;
28
+ return map;
28
29
  }
29
30
  });
@@ -0,0 +1,30 @@
1
+ 'use strict';
2
+ var $ = require('../internals/export');
3
+ var getBuiltIn = require('../internals/get-built-in');
4
+ var uncurryThis = require('../internals/function-uncurry-this');
5
+ var aCallable = require('../internals/a-callable');
6
+ var requireObjectCoercible = require('../internals/require-object-coercible');
7
+ var toPropertyKey = require('../internals/to-property-key');
8
+ var iterate = require('../internals/iterate');
9
+
10
+ var create = getBuiltIn('Object', 'create');
11
+ var push = uncurryThis([].push);
12
+
13
+ // `Object.groupBy` method
14
+ // https://github.com/tc39/proposal-array-grouping
15
+ $({ target: 'Object', stat: true, forced: true }, {
16
+ groupBy: function groupBy(items, callbackfn) {
17
+ requireObjectCoercible(items);
18
+ aCallable(callbackfn);
19
+ var obj = create(null);
20
+ var k = 0;
21
+ iterate(items, function (value) {
22
+ var key = toPropertyKey(callbackfn(value, k++));
23
+ // in some IE versions, `hasOwnProperty` returns incorrect result on integer keys
24
+ // but since it's a `null` prototype object, we can safely use `in`
25
+ if (key in obj) push(obj[key], value);
26
+ else obj[key] = [value];
27
+ });
28
+ return obj;
29
+ }
30
+ });
@@ -0,0 +1,16 @@
1
+ 'use strict';
2
+ var $ = require('../internals/export');
3
+ var newPromiseCapabilityModule = require('../internals/new-promise-capability');
4
+
5
+ // `Promise.withResolvers` method
6
+ // https://github.com/tc39/proposal-promise-with-resolvers
7
+ $({ target: 'Promise', stat: true, forced: true }, {
8
+ withResolvers: function withResolvers() {
9
+ var promiseCapability = newPromiseCapabilityModule.f(this);
10
+ return {
11
+ promise: promiseCapability.promise,
12
+ resolve: promiseCapability.resolve,
13
+ reject: promiseCapability.reject
14
+ };
15
+ }
16
+ });
@@ -1,23 +1,2 @@
1
- 'use strict';
2
- var $ = require('../internals/export');
3
- var uncurryThis = require('../internals/function-uncurry-this');
4
- var requireObjectCoercible = require('../internals/require-object-coercible');
5
- var toString = require('../internals/to-string');
6
-
7
- var charCodeAt = uncurryThis(''.charCodeAt);
8
-
9
- // `String.prototype.isWellFormed` method
10
- // https://github.com/tc39/proposal-is-usv-string
11
- $({ target: 'String', proto: true }, {
12
- isWellFormed: function isWellFormed() {
13
- var S = toString(requireObjectCoercible(this));
14
- var length = S.length;
15
- for (var i = 0; i < length; i++) {
16
- var charCode = charCodeAt(S, i);
17
- // single UTF-16 code unit
18
- if ((charCode & 0xF800) != 0xD800) continue;
19
- // unpaired surrogate
20
- if (charCode >= 0xDC00 || ++i >= length || (charCodeAt(S, i) & 0xFC00) != 0xDC00) return false;
21
- } return true;
22
- }
23
- });
1
+ // TODO: Remove from `core-js@4`
2
+ require('../modules/es.string.is-well-formed');
@@ -1,42 +1,2 @@
1
- 'use strict';
2
- var $ = require('../internals/export');
3
- var call = require('../internals/function-call');
4
- var uncurryThis = require('../internals/function-uncurry-this');
5
- var requireObjectCoercible = require('../internals/require-object-coercible');
6
- var toString = require('../internals/to-string');
7
- var fails = require('../internals/fails');
8
-
9
- var $Array = Array;
10
- var charAt = uncurryThis(''.charAt);
11
- var charCodeAt = uncurryThis(''.charCodeAt);
12
- var join = uncurryThis([].join);
13
- var $toWellFormed = ''.toWellFormed;
14
- var REPLACEMENT_CHARACTER = '\uFFFD';
15
-
16
- // Safari bug
17
- var TO_STRING_CONVERSION_BUG = $toWellFormed && fails(function () {
18
- return call($toWellFormed, 1) !== '1';
19
- });
20
-
21
- // `String.prototype.toWellFormed` method
22
- // https://github.com/tc39/proposal-is-usv-string
23
- $({ target: 'String', proto: true, forced: TO_STRING_CONVERSION_BUG }, {
24
- toWellFormed: function toWellFormed() {
25
- var S = toString(requireObjectCoercible(this));
26
- if (TO_STRING_CONVERSION_BUG) return call($toWellFormed, S);
27
- var length = S.length;
28
- var result = $Array(length);
29
- for (var i = 0; i < length; i++) {
30
- var charCode = charCodeAt(S, i);
31
- // single UTF-16 code unit
32
- if ((charCode & 0xF800) != 0xD800) result[i] = charAt(S, i);
33
- // unpaired surrogate
34
- else if (charCode >= 0xDC00 || i + 1 >= length || (charCodeAt(S, i + 1) & 0xFC00) != 0xDC00) result[i] = REPLACEMENT_CHARACTER;
35
- // surrogate pair
36
- else {
37
- result[i] = charAt(S, i);
38
- result[++i] = charAt(S, i);
39
- }
40
- } return join(result, '');
41
- }
42
- });
1
+ // TODO: Remove from `core-js@4`
2
+ require('../modules/es.string.to-well-formed');
@@ -0,0 +1,8 @@
1
+ var $ = require('../internals/export');
2
+ var isRegisteredSymbol = require('../internals/symbol-is-registered');
3
+
4
+ // `Symbol.isRegisteredSymbol` method
5
+ // https://tc39.es/proposal-symbol-predicates/#sec-symbol-isregisteredsymbol
6
+ $({ target: 'Symbol', stat: true }, {
7
+ isRegisteredSymbol: isRegisteredSymbol
8
+ });
@@ -1,19 +1,8 @@
1
1
  var $ = require('../internals/export');
2
- var getBuiltIn = require('../internals/get-built-in');
3
- var uncurryThis = require('../internals/function-uncurry-this');
4
-
5
- var Symbol = getBuiltIn('Symbol');
6
- var keyFor = Symbol.keyFor;
7
- var thisSymbolValue = uncurryThis(Symbol.prototype.valueOf);
2
+ var isRegisteredSymbol = require('../internals/symbol-is-registered');
8
3
 
9
4
  // `Symbol.isRegistered` method
10
- // https://tc39.es/proposal-symbol-predicates/#sec-symbol-isregistered
11
- $({ target: 'Symbol', stat: true }, {
12
- isRegistered: function isRegistered(value) {
13
- try {
14
- return keyFor(thisSymbolValue(value)) !== undefined;
15
- } catch (error) {
16
- return false;
17
- }
18
- }
5
+ // obsolete version of https://tc39.es/proposal-symbol-predicates/#sec-symbol-isregisteredsymbol
6
+ $({ target: 'Symbol', stat: true, name: 'isRegisteredSymbol' }, {
7
+ isRegistered: isRegisteredSymbol
19
8
  });
@@ -0,0 +1,9 @@
1
+ var $ = require('../internals/export');
2
+ var isWellKnownSymbol = require('../internals/symbol-is-well-known');
3
+
4
+ // `Symbol.isWellKnownSymbol` method
5
+ // https://tc39.es/proposal-symbol-predicates/#sec-symbol-iswellknownsymbol
6
+ // We should patch it for newly added well-known symbols. If it's not required, this module just will not be injected
7
+ $({ target: 'Symbol', stat: true, forced: true }, {
8
+ isWellKnownSymbol: isWellKnownSymbol
9
+ });
@@ -1,36 +1,9 @@
1
1
  var $ = require('../internals/export');
2
- var shared = require('../internals/shared');
3
- var getBuiltIn = require('../internals/get-built-in');
4
- var uncurryThis = require('../internals/function-uncurry-this');
5
- var isSymbol = require('../internals/is-symbol');
6
- var wellKnownSymbol = require('../internals/well-known-symbol');
7
-
8
- var Symbol = getBuiltIn('Symbol');
9
- var $isWellKnown = Symbol.isWellKnown;
10
- var getOwnPropertyNames = getBuiltIn('Object', 'getOwnPropertyNames');
11
- var thisSymbolValue = uncurryThis(Symbol.prototype.valueOf);
12
- var WellKnownSymbolsStore = shared('wks');
13
-
14
- for (var i = 0, symbolKeys = getOwnPropertyNames(Symbol), symbolKeysLength = symbolKeys.length; i < symbolKeysLength; i++) {
15
- // some old engines throws on access to some keys like `arguments` or `caller`
16
- try {
17
- var symbolKey = symbolKeys[i];
18
- if (isSymbol(Symbol[symbolKey])) wellKnownSymbol(symbolKey);
19
- } catch (error) { /* empty */ }
20
- }
2
+ var isWellKnownSymbol = require('../internals/symbol-is-well-known');
21
3
 
22
4
  // `Symbol.isWellKnown` method
23
- // https://tc39.es/proposal-symbol-predicates/#sec-symbol-iswellknown
5
+ // obsolete version of https://tc39.es/proposal-symbol-predicates/#sec-symbol-iswellknownsymbol
24
6
  // We should patch it for newly added well-known symbols. If it's not required, this module just will not be injected
25
- $({ target: 'Symbol', stat: true, forced: true }, {
26
- isWellKnown: function isWellKnown(value) {
27
- if ($isWellKnown && $isWellKnown(value)) return true;
28
- try {
29
- var symbol = thisSymbolValue(value);
30
- for (var j = 0, keys = getOwnPropertyNames(WellKnownSymbolsStore), keysLength = keys.length; j < keysLength; j++) {
31
- if (WellKnownSymbolsStore[keys[j]] == symbol) return true;
32
- }
33
- } catch (error) { /* empty */ }
34
- return false;
35
- }
7
+ $({ target: 'Symbol', stat: true, name: 'isWellKnownSymbol', forced: true }, {
8
+ isWellKnown: isWellKnownSymbol
36
9
  });
@@ -205,7 +205,7 @@ var URLSearchParamsConstructor = function URLSearchParams(/* init */) {
205
205
  anInstance(this, URLSearchParamsPrototype);
206
206
  var init = arguments.length > 0 ? arguments[0] : undefined;
207
207
  var state = setInternalState(this, new URLSearchParamsState(init));
208
- if (!DESCRIPTORS) this.length = state.entries.length;
208
+ if (!DESCRIPTORS) this.size = state.entries.length;
209
209
  };
210
210
 
211
211
  var URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;
@@ -214,32 +214,37 @@ defineBuiltIns(URLSearchParamsPrototype, {
214
214
  // `URLSearchParams.prototype.append` method
215
215
  // https://url.spec.whatwg.org/#dom-urlsearchparams-append
216
216
  append: function append(name, value) {
217
- validateArgumentsLength(arguments.length, 2);
218
217
  var state = getInternalParamsState(this);
218
+ validateArgumentsLength(arguments.length, 2);
219
219
  push(state.entries, { key: $toString(name), value: $toString(value) });
220
220
  if (!DESCRIPTORS) this.length++;
221
221
  state.updateURL();
222
222
  },
223
223
  // `URLSearchParams.prototype.delete` method
224
224
  // https://url.spec.whatwg.org/#dom-urlsearchparams-delete
225
- 'delete': function (name) {
226
- validateArgumentsLength(arguments.length, 1);
225
+ 'delete': function (name /* , value */) {
227
226
  var state = getInternalParamsState(this);
227
+ var length = validateArgumentsLength(arguments.length, 1);
228
228
  var entries = state.entries;
229
229
  var key = $toString(name);
230
+ var $value = length < 2 ? undefined : arguments[1];
231
+ var value = $value === undefined ? $value : $toString($value);
230
232
  var index = 0;
231
233
  while (index < entries.length) {
232
- if (entries[index].key === key) splice(entries, index, 1);
233
- else index++;
234
+ var entry = entries[index];
235
+ if (entry.key === key && (value === undefined || entry.value === value)) {
236
+ splice(entries, index, 1);
237
+ if (value !== undefined) break;
238
+ } else index++;
234
239
  }
235
- if (!DESCRIPTORS) this.length = entries.length;
240
+ if (!DESCRIPTORS) this.size = entries.length;
236
241
  state.updateURL();
237
242
  },
238
243
  // `URLSearchParams.prototype.get` method
239
244
  // https://url.spec.whatwg.org/#dom-urlsearchparams-get
240
245
  get: function get(name) {
241
- validateArgumentsLength(arguments.length, 1);
242
246
  var entries = getInternalParamsState(this).entries;
247
+ validateArgumentsLength(arguments.length, 1);
243
248
  var key = $toString(name);
244
249
  var index = 0;
245
250
  for (; index < entries.length; index++) {
@@ -250,8 +255,8 @@ defineBuiltIns(URLSearchParamsPrototype, {
250
255
  // `URLSearchParams.prototype.getAll` method
251
256
  // https://url.spec.whatwg.org/#dom-urlsearchparams-getall
252
257
  getAll: function getAll(name) {
253
- validateArgumentsLength(arguments.length, 1);
254
258
  var entries = getInternalParamsState(this).entries;
259
+ validateArgumentsLength(arguments.length, 1);
255
260
  var key = $toString(name);
256
261
  var result = [];
257
262
  var index = 0;
@@ -262,21 +267,24 @@ defineBuiltIns(URLSearchParamsPrototype, {
262
267
  },
263
268
  // `URLSearchParams.prototype.has` method
264
269
  // https://url.spec.whatwg.org/#dom-urlsearchparams-has
265
- has: function has(name) {
266
- validateArgumentsLength(arguments.length, 1);
270
+ has: function has(name /* , value */) {
267
271
  var entries = getInternalParamsState(this).entries;
272
+ var length = validateArgumentsLength(arguments.length, 1);
268
273
  var key = $toString(name);
274
+ var $value = length < 2 ? undefined : arguments[1];
275
+ var value = $value === undefined ? $value : $toString($value);
269
276
  var index = 0;
270
277
  while (index < entries.length) {
271
- if (entries[index++].key === key) return true;
278
+ var entry = entries[index++];
279
+ if (entry.key === key && (value === undefined || entry.value === value)) return true;
272
280
  }
273
281
  return false;
274
282
  },
275
283
  // `URLSearchParams.prototype.set` method
276
284
  // https://url.spec.whatwg.org/#dom-urlsearchparams-set
277
285
  set: function set(name, value) {
278
- validateArgumentsLength(arguments.length, 1);
279
286
  var state = getInternalParamsState(this);
287
+ validateArgumentsLength(arguments.length, 1);
280
288
  var entries = state.entries;
281
289
  var found = false;
282
290
  var key = $toString(name);
@@ -294,7 +302,7 @@ defineBuiltIns(URLSearchParamsPrototype, {
294
302
  }
295
303
  }
296
304
  if (!found) push(entries, { key: key, value: val });
297
- if (!DESCRIPTORS) this.length = entries.length;
305
+ if (!DESCRIPTORS) this.size = entries.length;
298
306
  state.updateURL();
299
307
  },
300
308
  // `URLSearchParams.prototype.sort` method
@@ -0,0 +1 @@
1
+ // empty
@@ -0,0 +1 @@
1
+ // empty
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "core-js-pure",
3
- "version": "3.30.2",
3
+ "version": "3.31.0",
4
4
  "description": "Standard library",
5
5
  "keywords": [
6
6
  "ES3",
package/postinstall.js CHANGED
@@ -20,7 +20,7 @@ var CI = [
20
20
  ].some(function (it) { return is(env[it]); });
21
21
 
22
22
  var BANNER = '\u001B[96mThank you for using core-js (\u001B[94m https://github.com/zloirock/core-js \u001B[96m) for polyfilling JavaScript standard library!\u001B[0m\n\n' +
23
- '\u001B[96mThe project needs your help! Please consider supporting of core-js:\u001B[0m\n' +
23
+ '\u001B[96mThe project needs your help! Please consider supporting core-js:\u001B[0m\n' +
24
24
  '\u001B[96m>\u001B[94m https://opencollective.com/core-js \u001B[0m\n' +
25
25
  '\u001B[96m>\u001B[94m https://patreon.com/zloirock \u001B[0m\n' +
26
26
  '\u001B[96m>\u001B[94m https://boosty.to/zloirock \u001B[0m\n' +
@@ -0,0 +1,3 @@
1
+ // https://github.com/tc39/proposal-array-grouping
2
+ require('../modules/esnext.map.group-by');
3
+ require('../modules/esnext.object.group-by');
@@ -1,2 +1,3 @@
1
1
  // https://github.com/tc39/proposal-decorator-metadata
2
+ require('../modules/esnext.function.metadata');
2
3
  require('../modules/esnext.symbol.metadata');
@@ -0,0 +1,2 @@
1
+ // https://github.com/tc39/proposal-promise-with-resolvers
2
+ require('../modules/esnext.promise.with-resolvers');
@@ -0,0 +1,3 @@
1
+ // https://github.com/tc39/proposal-symbol-predicates
2
+ require('../modules/esnext.symbol.is-registered-symbol');
3
+ require('../modules/esnext.symbol.is-well-known-symbol');
package/proposals/url.js CHANGED
@@ -1,6 +1,2 @@
1
1
  // https://github.com/jasnell/proposal-url
2
- require('../modules/web.url');
3
- require('../modules/web.url.can-parse');
4
- require('../modules/web.url.to-json');
5
- require('../modules/web.url-search-params');
6
- require('../modules/web.url-search-params.size');
2
+ require('../web/url');
package/stable/index.js CHANGED
@@ -166,6 +166,7 @@ require('../modules/es.string.code-point-at');
166
166
  require('../modules/es.string.ends-with');
167
167
  require('../modules/es.string.from-code-point');
168
168
  require('../modules/es.string.includes');
169
+ require('../modules/es.string.is-well-formed');
169
170
  require('../modules/es.string.iterator');
170
171
  require('../modules/es.string.match');
171
172
  require('../modules/es.string.match-all');
@@ -179,6 +180,7 @@ require('../modules/es.string.search');
179
180
  require('../modules/es.string.split');
180
181
  require('../modules/es.string.starts-with');
181
182
  require('../modules/es.string.substr');
183
+ require('../modules/es.string.to-well-formed');
182
184
  require('../modules/es.string.trim');
183
185
  require('../modules/es.string.trim-end');
184
186
  require('../modules/es.string.trim-start');
@@ -254,6 +256,8 @@ require('../modules/web.url');
254
256
  require('../modules/web.url.can-parse');
255
257
  require('../modules/web.url.to-json');
256
258
  require('../modules/web.url-search-params');
259
+ require('../modules/web.url-search-params.delete');
260
+ require('../modules/web.url-search-params.has');
257
261
  require('../modules/web.url-search-params.size');
258
262
 
259
263
  module.exports = require('../internals/path');
@@ -0,0 +1,3 @@
1
+ var parent = require('../../es/instance/is-well-formed');
2
+
3
+ module.exports = parent;
@@ -0,0 +1,3 @@
1
+ var parent = require('../../es/instance/to-well-formed');
2
+
3
+ module.exports = parent;
@@ -0,0 +1,3 @@
1
+ var parent = require('../../es/string/is-well-formed');
2
+
3
+ module.exports = parent;
@@ -0,0 +1,3 @@
1
+ var parent = require('../../es/string/to-well-formed');
2
+
3
+ module.exports = parent;
@@ -0,0 +1,3 @@
1
+ var parent = require('../../../es/string/virtual/is-well-formed');
2
+
3
+ module.exports = parent;
@@ -0,0 +1,3 @@
1
+ var parent = require('../../../es/string/virtual/to-well-formed');
2
+
3
+ module.exports = parent;
package/stage/2.js CHANGED
@@ -1,19 +1,21 @@
1
1
  var parent = require('./3');
2
2
 
3
+ require('../proposals/array-grouping-v2');
3
4
  require('../proposals/array-is-template-object');
4
5
  require('../proposals/async-explicit-resource-management');
5
6
  require('../proposals/async-iterator-helpers');
6
- require('../proposals/decorator-metadata-v2');
7
7
  require('../proposals/iterator-range');
8
8
  require('../proposals/map-upsert-stage-2');
9
+ require('../proposals/promise-with-resolvers');
9
10
  require('../proposals/string-dedent');
10
- require('../proposals/symbol-predicates');
11
+ require('../proposals/symbol-predicates-v2');
11
12
  // TODO: Obsolete versions, remove from `core-js@4`
12
13
  require('../proposals/array-grouping');
13
14
  require('../proposals/decorators');
14
15
  require('../proposals/decorator-metadata');
15
16
  require('../proposals/iterator-helpers');
16
17
  require('../proposals/set-methods');
18
+ require('../proposals/symbol-predicates');
17
19
  require('../proposals/using-statement');
18
20
 
19
21
  module.exports = parent;
package/stage/3.js CHANGED
@@ -1,15 +1,15 @@
1
1
  var parent = require('./4');
2
2
 
3
3
  require('../proposals/array-from-async-stage-2');
4
- require('../proposals/array-grouping-stage-3-2');
5
4
  require('../proposals/array-buffer-transfer');
5
+ require('../proposals/decorator-metadata-v2');
6
6
  require('../proposals/explicit-resource-management');
7
7
  require('../proposals/iterator-helpers-stage-3-2');
8
8
  require('../proposals/json-parse-with-source');
9
9
  require('../proposals/set-methods-v2');
10
- require('../proposals/well-formed-unicode-strings');
11
10
  // TODO: Obsolete versions, remove from `core-js@4`
12
11
  require('../proposals/array-grouping-stage-3');
12
+ require('../proposals/array-grouping-stage-3-2');
13
13
  require('../proposals/change-array-by-copy');
14
14
  require('../proposals/iterator-helpers-stage-3');
15
15
 
package/stage/4.js CHANGED
@@ -9,6 +9,7 @@ require('../proposals/promise-any');
9
9
  require('../proposals/relative-indexing-method');
10
10
  require('../proposals/string-match-all');
11
11
  require('../proposals/string-replace-all-stage-4');
12
+ require('../proposals/well-formed-unicode-strings');
12
13
 
13
14
  var path = require('../internals/path');
14
15
 
package/web/index.js CHANGED
@@ -14,6 +14,8 @@ require('../modules/web.url');
14
14
  require('../modules/web.url.can-parse');
15
15
  require('../modules/web.url.to-json');
16
16
  require('../modules/web.url-search-params');
17
+ require('../modules/web.url-search-params.delete');
18
+ require('../modules/web.url-search-params.has');
17
19
  require('../modules/web.url-search-params.size');
18
20
  var path = require('../internals/path');
19
21
 
@@ -1,4 +1,6 @@
1
1
  require('../modules/web.url-search-params');
2
+ require('../modules/web.url-search-params.delete');
3
+ require('../modules/web.url-search-params.has');
2
4
  require('../modules/web.url-search-params.size');
3
5
  var path = require('../internals/path');
4
6
 
package/web/url.js CHANGED
@@ -1,8 +1,7 @@
1
+ require('./url-search-params');
1
2
  require('../modules/web.url');
2
3
  require('../modules/web.url.can-parse');
3
4
  require('../modules/web.url.to-json');
4
- require('../modules/web.url-search-params');
5
- require('../modules/web.url-search-params.size');
6
5
  var path = require('../internals/path');
7
6
 
8
7
  module.exports = path.URL;