core-js-pure 3.30.2 → 3.31.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.
Files changed (90) 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 +9 -0
  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.aggregate-error.cause.js +1 -1
  44. package/modules/es.array.at.js +1 -1
  45. package/modules/es.array.find-last-index.js +1 -1
  46. package/modules/es.array.find-last.js +1 -1
  47. package/modules/es.array.to-reversed.js +1 -1
  48. package/modules/es.array.to-sorted.js +1 -1
  49. package/modules/es.array.to-spliced.js +1 -1
  50. package/modules/es.array.with.js +1 -1
  51. package/modules/es.error.cause.js +0 -1
  52. package/modules/es.object.has-own.js +1 -1
  53. package/modules/es.string.at-alternative.js +1 -1
  54. package/modules/es.string.is-well-formed.js +23 -0
  55. package/modules/es.string.to-well-formed.js +43 -0
  56. package/modules/esnext.async-disposable-stack.constructor.js +1 -1
  57. package/modules/esnext.function.metadata.js +13 -0
  58. package/modules/esnext.map.group-by.js +17 -16
  59. package/modules/esnext.object.group-by.js +30 -0
  60. package/modules/esnext.promise.with-resolvers.js +16 -0
  61. package/modules/esnext.string.is-well-formed.js +2 -23
  62. package/modules/esnext.string.to-well-formed.js +2 -42
  63. package/modules/esnext.symbol.is-registered-symbol.js +8 -0
  64. package/modules/esnext.symbol.is-registered.js +4 -15
  65. package/modules/esnext.symbol.is-well-known-symbol.js +9 -0
  66. package/modules/esnext.symbol.is-well-known.js +4 -31
  67. package/modules/web.structured-clone.js +203 -73
  68. package/modules/web.url-search-params.constructor.js +22 -14
  69. package/modules/web.url-search-params.delete.js +1 -0
  70. package/modules/web.url-search-params.has.js +1 -0
  71. package/package.json +1 -1
  72. package/postinstall.js +1 -1
  73. package/proposals/array-grouping-v2.js +3 -0
  74. package/proposals/decorator-metadata-v2.js +1 -0
  75. package/proposals/promise-with-resolvers.js +2 -0
  76. package/proposals/symbol-predicates-v2.js +3 -0
  77. package/proposals/url.js +1 -5
  78. package/stable/index.js +4 -0
  79. package/stable/instance/is-well-formed.js +3 -0
  80. package/stable/instance/to-well-formed.js +3 -0
  81. package/stable/string/is-well-formed.js +3 -0
  82. package/stable/string/to-well-formed.js +3 -0
  83. package/stable/string/virtual/is-well-formed.js +3 -0
  84. package/stable/string/virtual/to-well-formed.js +3 -0
  85. package/stage/2.js +4 -2
  86. package/stage/3.js +2 -2
  87. package/stage/4.js +1 -0
  88. package/web/index.js +2 -0
  89. package/web/url-search-params.js +2 -0
  90. 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');
@@ -395,7 +400,9 @@ require('../modules/esnext.string.replace-all');
395
400
  require('../modules/esnext.string.to-well-formed');
396
401
  require('../modules/esnext.symbol.async-dispose');
397
402
  require('../modules/esnext.symbol.dispose');
403
+ require('../modules/esnext.symbol.is-registered-symbol');
398
404
  require('../modules/esnext.symbol.is-registered');
405
+ require('../modules/esnext.symbol.is-well-known-symbol');
399
406
  require('../modules/esnext.symbol.is-well-known');
400
407
  require('../modules/esnext.symbol.matcher');
401
408
  require('../modules/esnext.symbol.metadata');
@@ -440,6 +447,8 @@ require('../modules/web.url');
440
447
  require('../modules/web.url.can-parse');
441
448
  require('../modules/web.url.to-json');
442
449
  require('../modules/web.url-search-params');
450
+ require('../modules/web.url-search-params.delete');
451
+ require('../modules/web.url-search-params.has');
443
452
  require('../modules/web.url-search-params.size');
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.1',
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.1/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'
@@ -13,7 +13,7 @@ var FORCED = !fails(function () {
13
13
  return $AggregateError([1], AGGREGATE_ERROR, { cause: 7 }).cause !== 7;
14
14
  });
15
15
 
16
- // https://github.com/tc39/proposal-error-cause
16
+ // https://tc39.es/ecma262/#sec-aggregate-error
17
17
  $({ global: true, constructor: true, arity: 2, forced: FORCED }, {
18
18
  AggregateError: wrapErrorConstructorWithCause(AGGREGATE_ERROR, function (init) {
19
19
  // eslint-disable-next-line no-unused-vars -- required for functions `.length`
@@ -6,7 +6,7 @@ var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
6
6
  var addToUnscopables = require('../internals/add-to-unscopables');
7
7
 
8
8
  // `Array.prototype.at` method
9
- // https://github.com/tc39/proposal-relative-indexing-method
9
+ // https://tc39.es/ecma262/#sec-array.prototype.at
10
10
  $({ target: 'Array', proto: true }, {
11
11
  at: function at(index) {
12
12
  var O = toObject(this);
@@ -4,7 +4,7 @@ var $findLastIndex = require('../internals/array-iteration-from-last').findLastI
4
4
  var addToUnscopables = require('../internals/add-to-unscopables');
5
5
 
6
6
  // `Array.prototype.findLastIndex` method
7
- // https://github.com/tc39/proposal-array-find-from-last
7
+ // https://tc39.es/ecma262/#sec-array.prototype.findlastindex
8
8
  $({ target: 'Array', proto: true }, {
9
9
  findLastIndex: function findLastIndex(callbackfn /* , that = undefined */) {
10
10
  return $findLastIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
@@ -4,7 +4,7 @@ var $findLast = require('../internals/array-iteration-from-last').findLast;
4
4
  var addToUnscopables = require('../internals/add-to-unscopables');
5
5
 
6
6
  // `Array.prototype.findLast` method
7
- // https://github.com/tc39/proposal-array-find-from-last
7
+ // https://tc39.es/ecma262/#sec-array.prototype.findlast
8
8
  $({ target: 'Array', proto: true }, {
9
9
  findLast: function findLast(callbackfn /* , that = undefined */) {
10
10
  return $findLast(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
@@ -7,7 +7,7 @@ var addToUnscopables = require('../internals/add-to-unscopables');
7
7
  var $Array = Array;
8
8
 
9
9
  // `Array.prototype.toReversed` method
10
- // https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.toReversed
10
+ // https://tc39.es/ecma262/#sec-array.prototype.toreversed
11
11
  $({ target: 'Array', proto: true }, {
12
12
  toReversed: function toReversed() {
13
13
  return arrayToReversed(toIndexedObject(this), $Array);
@@ -11,7 +11,7 @@ var $Array = Array;
11
11
  var sort = uncurryThis(getVirtual('Array').sort);
12
12
 
13
13
  // `Array.prototype.toSorted` method
14
- // https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.toSorted
14
+ // https://tc39.es/ecma262/#sec-array.prototype.tosorted
15
15
  $({ target: 'Array', proto: true }, {
16
16
  toSorted: function toSorted(compareFn) {
17
17
  if (compareFn !== undefined) aCallable(compareFn);
@@ -12,7 +12,7 @@ var max = Math.max;
12
12
  var min = Math.min;
13
13
 
14
14
  // `Array.prototype.toSpliced` method
15
- // https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.toSpliced
15
+ // https://tc39.es/ecma262/#sec-array.prototype.tospliced
16
16
  $({ target: 'Array', proto: true }, {
17
17
  toSpliced: function toSpliced(start, deleteCount /* , ...items */) {
18
18
  var O = toIndexedObject(this);
@@ -6,7 +6,7 @@ var toIndexedObject = require('../internals/to-indexed-object');
6
6
  var $Array = Array;
7
7
 
8
8
  // `Array.prototype.with` method
9
- // https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.with
9
+ // https://tc39.es/ecma262/#sec-array.prototype.with
10
10
  $({ target: 'Array', proto: true }, {
11
11
  'with': function (index, value) {
12
12
  return arrayWith(toIndexedObject(this), $Array, index, value);
@@ -24,7 +24,6 @@ var exportWebAssemblyErrorCauseWrapper = function (ERROR_NAME, wrapper) {
24
24
  };
25
25
 
26
26
  // https://tc39.es/ecma262/#sec-nativeerror
27
- // https://github.com/tc39/proposal-error-cause
28
27
  exportGlobalErrorCauseWrapper('Error', function (init) {
29
28
  return function Error(message) { return apply(init, this, arguments); };
30
29
  });
@@ -2,7 +2,7 @@ var $ = require('../internals/export');
2
2
  var hasOwn = require('../internals/has-own-property');
3
3
 
4
4
  // `Object.hasOwn` method
5
- // https://github.com/tc39/proposal-accessible-object-hasownproperty
5
+ // https://tc39.es/ecma262/#sec-object.hasown
6
6
  $({ target: 'Object', stat: true }, {
7
7
  hasOwn: hasOwn
8
8
  });
@@ -14,7 +14,7 @@ var FORCED = fails(function () {
14
14
  });
15
15
 
16
16
  // `String.prototype.at` method
17
- // https://github.com/tc39/proposal-relative-indexing-method
17
+ // https://tc39.es/ecma262/#sec-string.prototype.at
18
18
  $({ target: 'String', proto: true, forced: FORCED }, {
19
19
  at: function at(index) {
20
20
  var S = toString(requireObjectCoercible(this));