core-js 3.27.2 → 3.28.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 (186) hide show
  1. package/README.md +55 -32
  2. package/actual/array/index.js +4 -3
  3. package/actual/array/to-reversed.js +3 -2
  4. package/actual/array/to-sorted.js +3 -3
  5. package/actual/array/to-spliced.js +3 -2
  6. package/actual/array/virtual/index.js +3 -2
  7. package/actual/array/virtual/to-reversed.js +3 -2
  8. package/actual/array/virtual/to-sorted.js +3 -3
  9. package/actual/array/virtual/to-spliced.js +3 -2
  10. package/actual/array/virtual/with.js +3 -2
  11. package/actual/array/with.js +3 -2
  12. package/actual/array-buffer/constructor.js +3 -0
  13. package/actual/array-buffer/detached.js +2 -0
  14. package/actual/array-buffer/index.js +3 -0
  15. package/actual/array-buffer/transfer-to-fixed-length.js +2 -0
  16. package/actual/array-buffer/transfer.js +2 -0
  17. package/actual/json/index.js +6 -0
  18. package/actual/json/is-raw-json.js +4 -0
  19. package/actual/json/parse.js +5 -0
  20. package/actual/json/raw-json.js +6 -0
  21. package/actual/typed-array/index.js +1 -1
  22. package/actual/typed-array/methods.js +1 -1
  23. package/actual/typed-array/to-reversed.js +4 -0
  24. package/actual/typed-array/to-sorted.js +4 -1
  25. package/actual/typed-array/with.js +4 -0
  26. package/es/array/index.js +4 -0
  27. package/es/array/to-reversed.js +4 -0
  28. package/es/array/to-sorted.js +5 -0
  29. package/es/array/to-spliced.js +4 -0
  30. package/es/array/virtual/index.js +4 -0
  31. package/es/array/virtual/to-reversed.js +4 -0
  32. package/es/array/virtual/to-sorted.js +5 -0
  33. package/es/array/virtual/to-spliced.js +4 -0
  34. package/es/array/virtual/with.js +4 -0
  35. package/es/array/with.js +4 -0
  36. package/es/index.js +7 -0
  37. package/es/instance/to-reversed.js +9 -0
  38. package/es/instance/to-sorted.js +9 -0
  39. package/es/instance/to-spliced.js +9 -0
  40. package/es/instance/with.js +9 -0
  41. package/es/typed-array/methods.js +3 -0
  42. package/es/typed-array/to-reversed.js +1 -0
  43. package/es/typed-array/to-sorted.js +2 -0
  44. package/es/typed-array/with.js +1 -0
  45. package/features/array-buffer/detached.js +1 -0
  46. package/features/array-buffer/transfer-to-fixed-length.js +1 -0
  47. package/features/array-buffer/transfer.js +1 -0
  48. package/features/function/demethodize.js +1 -0
  49. package/features/function/virtual/demethodize.js +1 -0
  50. package/features/instance/demethodize.js +1 -0
  51. package/features/iterator/range.js +1 -0
  52. package/features/json/is-raw-json.js +1 -0
  53. package/features/json/parse.js +1 -0
  54. package/features/json/raw-json.js +1 -0
  55. package/features/symbol/is-registered.js +1 -0
  56. package/features/symbol/is-well-known.js +1 -0
  57. package/full/array-buffer/detached.js +3 -0
  58. package/full/array-buffer/transfer-to-fixed-length.js +3 -0
  59. package/full/array-buffer/transfer.js +3 -0
  60. package/full/function/demethodize.js +4 -0
  61. package/full/function/index.js +2 -0
  62. package/full/function/virtual/demethodize.js +4 -0
  63. package/full/function/virtual/index.js +2 -0
  64. package/full/index.js +17 -0
  65. package/full/instance/demethodize.js +9 -0
  66. package/full/iterator/index.js +1 -0
  67. package/full/iterator/range.js +6 -0
  68. package/full/json/is-raw-json.js +3 -0
  69. package/full/json/parse.js +3 -0
  70. package/full/json/raw-json.js +3 -0
  71. package/full/symbol/index.js +2 -0
  72. package/full/symbol/is-registered.js +5 -0
  73. package/full/symbol/is-well-known.js +5 -0
  74. package/internals/{disposable-stack-helpers.js → add-disposable-resource.js} +5 -6
  75. package/internals/array-buffer-byte-length.js +12 -0
  76. package/internals/array-buffer-is-detached.js +14 -0
  77. package/internals/array-buffer-transfer.js +35 -0
  78. package/internals/array-buffer-view-core.js +7 -4
  79. package/internals/array-buffer.js +29 -16
  80. package/internals/async-iterator-create-proxy.js +30 -52
  81. package/internals/collection-strong.js +3 -2
  82. package/internals/engine-is-ios.js +1 -0
  83. package/internals/error-stack-clear.js +1 -0
  84. package/internals/function-bind.js +1 -0
  85. package/internals/function-demethodize.js +7 -0
  86. package/internals/function-uncurry-this-accessor.js +9 -0
  87. package/internals/get-json-replacer-function.js +29 -0
  88. package/internals/get-substitution.js +1 -0
  89. package/internals/is-raw-json.js +8 -0
  90. package/internals/native-raw-json.js +8 -0
  91. package/internals/numeric-range-iterator.js +2 -1
  92. package/internals/object-set-prototype-of.js +2 -3
  93. package/internals/parse-json-string.js +55 -0
  94. package/internals/set-size.js +2 -4
  95. package/internals/set-species.js +2 -3
  96. package/internals/shared.js +2 -2
  97. package/internals/string-trim.js +3 -4
  98. package/internals/structured-clone-proper-transfer.js +17 -0
  99. package/internals/typed-array-constructor.js +8 -4
  100. package/modules/es.array.includes.js +1 -0
  101. package/modules/es.array.to-reversed.js +17 -0
  102. package/modules/es.array.to-sorted.js +24 -0
  103. package/modules/es.array.to-spliced.js +44 -0
  104. package/modules/es.array.with.js +14 -0
  105. package/modules/es.date.get-year.js +1 -0
  106. package/modules/es.function.bind.js +1 -0
  107. package/modules/es.function.name.js +2 -2
  108. package/modules/es.json.stringify.js +7 -7
  109. package/modules/es.symbol.constructor.js +2 -1
  110. package/modules/es.symbol.description.js +2 -2
  111. package/modules/es.typed-array.to-reversed.js +13 -0
  112. package/modules/es.typed-array.to-sorted.js +19 -0
  113. package/modules/es.typed-array.with.js +30 -0
  114. package/modules/esnext.array-buffer.detached.js +15 -0
  115. package/modules/esnext.array-buffer.transfer-to-fixed-length.js +11 -0
  116. package/modules/esnext.array-buffer.transfer.js +11 -0
  117. package/modules/esnext.array.to-reversed.js +2 -17
  118. package/modules/esnext.array.to-sorted.js +2 -24
  119. package/modules/esnext.array.to-spliced.js +2 -44
  120. package/modules/esnext.array.with.js +2 -14
  121. package/modules/esnext.async-disposable-stack.constructor.js +3 -11
  122. package/modules/esnext.async-iterator.constructor.js +1 -1
  123. package/modules/esnext.async-iterator.drop.js +1 -1
  124. package/modules/esnext.async-iterator.every.js +1 -1
  125. package/modules/esnext.async-iterator.filter.js +1 -1
  126. package/modules/esnext.async-iterator.find.js +1 -1
  127. package/modules/esnext.async-iterator.flat-map.js +1 -1
  128. package/modules/esnext.async-iterator.for-each.js +1 -1
  129. package/modules/esnext.async-iterator.from.js +1 -1
  130. package/modules/esnext.async-iterator.map.js +1 -1
  131. package/modules/esnext.async-iterator.reduce.js +1 -1
  132. package/modules/esnext.async-iterator.some.js +1 -1
  133. package/modules/esnext.async-iterator.take.js +1 -1
  134. package/modules/esnext.async-iterator.to-array.js +1 -1
  135. package/modules/esnext.bigint.range.js +1 -0
  136. package/modules/esnext.disposable-stack.constructor.js +3 -11
  137. package/modules/esnext.function.demethodize.js +8 -0
  138. package/modules/esnext.function.un-this.js +5 -7
  139. package/modules/esnext.iterator.range.js +16 -0
  140. package/modules/esnext.iterator.to-async.js +1 -1
  141. package/modules/esnext.json.is-raw-json.js +10 -0
  142. package/modules/esnext.json.parse.js +261 -0
  143. package/modules/esnext.json.raw-json.js +84 -0
  144. package/modules/esnext.number.range.js +1 -0
  145. package/modules/esnext.string.to-well-formed.js +10 -1
  146. package/modules/esnext.suppressed-error.constructor.js +1 -3
  147. package/modules/esnext.symbol.is-registered.js +19 -0
  148. package/modules/esnext.symbol.is-well-known.js +36 -0
  149. package/modules/esnext.typed-array.to-reversed.js +2 -13
  150. package/modules/esnext.typed-array.to-sorted.js +2 -19
  151. package/modules/esnext.typed-array.with.js +2 -30
  152. package/modules/web.atob.js +1 -1
  153. package/modules/web.structured-clone.js +4 -13
  154. package/modules/web.url.constructor.js +4 -2
  155. package/package.json +1 -1
  156. package/postinstall.js +1 -1
  157. package/proposals/array-buffer-transfer.js +3 -0
  158. package/proposals/async-iterator-helpers.js +15 -0
  159. package/proposals/change-array-by-copy-stage-4.js +8 -0
  160. package/proposals/function-demethodize.js +2 -0
  161. package/proposals/function-un-this.js +1 -0
  162. package/proposals/iterator-helpers-stage-3-2.js +14 -0
  163. package/proposals/iterator-range.js +3 -0
  164. package/proposals/json-parse-with-source.js +4 -0
  165. package/proposals/symbol-predicates.js +3 -0
  166. package/stable/array/to-reversed.js +3 -0
  167. package/stable/array/to-sorted.js +3 -0
  168. package/stable/array/to-spliced.js +3 -0
  169. package/stable/array/virtual/to-reversed.js +3 -0
  170. package/stable/array/virtual/to-sorted.js +3 -0
  171. package/stable/array/virtual/to-spliced.js +3 -0
  172. package/stable/array/virtual/with.js +3 -0
  173. package/stable/array/with.js +3 -0
  174. package/stable/index.js +7 -0
  175. package/stable/instance/to-reversed.js +3 -0
  176. package/stable/instance/to-sorted.js +3 -0
  177. package/stable/instance/to-spliced.js +3 -0
  178. package/stable/instance/with.js +3 -0
  179. package/stable/typed-array/to-reversed.js +3 -0
  180. package/stable/typed-array/to-sorted.js +3 -0
  181. package/stable/typed-array/with.js +3 -0
  182. package/stage/0.js +2 -1
  183. package/stage/1.js +2 -1
  184. package/stage/2.js +2 -0
  185. package/stage/3.js +5 -2
  186. package/stage/4.js +1 -0
@@ -1,20 +1,29 @@
1
1
  'use strict';
2
2
  var $ = require('../internals/export');
3
+ var call = require('../internals/function-call');
3
4
  var uncurryThis = require('../internals/function-uncurry-this');
4
5
  var requireObjectCoercible = require('../internals/require-object-coercible');
5
6
  var toString = require('../internals/to-string');
7
+ var fails = require('../internals/fails');
6
8
 
7
9
  var $Array = Array;
8
10
  var charAt = uncurryThis(''.charAt);
9
11
  var charCodeAt = uncurryThis(''.charCodeAt);
10
12
  var join = uncurryThis([].join);
13
+ var $toWellFormed = ''.toWellFormed;
11
14
  var REPLACEMENT_CHARACTER = '\uFFFD';
12
15
 
16
+ // Safari bug
17
+ var TO_STRING_CONVERSION_BUG = $toWellFormed && fails(function () {
18
+ return call($toWellFormed, 1) !== '1';
19
+ });
20
+
13
21
  // `String.prototype.toWellFormed` method
14
22
  // https://github.com/tc39/proposal-is-usv-string
15
- $({ target: 'String', proto: true }, {
23
+ $({ target: 'String', proto: true, forced: TO_STRING_CONVERSION_BUG }, {
16
24
  toWellFormed: function toWellFormed() {
17
25
  var S = toString(requireObjectCoercible(this));
26
+ if (TO_STRING_CONVERSION_BUG) return call($toWellFormed, S);
18
27
  var length = S.length;
19
28
  var result = $Array(length);
20
29
  for (var i = 0; i < length; i++) {
@@ -7,7 +7,6 @@ var copyConstructorProperties = require('../internals/copy-constructor-propertie
7
7
  var create = require('../internals/object-create');
8
8
  var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
9
9
  var createPropertyDescriptor = require('../internals/create-property-descriptor');
10
- var installErrorCause = require('../internals/install-error-cause');
11
10
  var installErrorStack = require('../internals/error-stack-install');
12
11
  var normalizeStringArgument = require('../internals/normalize-string-argument');
13
12
  var wellKnownSymbol = require('../internals/well-known-symbol');
@@ -15,7 +14,7 @@ var wellKnownSymbol = require('../internals/well-known-symbol');
15
14
  var TO_STRING_TAG = wellKnownSymbol('toStringTag');
16
15
  var $Error = Error;
17
16
 
18
- var $SuppressedError = function SuppressedError(error, suppressed, message /* , options */) {
17
+ var $SuppressedError = function SuppressedError(error, suppressed, message) {
19
18
  var isInstance = isPrototypeOf(SuppressedErrorPrototype, this);
20
19
  var that;
21
20
  if (setPrototypeOf) {
@@ -26,7 +25,6 @@ var $SuppressedError = function SuppressedError(error, suppressed, message /* ,
26
25
  }
27
26
  if (message !== undefined) createNonEnumerableProperty(that, 'message', normalizeStringArgument(message));
28
27
  installErrorStack(that, $SuppressedError, that.stack, 1);
29
- if (arguments.length > 3) installErrorCause(that, arguments[3]);
30
28
  createNonEnumerableProperty(that, 'error', error);
31
29
  createNonEnumerableProperty(that, 'suppressed', suppressed);
32
30
  return that;
@@ -0,0 +1,19 @@
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);
8
+
9
+ // `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
+ }
19
+ });
@@ -0,0 +1,36 @@
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
+ }
21
+
22
+ // `Symbol.isWellKnown` method
23
+ // https://tc39.es/proposal-symbol-predicates/#sec-symbol-iswellknown
24
+ // 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
+ }
36
+ });
@@ -1,13 +1,2 @@
1
- 'use strict';
2
- var arrayToReversed = require('../internals/array-to-reversed');
3
- var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
4
-
5
- var aTypedArray = ArrayBufferViewCore.aTypedArray;
6
- var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
7
- var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;
8
-
9
- // `%TypedArray%.prototype.toReversed` method
10
- // https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.toReversed
11
- exportTypedArrayMethod('toReversed', function toReversed() {
12
- return arrayToReversed(aTypedArray(this), getTypedArrayConstructor(this));
13
- });
1
+ // TODO: Remove from `core-js@4`
2
+ require('../modules/es.typed-array.to-reversed');
@@ -1,19 +1,2 @@
1
- 'use strict';
2
- var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
3
- var uncurryThis = require('../internals/function-uncurry-this');
4
- var aCallable = require('../internals/a-callable');
5
- var arrayFromConstructorAndList = require('../internals/array-from-constructor-and-list');
6
-
7
- var aTypedArray = ArrayBufferViewCore.aTypedArray;
8
- var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;
9
- var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
10
- var sort = uncurryThis(ArrayBufferViewCore.TypedArrayPrototype.sort);
11
-
12
- // `%TypedArray%.prototype.toSorted` method
13
- // https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.toSorted
14
- exportTypedArrayMethod('toSorted', function toSorted(compareFn) {
15
- if (compareFn !== undefined) aCallable(compareFn);
16
- var O = aTypedArray(this);
17
- var A = arrayFromConstructorAndList(getTypedArrayConstructor(O), O);
18
- return sort(A, compareFn);
19
- });
1
+ // TODO: Remove from `core-js@4`
2
+ require('../modules/es.typed-array.to-sorted');
@@ -1,30 +1,2 @@
1
- 'use strict';
2
- var arrayWith = require('../internals/array-with');
3
- var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
4
- var isBigIntArray = require('../internals/is-big-int-array');
5
- var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
6
- var toBigInt = require('../internals/to-big-int');
7
-
8
- var aTypedArray = ArrayBufferViewCore.aTypedArray;
9
- var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;
10
- var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
11
-
12
- var PROPER_ORDER = !!function () {
13
- try {
14
- // eslint-disable-next-line no-throw-literal, es/no-typed-arrays -- required for testing
15
- new Int8Array(1)['with'](2, { valueOf: function () { throw 8; } });
16
- } catch (error) {
17
- // some early implementations, like WebKit, does not follow the final semantic
18
- // https://github.com/tc39/proposal-change-array-by-copy/pull/86
19
- return error === 8;
20
- }
21
- }();
22
-
23
- // `%TypedArray%.prototype.with` method
24
- // https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.with
25
- exportTypedArrayMethod('with', { 'with': function (index, value) {
26
- var O = aTypedArray(this);
27
- var relativeIndex = toIntegerOrInfinity(index);
28
- var actualValue = isBigIntArray(O) ? toBigInt(value) : +value;
29
- return arrayWith(O, getTypedArrayConstructor(O), relativeIndex, actualValue);
30
- } }['with'], !PROPER_ORDER);
1
+ // TODO: Remove from `core-js@4`
2
+ require('../modules/es.typed-array.with');
@@ -11,7 +11,7 @@ var ctoi = require('../internals/base64-map').ctoi;
11
11
 
12
12
  var disallowed = /[^\d+/a-z]/i;
13
13
  var whitespaces = /[\t\n\f\r ]+/g;
14
- var finalEq = /[=]+$/;
14
+ var finalEq = /[=]{1,2}$/;
15
15
 
16
16
  var $atob = getBuiltIn('atob');
17
17
  var fromCharCode = String.fromCharCode;
@@ -22,10 +22,7 @@ var getRegExpFlags = require('../internals/regexp-get-flags');
22
22
  var MapHelpers = require('../internals/map-helpers');
23
23
  var SetHelpers = require('../internals/set-helpers');
24
24
  var ERROR_STACK_INSTALLABLE = require('../internals/error-stack-installable');
25
- var V8 = require('../internals/engine-v8-version');
26
- var IS_BROWSER = require('../internals/engine-is-browser');
27
- var IS_DENO = require('../internals/engine-is-deno');
28
- var IS_NODE = require('../internals/engine-is-node');
25
+ var PROPER_TRANSFER = require('../internals/structured-clone-proper-transfer');
29
26
 
30
27
  var Object = global.Object;
31
28
  var Array = global.Array;
@@ -427,15 +424,6 @@ var structuredCloneInternal = function (value, map) {
427
424
  return cloned;
428
425
  };
429
426
 
430
- var PROPER_TRANSFER = nativeStructuredClone && !fails(function () {
431
- // prevent V8 ArrayBufferDetaching protector cell invalidation and performance degradation
432
- // https://github.com/zloirock/core-js/issues/679
433
- if ((IS_DENO && V8 > 92) || (IS_NODE && V8 > 94) || (IS_BROWSER && V8 > 97)) return false;
434
- var buffer = new ArrayBuffer(8);
435
- var clone = nativeStructuredClone(buffer, { transfer: [buffer] });
436
- return buffer.byteLength != 0 || clone.byteLength != 8;
437
- });
438
-
439
427
  var tryToTransfer = function (rawTransfer, map) {
440
428
  if (!isObject(rawTransfer)) throw TypeError('Transfer option cannot be converted to a sequence');
441
429
 
@@ -478,6 +466,9 @@ var tryToTransfer = function (rawTransfer, map) {
478
466
  } catch (error) { /* empty */ }
479
467
  break;
480
468
  case 'ArrayBuffer':
469
+ if (!isCallable(value.transfer)) throwUnpolyfillable(type, TRANSFERRING);
470
+ transferred = value.transfer();
471
+ break;
481
472
  case 'MediaSourceHandle':
482
473
  case 'MessagePort':
483
474
  case 'OffscreenCanvas':
@@ -61,7 +61,8 @@ var HEX = /^[\da-f]+$/i;
61
61
  /* eslint-disable regexp/no-control-character -- safe */
62
62
  var FORBIDDEN_HOST_CODE_POINT = /[\0\t\n\r #%/:<>?@[\\\]^|]/;
63
63
  var FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\0\t\n\r #/:<>?@[\\\]^|]/;
64
- var LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\u0000-\u0020]+|[\u0000-\u0020]+$/g;
64
+ var LEADING_C0_CONTROL_OR_SPACE = /^[\u0000-\u0020]+/;
65
+ var TRAILING_C0_CONTROL_OR_SPACE = /(^|[^\u0000-\u0020])[\u0000-\u0020]+$/;
65
66
  var TAB_AND_NEW_LINE = /[\t\n\r]/g;
66
67
  /* eslint-enable regexp/no-control-character -- safe */
67
68
  var EOF;
@@ -357,7 +358,8 @@ URLState.prototype = {
357
358
  url.query = null;
358
359
  url.fragment = null;
359
360
  url.cannotBeABaseURL = false;
360
- input = replace(input, LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');
361
+ input = replace(input, LEADING_C0_CONTROL_OR_SPACE, '');
362
+ input = replace(input, TRAILING_C0_CONTROL_OR_SPACE, '$1');
361
363
  }
362
364
 
363
365
  input = replace(input, TAB_AND_NEW_LINE, '');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "core-js",
3
- "version": "3.27.2",
3
+ "version": "3.28.0",
4
4
  "description": "Standard library",
5
5
  "keywords": [
6
6
  "ES3",
package/postinstall.js CHANGED
@@ -24,7 +24,7 @@ var BANNER = '\u001B[96mThank you for using core-js (\u001B[94m https://github.c
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 bitcoin: bc1qlea7544qtsmj2rayg0lthvza9fau63ux0fstcz \u001B[0m\n\n' +
27
- '\u001B[96mAlso, the author of core-js (\u001B[94m https://github.com/zloirock \u001B[96m) is looking for a good job -)\u001B[0m\n';
27
+ '\u001B[96mI highly recommend reading this:\u001B[94m https://github.com/zloirock/core-js/blob/master/docs/2023-02-14-so-whats-next.md \u001B[96m\u001B[0m\n';
28
28
 
29
29
  function is(it) {
30
30
  return !!it && it !== '0' && it !== 'false';
@@ -0,0 +1,3 @@
1
+ require('../modules/esnext.array-buffer.detached');
2
+ require('../modules/esnext.array-buffer.transfer');
3
+ require('../modules/esnext.array-buffer.transfer-to-fixed-length');
@@ -0,0 +1,15 @@
1
+ // https://github.com/tc39/proposal-async-iterator-helpers
2
+ require('../modules/esnext.async-iterator.constructor');
3
+ require('../modules/esnext.async-iterator.drop');
4
+ require('../modules/esnext.async-iterator.every');
5
+ require('../modules/esnext.async-iterator.filter');
6
+ require('../modules/esnext.async-iterator.find');
7
+ require('../modules/esnext.async-iterator.flat-map');
8
+ require('../modules/esnext.async-iterator.for-each');
9
+ require('../modules/esnext.async-iterator.from');
10
+ require('../modules/esnext.async-iterator.map');
11
+ require('../modules/esnext.async-iterator.reduce');
12
+ require('../modules/esnext.async-iterator.some');
13
+ require('../modules/esnext.async-iterator.take');
14
+ require('../modules/esnext.async-iterator.to-array');
15
+ require('../modules/esnext.iterator.to-async');
@@ -0,0 +1,8 @@
1
+ // https://github.com/tc39/proposal-change-array-by-copy
2
+ require('../modules/esnext.array.to-reversed');
3
+ require('../modules/esnext.array.to-sorted');
4
+ require('../modules/esnext.array.to-spliced');
5
+ require('../modules/esnext.array.with');
6
+ require('../modules/esnext.typed-array.to-reversed');
7
+ require('../modules/esnext.typed-array.to-sorted');
8
+ require('../modules/esnext.typed-array.with');
@@ -0,0 +1,2 @@
1
+ // https://github.com/js-choi/proposal-function-demethodize
2
+ require('../modules/esnext.function.demethodize');
@@ -1,2 +1,3 @@
1
+ // TODO: Remove from `core-js@4`
1
2
  // https://github.com/js-choi/proposal-function-un-this
2
3
  require('../modules/esnext.function.un-this');
@@ -0,0 +1,14 @@
1
+ // https://github.com/tc39/proposal-iterator-helpers
2
+ require('../modules/esnext.iterator.constructor');
3
+ require('../modules/esnext.iterator.drop');
4
+ require('../modules/esnext.iterator.every');
5
+ require('../modules/esnext.iterator.filter');
6
+ require('../modules/esnext.iterator.find');
7
+ require('../modules/esnext.iterator.flat-map');
8
+ require('../modules/esnext.iterator.for-each');
9
+ require('../modules/esnext.iterator.from');
10
+ require('../modules/esnext.iterator.map');
11
+ require('../modules/esnext.iterator.reduce');
12
+ require('../modules/esnext.iterator.some');
13
+ require('../modules/esnext.iterator.take');
14
+ require('../modules/esnext.iterator.to-array');
@@ -0,0 +1,3 @@
1
+ // https://github.com/tc39/proposal-Number.range
2
+ require('../modules/esnext.iterator.constructor');
3
+ require('../modules/esnext.iterator.range');
@@ -0,0 +1,4 @@
1
+ // https://github.com/tc39/proposal-json-parse-with-source
2
+ require('../modules/esnext.json.is-raw-json');
3
+ require('../modules/esnext.json.parse');
4
+ require('../modules/esnext.json.raw-json');
@@ -0,0 +1,3 @@
1
+ // https://github.com/tc39/proposal-symbol-predicates
2
+ require('../modules/esnext.symbol.is-registered');
3
+ require('../modules/esnext.symbol.is-well-known');
@@ -0,0 +1,3 @@
1
+ var parent = require('../../es/array/to-reversed');
2
+
3
+ module.exports = parent;
@@ -0,0 +1,3 @@
1
+ var parent = require('../../es/array/to-sorted');
2
+
3
+ module.exports = parent;
@@ -0,0 +1,3 @@
1
+ var parent = require('../../es/array/to-spliced');
2
+
3
+ module.exports = parent;
@@ -0,0 +1,3 @@
1
+ var parent = require('../../../es/array/virtual/to-reversed');
2
+
3
+ module.exports = parent;
@@ -0,0 +1,3 @@
1
+ var parent = require('../../../es/array/virtual/to-sorted');
2
+
3
+ module.exports = parent;
@@ -0,0 +1,3 @@
1
+ var parent = require('../../../es/array/virtual/to-spliced');
2
+
3
+ module.exports = parent;
@@ -0,0 +1,3 @@
1
+ var parent = require('../../../es/array/virtual/with');
2
+
3
+ module.exports = parent;
@@ -0,0 +1,3 @@
1
+ var parent = require('../../es/array/with');
2
+
3
+ module.exports = parent;
package/stable/index.js CHANGED
@@ -48,9 +48,13 @@ require('../modules/es.array.some');
48
48
  require('../modules/es.array.sort');
49
49
  require('../modules/es.array.species');
50
50
  require('../modules/es.array.splice');
51
+ require('../modules/es.array.to-reversed');
52
+ require('../modules/es.array.to-sorted');
53
+ require('../modules/es.array.to-spliced');
51
54
  require('../modules/es.array.unscopables.flat');
52
55
  require('../modules/es.array.unscopables.flat-map');
53
56
  require('../modules/es.array.unshift');
57
+ require('../modules/es.array.with');
54
58
  require('../modules/es.array-buffer.constructor');
55
59
  require('../modules/es.array-buffer.is-view');
56
60
  require('../modules/es.array-buffer.slice');
@@ -227,7 +231,10 @@ require('../modules/es.typed-array.some');
227
231
  require('../modules/es.typed-array.sort');
228
232
  require('../modules/es.typed-array.subarray');
229
233
  require('../modules/es.typed-array.to-locale-string');
234
+ require('../modules/es.typed-array.to-reversed');
235
+ require('../modules/es.typed-array.to-sorted');
230
236
  require('../modules/es.typed-array.to-string');
237
+ require('../modules/es.typed-array.with');
231
238
  require('../modules/es.unescape');
232
239
  require('../modules/es.weak-map');
233
240
  require('../modules/es.weak-set');
@@ -0,0 +1,3 @@
1
+ var parent = require('../../es/instance/to-reversed');
2
+
3
+ module.exports = parent;
@@ -0,0 +1,3 @@
1
+ var parent = require('../../es/instance/to-sorted');
2
+
3
+ module.exports = parent;
@@ -0,0 +1,3 @@
1
+ var parent = require('../../es/instance/to-spliced');
2
+
3
+ module.exports = parent;
@@ -0,0 +1,3 @@
1
+ var parent = require('../../es/instance/with');
2
+
3
+ module.exports = parent;
@@ -0,0 +1,3 @@
1
+ var parent = require('../../es/typed-array/to-reversed');
2
+
3
+ module.exports = parent;
@@ -0,0 +1,3 @@
1
+ var parent = require('../../es/typed-array/to-sorted');
2
+
3
+ module.exports = parent;
@@ -0,0 +1,3 @@
1
+ var parent = require('../../es/typed-array/with');
2
+
3
+ module.exports = parent;
package/stage/0.js CHANGED
@@ -1,11 +1,12 @@
1
1
  var parent = require('./1');
2
2
 
3
3
  require('../proposals/efficient-64-bit-arithmetic');
4
+ require('../proposals/function-demethodize');
4
5
  require('../proposals/function-is-callable-is-constructor');
5
- require('../proposals/function-un-this');
6
6
  require('../proposals/string-at');
7
7
  require('../proposals/url');
8
8
  // TODO: Obsolete versions, remove from `core-js@4`:
9
9
  require('../proposals/array-filtering');
10
+ require('../proposals/function-un-this');
10
11
 
11
12
  module.exports = parent;
package/stage/1.js CHANGED
@@ -5,11 +5,11 @@ require('../proposals/array-last');
5
5
  require('../proposals/array-unique');
6
6
  require('../proposals/collection-methods');
7
7
  require('../proposals/collection-of-from');
8
+ require('../proposals/iterator-range');
8
9
  require('../proposals/keys-composition');
9
10
  require('../proposals/math-extensions');
10
11
  require('../proposals/math-signbit');
11
12
  require('../proposals/number-from-string');
12
- require('../proposals/number-range');
13
13
  require('../proposals/object-iteration');
14
14
  require('../proposals/observable');
15
15
  require('../proposals/pattern-matching');
@@ -20,6 +20,7 @@ require('../proposals/string-cooked');
20
20
  // TODO: Obsolete versions, remove from `core-js@4`:
21
21
  require('../proposals/array-from-async');
22
22
  require('../proposals/map-upsert');
23
+ require('../proposals/number-range');
23
24
  require('../proposals/string-replace-all');
24
25
 
25
26
  module.exports = parent;
package/stage/2.js CHANGED
@@ -2,9 +2,11 @@ var parent = require('./3');
2
2
 
3
3
  require('../proposals/array-is-template-object');
4
4
  require('../proposals/async-explicit-resource-management');
5
+ require('../proposals/async-iterator-helpers');
5
6
  require('../proposals/decorator-metadata');
6
7
  require('../proposals/map-upsert-stage-2');
7
8
  require('../proposals/string-dedent');
9
+ require('../proposals/symbol-predicates');
8
10
  // TODO: Obsolete versions, remove from `core-js@4`
9
11
  require('../proposals/array-grouping');
10
12
  require('../proposals/decorators');
package/stage/3.js CHANGED
@@ -2,12 +2,15 @@ var parent = require('./4');
2
2
 
3
3
  require('../proposals/array-from-async-stage-2');
4
4
  require('../proposals/array-grouping-stage-3-2');
5
- require('../proposals/change-array-by-copy');
5
+ require('../proposals/array-buffer-transfer');
6
6
  require('../proposals/explicit-resource-management');
7
- require('../proposals/iterator-helpers-stage-3');
7
+ require('../proposals/iterator-helpers-stage-3-2');
8
+ require('../proposals/json-parse-with-source');
8
9
  require('../proposals/set-methods-v2');
9
10
  require('../proposals/well-formed-unicode-strings');
10
11
  // TODO: Obsolete versions, remove from `core-js@4`
11
12
  require('../proposals/array-grouping-stage-3');
13
+ require('../proposals/change-array-by-copy');
14
+ require('../proposals/iterator-helpers-stage-3');
12
15
 
13
16
  module.exports = parent;
package/stage/4.js CHANGED
@@ -1,6 +1,7 @@
1
1
  // TODO: Remove this entry from `core-js@4`
2
2
  require('../proposals/accessible-object-hasownproperty');
3
3
  require('../proposals/array-find-from-last');
4
+ require('../proposals/change-array-by-copy-stage-4');
4
5
  // require('../proposals/error-cause');
5
6
  require('../proposals/global-this');
6
7
  require('../proposals/promise-all-settled');