core-js 3.26.1 → 3.27.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 (261) hide show
  1. package/actual/async-iterator/drop.js +8 -0
  2. package/actual/async-iterator/every.js +8 -0
  3. package/actual/async-iterator/filter.js +8 -0
  4. package/actual/async-iterator/find.js +8 -0
  5. package/actual/async-iterator/flat-map.js +8 -0
  6. package/actual/async-iterator/for-each.js +8 -0
  7. package/actual/async-iterator/from.js +22 -0
  8. package/actual/async-iterator/index.js +22 -0
  9. package/actual/async-iterator/map.js +8 -0
  10. package/actual/async-iterator/reduce.js +8 -0
  11. package/actual/async-iterator/some.js +8 -0
  12. package/actual/async-iterator/take.js +8 -0
  13. package/actual/async-iterator/to-array.js +8 -0
  14. package/actual/disposable-stack/constructor.js +9 -0
  15. package/actual/disposable-stack/index.js +9 -0
  16. package/actual/instance/is-well-formed.js +10 -0
  17. package/actual/instance/to-well-formed.js +10 -0
  18. package/actual/iterator/dispose.js +1 -0
  19. package/actual/iterator/drop.js +7 -0
  20. package/actual/iterator/every.js +7 -0
  21. package/actual/iterator/filter.js +7 -0
  22. package/actual/iterator/find.js +7 -0
  23. package/actual/iterator/flat-map.js +7 -0
  24. package/actual/iterator/for-each.js +7 -0
  25. package/actual/iterator/from.js +24 -0
  26. package/actual/iterator/index.js +24 -0
  27. package/actual/iterator/map.js +7 -0
  28. package/actual/iterator/reduce.js +7 -0
  29. package/actual/iterator/some.js +7 -0
  30. package/actual/iterator/take.js +7 -0
  31. package/actual/iterator/to-array.js +7 -0
  32. package/actual/iterator/to-async.js +8 -0
  33. package/actual/set/difference.js +5 -0
  34. package/actual/set/index.js +7 -0
  35. package/actual/set/intersection.js +5 -0
  36. package/actual/set/is-disjoint-from.js +5 -0
  37. package/actual/set/is-subset-of.js +5 -0
  38. package/actual/set/is-superset-of.js +5 -0
  39. package/actual/set/symmetric-difference.js +5 -0
  40. package/actual/set/union.js +5 -0
  41. package/actual/string/index.js +3 -0
  42. package/actual/string/is-well-formed.js +3 -0
  43. package/actual/string/to-well-formed.js +3 -0
  44. package/actual/string/virtual/index.js +3 -0
  45. package/actual/string/virtual/is-well-formed.js +3 -0
  46. package/actual/string/virtual/to-well-formed.js +3 -0
  47. package/actual/suppressed-error.js +6 -0
  48. package/actual/symbol/dispose.js +4 -0
  49. package/actual/symbol/index.js +2 -0
  50. package/es/number/constructor.js +2 -1
  51. package/features/async-disposable-stack/constructor.js +1 -0
  52. package/features/async-disposable-stack/index.js +1 -0
  53. package/features/async-iterator/async-dispose.js +1 -0
  54. package/features/disposable-stack/constructor.js +1 -0
  55. package/features/disposable-stack/index.js +1 -0
  56. package/features/iterator/dispose.js +1 -0
  57. package/features/string/dedent.js +1 -0
  58. package/features/suppressed-error.js +1 -0
  59. package/full/async-disposable-stack/constructor.js +11 -0
  60. package/full/async-disposable-stack/index.js +11 -0
  61. package/full/async-iterator/async-dispose.js +3 -0
  62. package/full/async-iterator/drop.js +2 -7
  63. package/full/async-iterator/every.js +2 -7
  64. package/full/async-iterator/filter.js +2 -7
  65. package/full/async-iterator/find.js +2 -7
  66. package/full/async-iterator/flat-map.js +2 -7
  67. package/full/async-iterator/for-each.js +2 -7
  68. package/full/async-iterator/from.js +2 -10
  69. package/full/async-iterator/index.js +3 -21
  70. package/full/async-iterator/indexed.js +1 -0
  71. package/full/async-iterator/map.js +2 -7
  72. package/full/async-iterator/reduce.js +2 -7
  73. package/full/async-iterator/some.js +2 -7
  74. package/full/async-iterator/take.js +2 -7
  75. package/full/async-iterator/to-array.js +2 -7
  76. package/full/disposable-stack/constructor.js +3 -0
  77. package/full/disposable-stack/index.js +3 -0
  78. package/full/index.js +13 -0
  79. package/full/instance/is-well-formed.js +2 -9
  80. package/full/instance/to-well-formed.js +2 -9
  81. package/full/iterator/dispose.js +3 -0
  82. package/full/iterator/drop.js +2 -6
  83. package/full/iterator/every.js +2 -6
  84. package/full/iterator/filter.js +2 -6
  85. package/full/iterator/find.js +2 -6
  86. package/full/iterator/flat-map.js +2 -6
  87. package/full/iterator/for-each.js +2 -6
  88. package/full/iterator/from.js +2 -9
  89. package/full/iterator/index.js +2 -22
  90. package/full/iterator/indexed.js +1 -0
  91. package/full/iterator/map.js +2 -6
  92. package/full/iterator/reduce.js +2 -6
  93. package/full/iterator/some.js +2 -6
  94. package/full/iterator/take.js +2 -6
  95. package/full/iterator/to-array.js +2 -6
  96. package/full/iterator/to-async.js +2 -7
  97. package/full/set/difference.js +1 -1
  98. package/full/set/intersection.js +1 -1
  99. package/full/set/is-disjoint-from.js +1 -1
  100. package/full/set/is-subset-of.js +1 -1
  101. package/full/set/is-superset-of.js +1 -1
  102. package/full/set/symmetric-difference.js +1 -1
  103. package/full/set/union.js +1 -1
  104. package/full/string/dedent.js +6 -0
  105. package/full/string/index.js +2 -3
  106. package/full/string/is-well-formed.js +2 -2
  107. package/full/string/to-well-formed.js +2 -2
  108. package/full/string/virtual/index.js +0 -2
  109. package/full/string/virtual/is-well-formed.js +2 -2
  110. package/full/string/virtual/to-well-formed.js +2 -2
  111. package/full/suppressed-error.js +3 -0
  112. package/full/symbol/dispose.js +2 -3
  113. package/full/symbol/index.js +0 -1
  114. package/internals/a-map.js +7 -0
  115. package/internals/a-set.js +7 -0
  116. package/internals/a-weak-map.js +7 -0
  117. package/internals/a-weak-set.js +7 -0
  118. package/internals/array-group-to-map.js +5 -6
  119. package/internals/array-unique-by.js +7 -9
  120. package/internals/async-iterator-indexed.js +7 -23
  121. package/internals/async-iterator-map.js +55 -0
  122. package/internals/caller.js +7 -0
  123. package/internals/disposable-stack-helpers.js +40 -0
  124. package/internals/document-all.js +1 -0
  125. package/internals/engine-is-bun.js +2 -0
  126. package/internals/get-async-iterator-flattenable.js +3 -2
  127. package/internals/get-iterator-flattenable.js +3 -3
  128. package/internals/get-set-record.js +38 -0
  129. package/internals/iterate-simple.js +10 -0
  130. package/internals/iterator-indexed.js +7 -12
  131. package/internals/iterator-map.js +22 -0
  132. package/internals/map-helpers.js +14 -0
  133. package/internals/map-iterate.js +15 -0
  134. package/internals/map-upsert.js +1 -1
  135. package/internals/schedulers-fix.js +20 -20
  136. package/internals/set-clone.js +13 -0
  137. package/internals/set-difference.js +26 -0
  138. package/internals/set-helpers.js +15 -0
  139. package/internals/set-intersection.js +46 -0
  140. package/internals/set-is-disjoint-from.js +22 -0
  141. package/internals/set-is-subset-of.js +16 -0
  142. package/internals/set-is-superset-of.js +17 -0
  143. package/internals/set-iterate.js +13 -0
  144. package/internals/set-method-accept-set-like.js +27 -0
  145. package/internals/set-size.js +8 -0
  146. package/internals/set-symmetric-difference.js +23 -0
  147. package/internals/set-union.js +18 -0
  148. package/internals/shared.js +2 -2
  149. package/internals/string-cooked.js +23 -0
  150. package/internals/string-parse.js +118 -0
  151. package/internals/to-set-like.js +19 -0
  152. package/internals/weak-map-helpers.js +13 -0
  153. package/internals/weak-set-helpers.js +12 -0
  154. package/modules/es.number.constructor.js +34 -18
  155. package/modules/es.weak-map.constructor.js +45 -4
  156. package/modules/esnext.async-disposable-stack.constructor.js +137 -0
  157. package/modules/esnext.async-iterator.as-indexed-pairs.js +2 -1
  158. package/modules/esnext.async-iterator.async-dispose.js +26 -0
  159. package/modules/esnext.async-iterator.constructor.js +2 -1
  160. package/modules/esnext.async-iterator.drop.js +3 -2
  161. package/modules/esnext.async-iterator.every.js +5 -4
  162. package/modules/esnext.async-iterator.filter.js +7 -6
  163. package/modules/esnext.async-iterator.find.js +5 -4
  164. package/modules/esnext.async-iterator.flat-map.js +3 -2
  165. package/modules/esnext.async-iterator.for-each.js +3 -2
  166. package/modules/esnext.async-iterator.from.js +5 -3
  167. package/modules/esnext.async-iterator.indexed.js +2 -1
  168. package/modules/esnext.async-iterator.map.js +5 -53
  169. package/modules/esnext.async-iterator.reduce.js +3 -2
  170. package/modules/esnext.async-iterator.some.js +5 -4
  171. package/modules/esnext.async-iterator.take.js +3 -2
  172. package/modules/esnext.async-iterator.to-array.js +3 -2
  173. package/modules/esnext.disposable-stack.constructor.js +121 -0
  174. package/modules/esnext.iterator.as-indexed-pairs.js +2 -1
  175. package/modules/esnext.iterator.constructor.js +2 -1
  176. package/modules/esnext.iterator.dispose.js +17 -0
  177. package/modules/esnext.iterator.drop.js +3 -2
  178. package/modules/esnext.iterator.every.js +6 -5
  179. package/modules/esnext.iterator.filter.js +7 -6
  180. package/modules/esnext.iterator.find.js +6 -5
  181. package/modules/esnext.iterator.flat-map.js +3 -2
  182. package/modules/esnext.iterator.for-each.js +3 -2
  183. package/modules/esnext.iterator.from.js +5 -3
  184. package/modules/esnext.iterator.indexed.js +2 -1
  185. package/modules/esnext.iterator.map.js +5 -21
  186. package/modules/esnext.iterator.reduce.js +3 -2
  187. package/modules/esnext.iterator.some.js +6 -5
  188. package/modules/esnext.iterator.take.js +3 -2
  189. package/modules/esnext.iterator.to-array.js +3 -2
  190. package/modules/esnext.iterator.to-async.js +3 -2
  191. package/modules/esnext.map.delete-all.js +11 -2
  192. package/modules/esnext.map.emplace.js +21 -3
  193. package/modules/esnext.map.every.js +6 -8
  194. package/modules/esnext.map.filter.js +11 -14
  195. package/modules/esnext.map.find-key.js +7 -8
  196. package/modules/esnext.map.find.js +7 -8
  197. package/modules/esnext.map.group-by.js +6 -5
  198. package/modules/esnext.map.includes.js +5 -6
  199. package/modules/esnext.map.key-by.js +4 -1
  200. package/modules/esnext.map.key-of.js +6 -6
  201. package/modules/esnext.map.map-keys.js +11 -14
  202. package/modules/esnext.map.map-values.js +11 -14
  203. package/modules/esnext.map.merge.js +6 -5
  204. package/modules/esnext.map.reduce.js +5 -7
  205. package/modules/esnext.map.some.js +7 -9
  206. package/modules/esnext.map.update.js +10 -10
  207. package/modules/esnext.set.add-all.js +8 -2
  208. package/modules/esnext.set.delete-all.js +11 -2
  209. package/modules/esnext.set.difference.js +5 -13
  210. package/modules/esnext.set.difference.v2.js +9 -0
  211. package/modules/esnext.set.every.js +6 -8
  212. package/modules/esnext.set.filter.js +11 -14
  213. package/modules/esnext.set.find.js +7 -8
  214. package/modules/esnext.set.intersection.js +5 -14
  215. package/modules/esnext.set.intersection.v2.js +9 -0
  216. package/modules/esnext.set.is-disjoint-from.js +6 -10
  217. package/modules/esnext.set.is-disjoint-from.v2.js +9 -0
  218. package/modules/esnext.set.is-subset-of.js +6 -18
  219. package/modules/esnext.set.is-subset-of.v2.js +9 -0
  220. package/modules/esnext.set.is-superset-of.js +6 -10
  221. package/modules/esnext.set.is-superset-of.v2.js +9 -0
  222. package/modules/esnext.set.join.js +9 -9
  223. package/modules/esnext.set.map.js +11 -14
  224. package/modules/esnext.set.reduce.js +5 -7
  225. package/modules/esnext.set.some.js +6 -8
  226. package/modules/esnext.set.symmetric-difference.js +5 -14
  227. package/modules/esnext.set.symmetric-difference.v2.js +9 -0
  228. package/modules/esnext.set.union.js +6 -10
  229. package/modules/esnext.set.union.v2.js +9 -0
  230. package/modules/esnext.string.cooked.js +2 -23
  231. package/modules/esnext.string.dedent.js +152 -0
  232. package/modules/esnext.string.is-well-formed.js +1 -1
  233. package/modules/esnext.string.to-well-formed.js +1 -1
  234. package/modules/esnext.suppressed-error.constructor.js +50 -0
  235. package/modules/esnext.symbol.async-dispose.js +1 -1
  236. package/modules/esnext.symbol.dispose.js +1 -1
  237. package/modules/esnext.typed-array.unique-by.js +4 -2
  238. package/modules/esnext.weak-map.delete-all.js +11 -2
  239. package/modules/esnext.weak-map.emplace.js +20 -2
  240. package/modules/esnext.weak-set.add-all.js +8 -2
  241. package/modules/esnext.weak-set.delete-all.js +11 -2
  242. package/modules/web.set-immediate.js +5 -1
  243. package/modules/web.set-interval.js +4 -2
  244. package/modules/web.set-timeout.js +4 -2
  245. package/modules/web.structured-clone.js +10 -8
  246. package/package.json +1 -1
  247. package/proposals/async-explicit-resource-management.js +5 -0
  248. package/proposals/explicit-resource-management.js +5 -0
  249. package/proposals/iterator-helpers-stage-3.js +28 -0
  250. package/proposals/iterator-helpers.js +2 -29
  251. package/proposals/set-methods-v2.js +8 -0
  252. package/proposals/set-methods.js +8 -0
  253. package/proposals/string-dedent.js +2 -0
  254. package/proposals/using-statement.js +2 -1
  255. package/stage/2.js +5 -4
  256. package/stage/3.js +4 -0
  257. package/internals/collection-add-all.js +0 -14
  258. package/internals/collection-delete-all.js +0 -17
  259. package/internals/get-map-iterator.js +0 -6
  260. package/internals/get-set-iterator.js +0 -6
  261. package/internals/map-emplace.js +0 -24
@@ -0,0 +1,152 @@
1
+ 'use strict';
2
+ var FREEZING = require('../internals/freezing');
3
+ var $ = require('../internals/export');
4
+ var shared = require('../internals/shared');
5
+ var getBuiltIn = require('../internals/get-built-in');
6
+ var makeBuiltIn = require('../internals/make-built-in');
7
+ var uncurryThis = require('../internals/function-uncurry-this');
8
+ var apply = require('../internals/function-apply');
9
+ var anObject = require('../internals/an-object');
10
+ var toObject = require('../internals/to-object');
11
+ var isCallable = require('../internals/is-callable');
12
+ var lengthOfArrayLike = require('../internals/length-of-array-like');
13
+ var defineProperty = require('../internals/object-define-property').f;
14
+ var createArrayFromList = require('../internals/array-slice-simple');
15
+ var cooked = require('../internals/string-cooked');
16
+ var parse = require('../internals/string-parse');
17
+ var whitespaces = require('../internals/whitespaces');
18
+
19
+ var WeakMap = getBuiltIn('WeakMap');
20
+ var globalDedentRegistry = shared('GlobalDedentRegistry', new WeakMap());
21
+
22
+ /* eslint-disable no-self-assign -- prototype methods protection */
23
+ globalDedentRegistry.has = globalDedentRegistry.has;
24
+ globalDedentRegistry.get = globalDedentRegistry.get;
25
+ globalDedentRegistry.set = globalDedentRegistry.set;
26
+ /* eslint-enable no-self-assign -- prototype methods protection */
27
+
28
+ var $Array = Array;
29
+ var $TypeError = TypeError;
30
+ // eslint-disable-next-line es/no-object-freeze -- safe
31
+ var freeze = Object.freeze || Object;
32
+ // eslint-disable-next-line es/no-object-isfrozen -- safe
33
+ var isFrozen = Object.isFrozen;
34
+ var min = Math.min;
35
+ var charAt = uncurryThis(''.charAt);
36
+ var stringSlice = uncurryThis(''.slice);
37
+ var split = uncurryThis(''.split);
38
+ var exec = uncurryThis(/./.exec);
39
+
40
+ var NEW_LINE = /([\n\u2028\u2029]|\r\n?)/g;
41
+ var LEADING_WHITESPACE = RegExp('^[' + whitespaces + ']*');
42
+ var NON_WHITESPACE = RegExp('[^' + whitespaces + ']');
43
+ var INVALID_TAG = 'Invalid tag';
44
+ var INVALID_OPENING_LINE = 'Invalid opening line';
45
+ var INVALID_CLOSING_LINE = 'Invalid closing line';
46
+
47
+ var dedentTemplateStringsArray = function (template) {
48
+ var rawInput = template.raw;
49
+ // https://github.com/tc39/proposal-string-dedent/issues/75
50
+ if (FREEZING && !isFrozen(rawInput)) throw $TypeError('Raw template should be frozen');
51
+ if (globalDedentRegistry.has(rawInput)) return globalDedentRegistry.get(rawInput);
52
+ var raw = dedentStringsArray(rawInput);
53
+ var cookedArr = cookStrings(raw);
54
+ defineProperty(cookedArr, 'raw', {
55
+ value: freeze(raw)
56
+ });
57
+ freeze(cookedArr);
58
+ globalDedentRegistry.set(rawInput, cookedArr);
59
+ return cookedArr;
60
+ };
61
+
62
+ var dedentStringsArray = function (template) {
63
+ var t = toObject(template);
64
+ var length = lengthOfArrayLike(t);
65
+ var blocks = $Array(length);
66
+ var dedented = $Array(length);
67
+ var i = 0;
68
+ var lines, common;
69
+
70
+ if (!length) throw $TypeError(INVALID_TAG);
71
+
72
+ for (; i < length; i++) {
73
+ var element = t[i];
74
+ if (typeof element == 'string') blocks[i] = split(element, NEW_LINE);
75
+ else throw $TypeError(INVALID_TAG);
76
+ }
77
+
78
+ for (i = 0; i < length; i++) {
79
+ var lastSplit = i + 1 === length;
80
+ lines = blocks[i];
81
+ if (i === 0) {
82
+ if (lines.length === 1 || lines[0].length > 0) {
83
+ throw $TypeError(INVALID_OPENING_LINE);
84
+ }
85
+ lines[1] = '';
86
+ }
87
+ if (lastSplit) {
88
+ if (lines.length === 1 || exec(NON_WHITESPACE, lines[lines.length - 1])) {
89
+ throw $TypeError(INVALID_CLOSING_LINE);
90
+ }
91
+ lines[lines.length - 2] = '';
92
+ lines[lines.length - 1] = '';
93
+ }
94
+ for (var j = 2; j < lines.length; j += 2) {
95
+ var text = lines[j];
96
+ var lineContainsTemplateExpression = j + 1 === lines.length && !lastSplit;
97
+ var leading = exec(LEADING_WHITESPACE, text)[0];
98
+ if (!lineContainsTemplateExpression && leading.length === text.length) {
99
+ lines[j] = '';
100
+ continue;
101
+ }
102
+ common = commonLeadingIndentation(leading, common);
103
+ }
104
+ }
105
+
106
+ var count = common ? common.length : 0;
107
+
108
+ for (i = 0; i < length; i++) {
109
+ lines = blocks[i];
110
+ for (var quasi = lines[0], k = 1; k < lines.length; k += 2) {
111
+ quasi += lines[k] + stringSlice(lines[k + 1], count);
112
+ }
113
+ dedented[i] = quasi;
114
+ }
115
+
116
+ return dedented;
117
+ };
118
+
119
+ var commonLeadingIndentation = function (a, b) {
120
+ if (b === undefined || a === b) return a;
121
+ var i = 0;
122
+ for (var len = min(a.length, b.length); i < len; i++) {
123
+ if (charAt(a, i) !== charAt(b, i)) break;
124
+ }
125
+ return stringSlice(a, 0, i);
126
+ };
127
+
128
+ var cookStrings = function (raw) {
129
+ for (var i = 0, length = raw.length, result = $Array(length); i < length; i++) {
130
+ result[i] = parse(raw[i]);
131
+ } return result;
132
+ };
133
+
134
+ var makeDedentTag = function (tag) {
135
+ return makeBuiltIn(function (template /* , ...substitutions */) {
136
+ var args = createArrayFromList(arguments);
137
+ args[0] = dedentTemplateStringsArray(anObject(template));
138
+ return apply(tag, this, args);
139
+ }, '');
140
+ };
141
+
142
+ var cookedDedentTag = makeDedentTag(cooked);
143
+
144
+ // `String.dedent` method
145
+ // https://github.com/tc39/proposal-string-dedent
146
+ $({ target: 'String', stat: true, forced: true }, {
147
+ dedent: function dedent(templateOrFn /* , ...substitutions */) {
148
+ anObject(templateOrFn);
149
+ if (isCallable(templateOrFn)) return makeDedentTag(templateOrFn);
150
+ return apply(cookedDedentTag, this, arguments);
151
+ }
152
+ });
@@ -8,7 +8,7 @@ var charCodeAt = uncurryThis(''.charCodeAt);
8
8
 
9
9
  // `String.prototype.isWellFormed` method
10
10
  // https://github.com/tc39/proposal-is-usv-string
11
- $({ target: 'String', proto: true, forced: true }, {
11
+ $({ target: 'String', proto: true }, {
12
12
  isWellFormed: function isWellFormed() {
13
13
  var S = toString(requireObjectCoercible(this));
14
14
  var length = S.length;
@@ -12,7 +12,7 @@ var REPLACEMENT_CHARACTER = '\uFFFD';
12
12
 
13
13
  // `String.prototype.toWellFormed` method
14
14
  // https://github.com/tc39/proposal-is-usv-string
15
- $({ target: 'String', proto: true, forced: true }, {
15
+ $({ target: 'String', proto: true }, {
16
16
  toWellFormed: function toWellFormed() {
17
17
  var S = toString(requireObjectCoercible(this));
18
18
  var length = S.length;
@@ -0,0 +1,50 @@
1
+ 'use strict';
2
+ var $ = require('../internals/export');
3
+ var isPrototypeOf = require('../internals/object-is-prototype-of');
4
+ var getPrototypeOf = require('../internals/object-get-prototype-of');
5
+ var setPrototypeOf = require('../internals/object-set-prototype-of');
6
+ var copyConstructorProperties = require('../internals/copy-constructor-properties');
7
+ var create = require('../internals/object-create');
8
+ var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
9
+ var createPropertyDescriptor = require('../internals/create-property-descriptor');
10
+ var clearErrorStack = require('../internals/error-stack-clear');
11
+ var installErrorCause = require('../internals/install-error-cause');
12
+ var normalizeStringArgument = require('../internals/normalize-string-argument');
13
+ var wellKnownSymbol = require('../internals/well-known-symbol');
14
+ var ERROR_STACK_INSTALLABLE = require('../internals/error-stack-installable');
15
+
16
+ var TO_STRING_TAG = wellKnownSymbol('toStringTag');
17
+ var $Error = Error;
18
+
19
+ var $SuppressedError = function SuppressedError(error, suppressed, message /* , options */) {
20
+ var options = arguments.length > 3 ? arguments[3] : undefined;
21
+ var isInstance = isPrototypeOf(SuppressedErrorPrototype, this);
22
+ var that;
23
+ if (setPrototypeOf) {
24
+ that = setPrototypeOf($Error(), isInstance ? getPrototypeOf(this) : SuppressedErrorPrototype);
25
+ } else {
26
+ that = isInstance ? this : create(SuppressedErrorPrototype);
27
+ createNonEnumerableProperty(that, TO_STRING_TAG, 'Error');
28
+ }
29
+ if (message !== undefined) createNonEnumerableProperty(that, 'message', normalizeStringArgument(message));
30
+ if (ERROR_STACK_INSTALLABLE) createNonEnumerableProperty(that, 'stack', clearErrorStack(that.stack, 1));
31
+ installErrorCause(that, options);
32
+ createNonEnumerableProperty(that, 'error', error);
33
+ createNonEnumerableProperty(that, 'suppressed', suppressed);
34
+ return that;
35
+ };
36
+
37
+ if (setPrototypeOf) setPrototypeOf($SuppressedError, $Error);
38
+ else copyConstructorProperties($SuppressedError, $Error, { name: true });
39
+
40
+ var SuppressedErrorPrototype = $SuppressedError.prototype = create($Error.prototype, {
41
+ constructor: createPropertyDescriptor(1, $SuppressedError),
42
+ message: createPropertyDescriptor(1, ''),
43
+ name: createPropertyDescriptor(1, 'SuppressedError')
44
+ });
45
+
46
+ // `SuppressedError` constructor
47
+ // https://github.com/tc39/proposal-explicit-resource-management
48
+ $({ global: true, constructor: true, arity: 3 }, {
49
+ SuppressedError: $SuppressedError
50
+ });
@@ -1,5 +1,5 @@
1
1
  var defineWellKnownSymbol = require('../internals/well-known-symbol-define');
2
2
 
3
3
  // `Symbol.asyncDispose` well-known symbol
4
- // https://github.com/tc39/proposal-using-statement
4
+ // https://github.com/tc39/proposal-async-explicit-resource-management
5
5
  defineWellKnownSymbol('asyncDispose');
@@ -1,5 +1,5 @@
1
1
  var defineWellKnownSymbol = require('../internals/well-known-symbol-define');
2
2
 
3
3
  // `Symbol.dispose` well-known symbol
4
- // https://github.com/tc39/proposal-using-statement
4
+ // https://github.com/tc39/proposal-explicit-resource-management
5
5
  defineWellKnownSymbol('dispose');
@@ -1,15 +1,17 @@
1
1
  'use strict';
2
2
  var uncurryThis = require('../internals/function-uncurry-this');
3
3
  var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
4
+ var arrayFromConstructorAndList = require('../internals/array-from-constructor-and-list');
4
5
  var $arrayUniqueBy = require('../internals/array-unique-by');
5
- var fromSpeciesAndList = require('../internals/typed-array-from-species-and-list');
6
6
 
7
7
  var aTypedArray = ArrayBufferViewCore.aTypedArray;
8
+ var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;
8
9
  var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
9
10
  var arrayUniqueBy = uncurryThis($arrayUniqueBy);
10
11
 
11
12
  // `%TypedArray%.prototype.uniqueBy` method
12
13
  // https://github.com/tc39/proposal-array-unique
13
14
  exportTypedArrayMethod('uniqueBy', function uniqueBy(resolver) {
14
- return fromSpeciesAndList(this, arrayUniqueBy(aTypedArray(this), resolver));
15
+ aTypedArray(this);
16
+ return arrayFromConstructorAndList(getTypedArrayConstructor(this), arrayUniqueBy(this, resolver));
15
17
  }, true);
@@ -1,9 +1,18 @@
1
1
  'use strict';
2
2
  var $ = require('../internals/export');
3
- var deleteAll = require('../internals/collection-delete-all');
3
+ var aWeakMap = require('../internals/a-weak-map');
4
+ var remove = require('../internals/weak-map-helpers').remove;
4
5
 
5
6
  // `WeakMap.prototype.deleteAll` method
6
7
  // https://github.com/tc39/proposal-collection-methods
7
8
  $({ target: 'WeakMap', proto: true, real: true, forced: true }, {
8
- deleteAll: deleteAll
9
+ deleteAll: function deleteAll(/* ...elements */) {
10
+ var collection = aWeakMap(this);
11
+ var allDeleted = true;
12
+ var wasDeleted;
13
+ for (var k = 0, len = arguments.length; k < len; k++) {
14
+ wasDeleted = remove(collection, arguments[k]);
15
+ allDeleted = allDeleted && wasDeleted;
16
+ } return !!allDeleted;
17
+ }
9
18
  });
@@ -1,9 +1,27 @@
1
1
  'use strict';
2
2
  var $ = require('../internals/export');
3
- var emplace = require('../internals/map-emplace');
3
+ var aWeakMap = require('../internals/a-weak-map');
4
+ var WeakMapHelpers = require('../internals/weak-map-helpers');
5
+
6
+ var get = WeakMapHelpers.get;
7
+ var has = WeakMapHelpers.has;
8
+ var set = WeakMapHelpers.set;
4
9
 
5
10
  // `WeakMap.prototype.emplace` method
6
11
  // https://github.com/tc39/proposal-upsert
7
12
  $({ target: 'WeakMap', proto: true, real: true, forced: true }, {
8
- emplace: emplace
13
+ emplace: function emplace(key, handler) {
14
+ var map = aWeakMap(this);
15
+ var value, inserted;
16
+ if (has(map, key)) {
17
+ value = get(map, key);
18
+ if ('update' in handler) {
19
+ value = handler.update(value, key, map);
20
+ set(map, key, value);
21
+ } return value;
22
+ }
23
+ inserted = handler.insert(key, map);
24
+ set(map, key, inserted);
25
+ return inserted;
26
+ }
9
27
  });
@@ -1,9 +1,15 @@
1
1
  'use strict';
2
2
  var $ = require('../internals/export');
3
- var addAll = require('../internals/collection-add-all');
3
+ var aWeakSet = require('../internals/a-weak-set');
4
+ var add = require('../internals/weak-set-helpers').add;
4
5
 
5
6
  // `WeakSet.prototype.addAll` method
6
7
  // https://github.com/tc39/proposal-collection-methods
7
8
  $({ target: 'WeakSet', proto: true, real: true, forced: true }, {
8
- addAll: addAll
9
+ addAll: function addAll(/* ...elements */) {
10
+ var set = aWeakSet(this);
11
+ for (var k = 0, len = arguments.length; k < len; k++) {
12
+ add(set, arguments[k]);
13
+ } return set;
14
+ }
9
15
  });
@@ -1,9 +1,18 @@
1
1
  'use strict';
2
2
  var $ = require('../internals/export');
3
- var deleteAll = require('../internals/collection-delete-all');
3
+ var aWeakSet = require('../internals/a-weak-set');
4
+ var remove = require('../internals/weak-set-helpers').remove;
4
5
 
5
6
  // `WeakSet.prototype.deleteAll` method
6
7
  // https://github.com/tc39/proposal-collection-methods
7
8
  $({ target: 'WeakSet', proto: true, real: true, forced: true }, {
8
- deleteAll: deleteAll
9
+ deleteAll: function deleteAll(/* ...elements */) {
10
+ var collection = aWeakSet(this);
11
+ var allDeleted = true;
12
+ var wasDeleted;
13
+ for (var k = 0, len = arguments.length; k < len; k++) {
14
+ wasDeleted = remove(collection, arguments[k]);
15
+ allDeleted = allDeleted && wasDeleted;
16
+ } return !!allDeleted;
17
+ }
9
18
  });
@@ -1,6 +1,10 @@
1
1
  var $ = require('../internals/export');
2
2
  var global = require('../internals/global');
3
- var setImmediate = require('../internals/task').set;
3
+ var setTask = require('../internals/task').set;
4
+ var schedulersFix = require('../internals/schedulers-fix');
5
+
6
+ // https://github.com/oven-sh/bun/issues/1633
7
+ var setImmediate = global.setImmediate ? schedulersFix(setTask, false) : setTask;
4
8
 
5
9
  // `setImmediate` method
6
10
  // http://w3c.github.io/setImmediate/#si-setImmediate
@@ -1,8 +1,10 @@
1
1
  var $ = require('../internals/export');
2
2
  var global = require('../internals/global');
3
- var setInterval = require('../internals/schedulers-fix').setInterval;
3
+ var schedulersFix = require('../internals/schedulers-fix');
4
4
 
5
- // ie9- setInterval additional parameters fix
5
+ var setInterval = schedulersFix(global.setInterval, true);
6
+
7
+ // Bun / IE9- setInterval additional parameters fix
6
8
  // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-setinterval
7
9
  $({ global: true, bind: true, forced: global.setInterval !== setInterval }, {
8
10
  setInterval: setInterval
@@ -1,8 +1,10 @@
1
1
  var $ = require('../internals/export');
2
2
  var global = require('../internals/global');
3
- var setTimeout = require('../internals/schedulers-fix').setTimeout;
3
+ var schedulersFix = require('../internals/schedulers-fix');
4
4
 
5
- // ie9- setTimeout additional parameters fix
5
+ var setTimeout = schedulersFix(global.setTimeout, true);
6
+
7
+ // Bun / IE9- setTimeout additional parameters fix
6
8
  // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-settimeout
7
9
  $({ global: true, bind: true, forced: global.setTimeout !== setTimeout }, {
8
10
  setTimeout: setTimeout
@@ -19,6 +19,8 @@ var createNonEnumerableProperty = require('../internals/create-non-enumerable-pr
19
19
  var lengthOfArrayLike = require('../internals/length-of-array-like');
20
20
  var validateArgumentsLength = require('../internals/validate-arguments-length');
21
21
  var getRegExpFlags = require('../internals/regexp-get-flags');
22
+ var MapHelpers = require('../internals/map-helpers');
23
+ var SetHelpers = require('../internals/set-helpers');
22
24
  var ERROR_STACK_INSTALLABLE = require('../internals/error-stack-installable');
23
25
  var V8 = require('../internals/engine-v8-version');
24
26
  var IS_BROWSER = require('../internals/engine-is-browser');
@@ -26,6 +28,7 @@ var IS_DENO = require('../internals/engine-is-deno');
26
28
  var IS_NODE = require('../internals/engine-is-node');
27
29
 
28
30
  var Object = global.Object;
31
+ var Array = global.Array;
29
32
  var Date = global.Date;
30
33
  var Error = global.Error;
31
34
  var EvalError = global.EvalError;
@@ -40,13 +43,12 @@ var CompileError = WebAssembly && WebAssembly.CompileError || Error;
40
43
  var LinkError = WebAssembly && WebAssembly.LinkError || Error;
41
44
  var RuntimeError = WebAssembly && WebAssembly.RuntimeError || Error;
42
45
  var DOMException = getBuiltin('DOMException');
43
- var Set = getBuiltin('Set');
44
- var Map = getBuiltin('Map');
45
- var MapPrototype = Map.prototype;
46
- var mapHas = uncurryThis(MapPrototype.has);
47
- var mapGet = uncurryThis(MapPrototype.get);
48
- var mapSet = uncurryThis(MapPrototype.set);
49
- var setAdd = uncurryThis(Set.prototype.add);
46
+ var Map = MapHelpers.Map;
47
+ var mapHas = MapHelpers.has;
48
+ var mapGet = MapHelpers.get;
49
+ var mapSet = MapHelpers.set;
50
+ var Set = SetHelpers.Set;
51
+ var setAdd = SetHelpers.add;
50
52
  var objectKeys = getBuiltin('Object', 'keys');
51
53
  var push = uncurryThis([].push);
52
54
  var thisBooleanValue = uncurryThis(true.valueOf);
@@ -152,7 +154,7 @@ var structuredCloneInternal = function (value, map) {
152
154
 
153
155
  switch (type) {
154
156
  case 'Array':
155
- cloned = [];
157
+ cloned = Array(lengthOfArrayLike(value));
156
158
  deep = true;
157
159
  break;
158
160
  case 'Object':
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "core-js",
3
- "version": "3.26.1",
3
+ "version": "3.27.1",
4
4
  "description": "Standard library",
5
5
  "keywords": [
6
6
  "ES3",
@@ -0,0 +1,5 @@
1
+ // https://github.com/tc39/proposal-async-explicit-resource-management
2
+ require('../modules/esnext.suppressed-error.constructor');
3
+ require('../modules/esnext.async-disposable-stack.constructor');
4
+ require('../modules/esnext.async-iterator.async-dispose');
5
+ require('../modules/esnext.symbol.async-dispose');
@@ -0,0 +1,5 @@
1
+ // https://github.com/tc39/proposal-explicit-resource-management
2
+ require('../modules/esnext.suppressed-error.constructor');
3
+ require('../modules/esnext.disposable-stack.constructor');
4
+ require('../modules/esnext.iterator.dispose');
5
+ require('../modules/esnext.symbol.dispose');
@@ -0,0 +1,28 @@
1
+ // https://github.com/tc39/proposal-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.constructor');
16
+ require('../modules/esnext.iterator.drop');
17
+ require('../modules/esnext.iterator.every');
18
+ require('../modules/esnext.iterator.filter');
19
+ require('../modules/esnext.iterator.find');
20
+ require('../modules/esnext.iterator.flat-map');
21
+ require('../modules/esnext.iterator.for-each');
22
+ require('../modules/esnext.iterator.from');
23
+ require('../modules/esnext.iterator.map');
24
+ require('../modules/esnext.iterator.reduce');
25
+ require('../modules/esnext.iterator.some');
26
+ require('../modules/esnext.iterator.take');
27
+ require('../modules/esnext.iterator.to-array');
28
+ require('../modules/esnext.iterator.to-async');
@@ -1,34 +1,7 @@
1
- // https://github.com/tc39/proposal-iterator-helpers
2
- require('../modules/esnext.async-iterator.constructor');
3
1
  // TODO: remove from `core-js@4`
2
+ // https://github.com/tc39/proposal-iterator-helpers
3
+ require('./iterator-helpers-stage-3');
4
4
  require('../modules/esnext.async-iterator.as-indexed-pairs');
5
- require('../modules/esnext.async-iterator.drop');
6
- require('../modules/esnext.async-iterator.every');
7
- require('../modules/esnext.async-iterator.filter');
8
- require('../modules/esnext.async-iterator.find');
9
- require('../modules/esnext.async-iterator.flat-map');
10
- require('../modules/esnext.async-iterator.for-each');
11
- require('../modules/esnext.async-iterator.from');
12
5
  require('../modules/esnext.async-iterator.indexed');
13
- require('../modules/esnext.async-iterator.map');
14
- require('../modules/esnext.async-iterator.reduce');
15
- require('../modules/esnext.async-iterator.some');
16
- require('../modules/esnext.async-iterator.take');
17
- require('../modules/esnext.async-iterator.to-array');
18
- require('../modules/esnext.iterator.constructor');
19
- // TODO: remove from `core-js@4`
20
6
  require('../modules/esnext.iterator.as-indexed-pairs');
21
- require('../modules/esnext.iterator.drop');
22
- require('../modules/esnext.iterator.every');
23
- require('../modules/esnext.iterator.filter');
24
- require('../modules/esnext.iterator.find');
25
- require('../modules/esnext.iterator.flat-map');
26
- require('../modules/esnext.iterator.for-each');
27
- require('../modules/esnext.iterator.from');
28
7
  require('../modules/esnext.iterator.indexed');
29
- require('../modules/esnext.iterator.map');
30
- require('../modules/esnext.iterator.reduce');
31
- require('../modules/esnext.iterator.some');
32
- require('../modules/esnext.iterator.take');
33
- require('../modules/esnext.iterator.to-array');
34
- require('../modules/esnext.iterator.to-async');
@@ -0,0 +1,8 @@
1
+ // https://github.com/tc39/proposal-set-methods
2
+ require('../modules/esnext.set.difference.v2');
3
+ require('../modules/esnext.set.intersection.v2');
4
+ require('../modules/esnext.set.is-disjoint-from.v2');
5
+ require('../modules/esnext.set.is-subset-of.v2');
6
+ require('../modules/esnext.set.is-superset-of.v2');
7
+ require('../modules/esnext.set.union.v2');
8
+ require('../modules/esnext.set.symmetric-difference.v2');
@@ -1,4 +1,12 @@
1
1
  // https://github.com/tc39/proposal-set-methods
2
+ require('../modules/esnext.set.difference.v2');
3
+ require('../modules/esnext.set.intersection.v2');
4
+ require('../modules/esnext.set.is-disjoint-from.v2');
5
+ require('../modules/esnext.set.is-subset-of.v2');
6
+ require('../modules/esnext.set.is-superset-of.v2');
7
+ require('../modules/esnext.set.union.v2');
8
+ require('../modules/esnext.set.symmetric-difference.v2');
9
+ // TODO: Obsolete versions, remove from `core-js@4`
2
10
  require('../modules/esnext.set.difference');
3
11
  require('../modules/esnext.set.intersection');
4
12
  require('../modules/esnext.set.is-disjoint-from');
@@ -0,0 +1,2 @@
1
+ // https://github.com/tc39/proposal-string-dedent
2
+ require('../modules/esnext.string.dedent');
@@ -1,3 +1,4 @@
1
- // https://github.com/tc39/proposal-using-statement
1
+ // TODO: Renamed, remove from `core-js@4`
2
+ // https://github.com/tc39/proposal-explicit-resource-management
2
3
  require('../modules/esnext.symbol.async-dispose');
3
4
  require('../modules/esnext.symbol.dispose');
package/stage/2.js CHANGED
@@ -1,14 +1,15 @@
1
1
  var parent = require('./3');
2
2
 
3
3
  require('../proposals/array-is-template-object');
4
+ require('../proposals/async-explicit-resource-management');
4
5
  require('../proposals/decorator-metadata');
5
- require('../proposals/iterator-helpers');
6
6
  require('../proposals/map-upsert-stage-2');
7
- require('../proposals/set-methods');
8
- require('../proposals/using-statement');
9
- require('../proposals/well-formed-unicode-strings');
7
+ require('../proposals/string-dedent');
10
8
  // TODO: Obsolete versions, remove from `core-js@4`
11
9
  require('../proposals/array-grouping');
12
10
  require('../proposals/decorators');
11
+ require('../proposals/iterator-helpers');
12
+ require('../proposals/set-methods');
13
+ require('../proposals/using-statement');
13
14
 
14
15
  module.exports = parent;
package/stage/3.js CHANGED
@@ -3,6 +3,10 @@ var parent = require('./4');
3
3
  require('../proposals/array-from-async-stage-2');
4
4
  require('../proposals/array-grouping-stage-3-2');
5
5
  require('../proposals/change-array-by-copy');
6
+ require('../proposals/explicit-resource-management');
7
+ require('../proposals/iterator-helpers-stage-3');
8
+ require('../proposals/set-methods-v2');
9
+ require('../proposals/well-formed-unicode-strings');
6
10
  // TODO: Obsolete versions, remove from `core-js@4`
7
11
  require('../proposals/array-grouping-stage-3');
8
12
 
@@ -1,14 +0,0 @@
1
- 'use strict';
2
- var call = require('../internals/function-call');
3
- var aCallable = require('../internals/a-callable');
4
- var anObject = require('../internals/an-object');
5
-
6
- // https://github.com/tc39/collection-methods
7
- module.exports = function addAll(/* ...elements */) {
8
- var set = anObject(this);
9
- var adder = aCallable(set.add);
10
- for (var k = 0, len = arguments.length; k < len; k++) {
11
- call(adder, set, arguments[k]);
12
- }
13
- return set;
14
- };
@@ -1,17 +0,0 @@
1
- 'use strict';
2
- var call = require('../internals/function-call');
3
- var aCallable = require('../internals/a-callable');
4
- var anObject = require('../internals/an-object');
5
-
6
- // https://github.com/tc39/collection-methods
7
- module.exports = function deleteAll(/* ...elements */) {
8
- var collection = anObject(this);
9
- var remover = aCallable(collection['delete']);
10
- var allDeleted = true;
11
- var wasDeleted;
12
- for (var k = 0, len = arguments.length; k < len; k++) {
13
- wasDeleted = call(remover, collection, arguments[k]);
14
- allDeleted = allDeleted && wasDeleted;
15
- }
16
- return !!allDeleted;
17
- };
@@ -1,6 +0,0 @@
1
- var call = require('../internals/function-call');
2
-
3
- module.exports = function (it) {
4
- // eslint-disable-next-line es/no-map -- safe
5
- return call(Map.prototype.entries, it);
6
- };