core-js 3.26.0 → 3.27.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 (274) 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 +11 -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 +7 -0
  15. package/actual/disposable-stack/index.js +7 -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 +10 -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 +5 -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 +8 -0
  60. package/full/async-disposable-stack/index.js +8 -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/classof-raw.js +3 -3
  124. package/internals/disposable-stack-helpers.js +40 -0
  125. package/internals/document-all.js +1 -0
  126. package/internals/engine-is-bun.js +2 -0
  127. package/internals/fix-regexp-well-known-symbol-logic.js +1 -1
  128. package/internals/function-bind-context.js +1 -1
  129. package/internals/function-uncurry-this-clause.js +9 -0
  130. package/internals/function-uncurry-this.js +9 -7
  131. package/internals/get-async-iterator-flattenable.js +3 -2
  132. package/internals/get-iterator-flattenable.js +3 -3
  133. package/internals/get-set-record.js +38 -0
  134. package/internals/iterate-simple.js +10 -0
  135. package/internals/iterator-indexed.js +7 -12
  136. package/internals/iterator-map.js +22 -0
  137. package/internals/map-helpers.js +14 -0
  138. package/internals/map-iterate.js +15 -0
  139. package/internals/map-upsert.js +1 -1
  140. package/internals/schedulers-fix.js +20 -20
  141. package/internals/set-clone.js +13 -0
  142. package/internals/set-difference.js +26 -0
  143. package/internals/set-helpers.js +15 -0
  144. package/internals/set-intersection.js +46 -0
  145. package/internals/set-is-disjoint-from.js +22 -0
  146. package/internals/set-is-subset-of.js +16 -0
  147. package/internals/set-is-superset-of.js +17 -0
  148. package/internals/set-iterate.js +13 -0
  149. package/internals/set-method-accept-set-like.js +27 -0
  150. package/internals/set-size.js +8 -0
  151. package/internals/set-symmetric-difference.js +23 -0
  152. package/internals/set-union.js +18 -0
  153. package/internals/shared.js +2 -2
  154. package/internals/string-cooked.js +23 -0
  155. package/internals/string-parse.js +118 -0
  156. package/internals/to-set-like.js +19 -0
  157. package/internals/weak-map-helpers.js +13 -0
  158. package/internals/weak-set-helpers.js +12 -0
  159. package/modules/es.array-buffer.slice.js +1 -1
  160. package/modules/es.array.index-of.js +1 -1
  161. package/modules/es.number.constructor.js +34 -18
  162. package/modules/es.string.ends-with.js +1 -1
  163. package/modules/es.string.match-all.js +1 -1
  164. package/modules/es.string.starts-with.js +1 -1
  165. package/modules/es.typed-array.sort.js +1 -1
  166. package/modules/esnext.array.from-async.js +1 -1
  167. package/modules/esnext.async-disposable-stack.constructor.js +137 -0
  168. package/modules/esnext.async-iterator.as-indexed-pairs.js +2 -1
  169. package/modules/esnext.async-iterator.async-dispose.js +26 -0
  170. package/modules/esnext.async-iterator.constructor.js +2 -1
  171. package/modules/esnext.async-iterator.drop.js +3 -2
  172. package/modules/esnext.async-iterator.every.js +5 -4
  173. package/modules/esnext.async-iterator.filter.js +7 -6
  174. package/modules/esnext.async-iterator.find.js +5 -4
  175. package/modules/esnext.async-iterator.flat-map.js +3 -2
  176. package/modules/esnext.async-iterator.for-each.js +3 -2
  177. package/modules/esnext.async-iterator.from.js +5 -3
  178. package/modules/esnext.async-iterator.indexed.js +2 -1
  179. package/modules/esnext.async-iterator.map.js +5 -53
  180. package/modules/esnext.async-iterator.reduce.js +3 -2
  181. package/modules/esnext.async-iterator.some.js +5 -4
  182. package/modules/esnext.async-iterator.take.js +3 -2
  183. package/modules/esnext.async-iterator.to-array.js +3 -2
  184. package/modules/esnext.disposable-stack.constructor.js +121 -0
  185. package/modules/esnext.function.un-this.js +2 -2
  186. package/modules/esnext.iterator.as-indexed-pairs.js +2 -1
  187. package/modules/esnext.iterator.constructor.js +2 -1
  188. package/modules/esnext.iterator.dispose.js +17 -0
  189. package/modules/esnext.iterator.drop.js +3 -2
  190. package/modules/esnext.iterator.every.js +6 -5
  191. package/modules/esnext.iterator.filter.js +7 -6
  192. package/modules/esnext.iterator.find.js +6 -5
  193. package/modules/esnext.iterator.flat-map.js +3 -2
  194. package/modules/esnext.iterator.for-each.js +3 -2
  195. package/modules/esnext.iterator.from.js +5 -3
  196. package/modules/esnext.iterator.indexed.js +2 -1
  197. package/modules/esnext.iterator.map.js +5 -21
  198. package/modules/esnext.iterator.reduce.js +3 -2
  199. package/modules/esnext.iterator.some.js +6 -5
  200. package/modules/esnext.iterator.take.js +3 -2
  201. package/modules/esnext.iterator.to-array.js +3 -2
  202. package/modules/esnext.iterator.to-async.js +3 -2
  203. package/modules/esnext.map.delete-all.js +11 -2
  204. package/modules/esnext.map.emplace.js +21 -3
  205. package/modules/esnext.map.every.js +6 -8
  206. package/modules/esnext.map.filter.js +11 -14
  207. package/modules/esnext.map.find-key.js +7 -8
  208. package/modules/esnext.map.find.js +7 -8
  209. package/modules/esnext.map.group-by.js +6 -5
  210. package/modules/esnext.map.includes.js +5 -6
  211. package/modules/esnext.map.key-by.js +4 -1
  212. package/modules/esnext.map.key-of.js +6 -6
  213. package/modules/esnext.map.map-keys.js +11 -14
  214. package/modules/esnext.map.map-values.js +11 -14
  215. package/modules/esnext.map.merge.js +6 -5
  216. package/modules/esnext.map.reduce.js +5 -7
  217. package/modules/esnext.map.some.js +7 -9
  218. package/modules/esnext.map.update.js +10 -10
  219. package/modules/esnext.set.add-all.js +8 -2
  220. package/modules/esnext.set.delete-all.js +11 -2
  221. package/modules/esnext.set.difference.js +5 -13
  222. package/modules/esnext.set.difference.v2.js +9 -0
  223. package/modules/esnext.set.every.js +6 -8
  224. package/modules/esnext.set.filter.js +11 -14
  225. package/modules/esnext.set.find.js +7 -8
  226. package/modules/esnext.set.intersection.js +5 -14
  227. package/modules/esnext.set.intersection.v2.js +9 -0
  228. package/modules/esnext.set.is-disjoint-from.js +6 -10
  229. package/modules/esnext.set.is-disjoint-from.v2.js +9 -0
  230. package/modules/esnext.set.is-subset-of.js +6 -18
  231. package/modules/esnext.set.is-subset-of.v2.js +9 -0
  232. package/modules/esnext.set.is-superset-of.js +6 -10
  233. package/modules/esnext.set.is-superset-of.v2.js +9 -0
  234. package/modules/esnext.set.join.js +9 -9
  235. package/modules/esnext.set.map.js +11 -14
  236. package/modules/esnext.set.reduce.js +5 -7
  237. package/modules/esnext.set.some.js +6 -8
  238. package/modules/esnext.set.symmetric-difference.js +5 -14
  239. package/modules/esnext.set.symmetric-difference.v2.js +9 -0
  240. package/modules/esnext.set.union.js +6 -10
  241. package/modules/esnext.set.union.v2.js +9 -0
  242. package/modules/esnext.string.cooked.js +2 -23
  243. package/modules/esnext.string.dedent.js +152 -0
  244. package/modules/esnext.string.is-well-formed.js +1 -1
  245. package/modules/esnext.string.to-well-formed.js +1 -1
  246. package/modules/esnext.suppressed-error.constructor.js +50 -0
  247. package/modules/esnext.symbol.async-dispose.js +1 -1
  248. package/modules/esnext.symbol.dispose.js +1 -1
  249. package/modules/esnext.typed-array.unique-by.js +4 -2
  250. package/modules/esnext.weak-map.delete-all.js +11 -2
  251. package/modules/esnext.weak-map.emplace.js +20 -2
  252. package/modules/esnext.weak-set.add-all.js +8 -2
  253. package/modules/esnext.weak-set.delete-all.js +11 -2
  254. package/modules/web.set-immediate.js +5 -1
  255. package/modules/web.set-interval.js +4 -2
  256. package/modules/web.set-timeout.js +4 -2
  257. package/modules/web.structured-clone.js +10 -8
  258. package/package.json +1 -1
  259. package/proposals/async-explicit-resource-management.js +5 -0
  260. package/proposals/explicit-resource-management.js +5 -0
  261. package/proposals/iterator-helpers-stage-3.js +28 -0
  262. package/proposals/iterator-helpers.js +2 -29
  263. package/proposals/set-methods-v2.js +8 -0
  264. package/proposals/set-methods.js +8 -0
  265. package/proposals/string-dedent.js +2 -0
  266. package/proposals/using-statement.js +2 -1
  267. package/stage/2.js +5 -4
  268. package/stage/3.js +4 -0
  269. package/internals/collection-add-all.js +0 -14
  270. package/internals/collection-delete-all.js +0 -17
  271. package/internals/function-uncurry-this-raw.js +0 -11
  272. package/internals/get-map-iterator.js +0 -6
  273. package/internals/get-set-iterator.js +0 -6
  274. package/internals/map-emplace.js +0 -24
@@ -0,0 +1,17 @@
1
+ 'use strict';
2
+ var aSet = require('../internals/a-set');
3
+ var has = require('../internals/set-helpers').has;
4
+ var size = require('../internals/set-size');
5
+ var getSetRecord = require('../internals/get-set-record');
6
+ var iterateSimple = require('../internals/iterate-simple');
7
+
8
+ // `Set.prototype.isSupersetOf` method
9
+ // https://tc39.github.io/proposal-set-methods/#Set.prototype.isSupersetOf
10
+ module.exports = function isSupersetOf(other) {
11
+ var O = aSet(this);
12
+ var otherRec = getSetRecord(other);
13
+ if (size(O) < otherRec.size) return false;
14
+ return iterateSimple(otherRec.getIterator(), function (e) {
15
+ if (has(O, e) === false) return false;
16
+ }) !== false;
17
+ };
@@ -0,0 +1,13 @@
1
+ var uncurryThis = require('../internals/function-uncurry-this');
2
+ var iterateSimple = require('../internals/iterate-simple');
3
+ var SetHelpers = require('../internals/set-helpers');
4
+
5
+ var Set = SetHelpers.Set;
6
+ var SetPrototype = SetHelpers.proto;
7
+ var forEach = uncurryThis(SetPrototype.forEach);
8
+ var keys = uncurryThis(SetPrototype.keys);
9
+ var next = keys(new Set()).next;
10
+
11
+ module.exports = function (set, fn, interruptible) {
12
+ return interruptible ? iterateSimple(keys(set), fn, next) : forEach(set, fn);
13
+ };
@@ -0,0 +1,27 @@
1
+ var getBuiltIn = require('../internals/get-built-in');
2
+
3
+ var createEmptySetLike = function () {
4
+ return {
5
+ size: 0,
6
+ has: function () {
7
+ return false;
8
+ },
9
+ keys: function () {
10
+ return {
11
+ next: function () {
12
+ return { done: true };
13
+ }
14
+ };
15
+ }
16
+ };
17
+ };
18
+
19
+ module.exports = function (name) {
20
+ try {
21
+ var Set = getBuiltIn('Set');
22
+ new Set()[name](createEmptySetLike());
23
+ return true;
24
+ } catch (error) {
25
+ return false;
26
+ }
27
+ };
@@ -0,0 +1,8 @@
1
+ var DESCRIPTORS = require('../internals/descriptors');
2
+ var uncurryThis = require('../internals/function-uncurry-this');
3
+ var SetHelpers = require('../internals/set-helpers');
4
+
5
+ // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
6
+ module.exports = DESCRIPTORS ? uncurryThis(Object.getOwnPropertyDescriptor(SetHelpers.proto, 'size').get) : function (set) {
7
+ return set.size;
8
+ };
@@ -0,0 +1,23 @@
1
+ 'use strict';
2
+ var aSet = require('../internals/a-set');
3
+ var SetHelpers = require('../internals/set-helpers');
4
+ var clone = require('../internals/set-clone');
5
+ var getSetRecord = require('../internals/get-set-record');
6
+ var iterateSimple = require('../internals/iterate-simple');
7
+
8
+ var add = SetHelpers.add;
9
+ var has = SetHelpers.has;
10
+ var remove = SetHelpers.remove;
11
+
12
+ // `Set.prototype.symmetricDifference` method
13
+ // https://github.com/tc39/proposal-set-methods
14
+ module.exports = function symmetricDifference(other) {
15
+ var O = aSet(this);
16
+ var keysIter = getSetRecord(other).getIterator();
17
+ var result = clone(O);
18
+ iterateSimple(keysIter, function (e) {
19
+ if (has(O, e)) remove(result, e);
20
+ else add(result, e);
21
+ });
22
+ return result;
23
+ };
@@ -0,0 +1,18 @@
1
+ 'use strict';
2
+ var aSet = require('../internals/a-set');
3
+ var add = require('../internals/set-helpers').add;
4
+ var clone = require('../internals/set-clone');
5
+ var getSetRecord = require('../internals/get-set-record');
6
+ var iterateSimple = require('../internals/iterate-simple');
7
+
8
+ // `Set.prototype.union` method
9
+ // https://github.com/tc39/proposal-set-methods
10
+ module.exports = function union(other) {
11
+ var O = aSet(this);
12
+ var keysIter = getSetRecord(other).getIterator();
13
+ var result = clone(O);
14
+ iterateSimple(keysIter, function (it) {
15
+ add(result, it);
16
+ });
17
+ return result;
18
+ };
@@ -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.26.0',
7
+ version: '3.27.0',
8
8
  mode: IS_PURE ? 'pure' : 'global',
9
9
  copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',
10
- license: 'https://github.com/zloirock/core-js/blob/v3.26.0/LICENSE',
10
+ license: 'https://github.com/zloirock/core-js/blob/v3.27.0/LICENSE',
11
11
  source: 'https://github.com/zloirock/core-js'
12
12
  });
@@ -0,0 +1,23 @@
1
+ var uncurryThis = require('../internals/function-uncurry-this');
2
+ var toIndexedObject = require('../internals/to-indexed-object');
3
+ var toString = require('../internals/to-string');
4
+ var lengthOfArrayLike = require('../internals/length-of-array-like');
5
+
6
+ var $TypeError = TypeError;
7
+ var push = uncurryThis([].push);
8
+ var join = uncurryThis([].join);
9
+
10
+ module.exports = function cooked(template /* , ...substitutions */) {
11
+ var cookedTemplate = toIndexedObject(template);
12
+ var literalSegments = lengthOfArrayLike(cookedTemplate);
13
+ var argumentsLength = arguments.length;
14
+ var elements = [];
15
+ var i = 0;
16
+ while (true) {
17
+ var nextVal = cookedTemplate[i++];
18
+ if (nextVal === undefined) throw $TypeError('Incorrect template');
19
+ push(elements, toString(nextVal));
20
+ if (i === literalSegments) return join(elements, '');
21
+ if (i < argumentsLength) push(elements, toString(arguments[i]));
22
+ }
23
+ };
@@ -0,0 +1,118 @@
1
+ // adapted from https://github.com/jridgewell/string-dedent
2
+ var getBuiltIn = require('../internals/get-built-in');
3
+ var uncurryThis = require('../internals/function-uncurry-this');
4
+
5
+ var fromCharCode = String.fromCharCode;
6
+ var fromCodePoint = getBuiltIn('String', 'fromCodePoint');
7
+ var charAt = uncurryThis(''.charAt);
8
+ var charCodeAt = uncurryThis(''.charCodeAt);
9
+ var stringIndexOf = uncurryThis(''.indexOf);
10
+ var stringSlice = uncurryThis(''.slice);
11
+
12
+ var ZERO_CODE = 48;
13
+ var NINE_CODE = 57;
14
+ var LOWER_A_CODE = 97;
15
+ var LOWER_F_CODE = 102;
16
+ var UPPER_A_CODE = 65;
17
+ var UPPER_F_CODE = 70;
18
+
19
+ var isDigit = function (str, index) {
20
+ var c = charCodeAt(str, index);
21
+ return c >= ZERO_CODE && c <= NINE_CODE;
22
+ };
23
+
24
+ var parseHex = function (str, index, end) {
25
+ if (end >= str.length) return -1;
26
+ var n = 0;
27
+ for (; index < end; index++) {
28
+ var c = hexToInt(charCodeAt(str, index));
29
+ if (c === -1) return -1;
30
+ n = n * 16 + c;
31
+ }
32
+ return n;
33
+ };
34
+
35
+ var hexToInt = function (c) {
36
+ if (c >= ZERO_CODE && c <= NINE_CODE) return c - ZERO_CODE;
37
+ if (c >= LOWER_A_CODE && c <= LOWER_F_CODE) return c - LOWER_A_CODE + 10;
38
+ if (c >= UPPER_A_CODE && c <= UPPER_F_CODE) return c - UPPER_A_CODE + 10;
39
+ return -1;
40
+ };
41
+
42
+ module.exports = function (raw) {
43
+ var out = '';
44
+ var start = 0;
45
+ // We need to find every backslash escape sequence, and cook the escape into a real char.
46
+ var i = 0;
47
+ var n;
48
+ while ((i = stringIndexOf(raw, '\\', i)) > -1) {
49
+ out += stringSlice(raw, start, i);
50
+ // If the backslash is the last char of the string, then it was an invalid sequence.
51
+ // This can't actually happen in a tagged template literal, but could happen if you manually
52
+ // invoked the tag with an array.
53
+ if (++i === raw.length) return;
54
+ var next = charAt(raw, i++);
55
+ switch (next) {
56
+ // Escaped control codes need to be individually processed.
57
+ case 'b':
58
+ out += '\b';
59
+ break;
60
+ case 't':
61
+ out += '\t';
62
+ break;
63
+ case 'n':
64
+ out += '\n';
65
+ break;
66
+ case 'v':
67
+ out += '\v';
68
+ break;
69
+ case 'f':
70
+ out += '\f';
71
+ break;
72
+ case 'r':
73
+ out += '\r';
74
+ break;
75
+ // Escaped line terminators just skip the char.
76
+ case '\r':
77
+ // Treat `\r\n` as a single terminator.
78
+ if (i < raw.length && charAt(raw, i) === '\n') ++i;
79
+ // break omitted
80
+ case '\n':
81
+ case '\u2028':
82
+ case '\u2029':
83
+ break;
84
+ // `\0` is a null control char, but `\0` followed by another digit is an illegal octal escape.
85
+ case '0':
86
+ if (isDigit(raw, i)) return;
87
+ out += '\0';
88
+ break;
89
+ // Hex escapes must contain 2 hex chars.
90
+ case 'x':
91
+ n = parseHex(raw, i, i + 2);
92
+ if (n === -1) return;
93
+ i += 2;
94
+ out += fromCharCode(n);
95
+ break;
96
+ // Unicode escapes contain either 4 chars, or an unlimited number between `{` and `}`.
97
+ // The hex value must not overflow 0x10FFFF.
98
+ case 'u':
99
+ if (i < raw.length && charAt(raw, i) === '{') {
100
+ var end = stringIndexOf(raw, '}', ++i);
101
+ if (end === -1) return;
102
+ n = parseHex(raw, i, end);
103
+ i = end + 1;
104
+ } else {
105
+ n = parseHex(raw, i, i + 4);
106
+ i += 4;
107
+ }
108
+ if (n === -1 || n > 0x10FFFF) return;
109
+ out += fromCodePoint(n);
110
+ break;
111
+ default:
112
+ if (isDigit(next, 0)) return;
113
+ out += next;
114
+ }
115
+ start = i;
116
+ }
117
+ return out + stringSlice(raw, start);
118
+ };
@@ -0,0 +1,19 @@
1
+ var getBuiltIn = require('../internals/get-built-in');
2
+ var isCallable = require('../internals/is-callable');
3
+ var isIterable = require('../internals/is-iterable');
4
+ var isObject = require('../internals/is-object');
5
+
6
+ var Set = getBuiltIn('Set');
7
+
8
+ var isSetLike = function (it) {
9
+ return isObject(it)
10
+ && typeof it.size == 'number'
11
+ && isCallable(it.has)
12
+ && isCallable(it.keys);
13
+ };
14
+
15
+ // fallback old -> new set methods proposal arguments
16
+ module.exports = function (it) {
17
+ if (isSetLike(it)) return it;
18
+ if (isIterable(it)) return new Set(it);
19
+ };
@@ -0,0 +1,13 @@
1
+ var uncurryThis = require('../internals/function-uncurry-this');
2
+
3
+ // eslint-disable-next-line es/no-weak-map -- safe
4
+ var WeakMapPrototype = WeakMap.prototype;
5
+
6
+ module.exports = {
7
+ // eslint-disable-next-line es/no-weak-map -- safe
8
+ WeakMap: WeakMap,
9
+ set: uncurryThis(WeakMapPrototype.set),
10
+ get: uncurryThis(WeakMapPrototype.get),
11
+ has: uncurryThis(WeakMapPrototype.has),
12
+ remove: uncurryThis(WeakMapPrototype['delete'])
13
+ };
@@ -0,0 +1,12 @@
1
+ var uncurryThis = require('../internals/function-uncurry-this');
2
+
3
+ // eslint-disable-next-line es/no-weak-set -- safe
4
+ var WeakSetPrototype = WeakSet.prototype;
5
+
6
+ module.exports = {
7
+ // eslint-disable-next-line es/no-weak-set -- safe
8
+ WeakSet: WeakSet,
9
+ add: uncurryThis(WeakSetPrototype.add),
10
+ has: uncurryThis(WeakSetPrototype.has),
11
+ remove: uncurryThis(WeakSetPrototype['delete'])
12
+ };
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  var $ = require('../internals/export');
3
- var uncurryThis = require('../internals/function-uncurry-this');
3
+ var uncurryThis = require('../internals/function-uncurry-this-clause');
4
4
  var fails = require('../internals/fails');
5
5
  var ArrayBufferModule = require('../internals/array-buffer');
6
6
  var anObject = require('../internals/an-object');
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
  /* eslint-disable es/no-array-prototype-indexof -- required for testing */
3
3
  var $ = require('../internals/export');
4
- var uncurryThis = require('../internals/function-uncurry-this');
4
+ var uncurryThis = require('../internals/function-uncurry-this-clause');
5
5
  var $indexOf = require('../internals/array-includes').indexOf;
6
6
  var arrayMethodIsStrict = require('../internals/array-method-is-strict');
7
7
 
@@ -1,9 +1,11 @@
1
1
  'use strict';
2
+ var $ = require('../internals/export');
3
+ var IS_PURE = require('../internals/is-pure');
2
4
  var DESCRIPTORS = require('../internals/descriptors');
3
5
  var global = require('../internals/global');
6
+ var path = require('../internals/path');
4
7
  var uncurryThis = require('../internals/function-uncurry-this');
5
8
  var isForced = require('../internals/is-forced');
6
- var defineBuiltIn = require('../internals/define-built-in');
7
9
  var hasOwn = require('../internals/has-own-property');
8
10
  var inheritIfRequired = require('../internals/inherit-if-required');
9
11
  var isPrototypeOf = require('../internals/object-is-prototype-of');
@@ -18,9 +20,10 @@ var trim = require('../internals/string-trim').trim;
18
20
 
19
21
  var NUMBER = 'Number';
20
22
  var NativeNumber = global[NUMBER];
23
+ var PureNumberNamespace = path[NUMBER];
21
24
  var NumberPrototype = NativeNumber.prototype;
22
25
  var TypeError = global.TypeError;
23
- var arraySlice = uncurryThis(''.slice);
26
+ var stringSlice = uncurryThis(''.slice);
24
27
  var charCodeAt = uncurryThis(''.charCodeAt);
25
28
 
26
29
  // `ToNumeric` abstract operation
@@ -48,7 +51,7 @@ var toNumber = function (argument) {
48
51
  case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i
49
52
  default: return +it;
50
53
  }
51
- digits = arraySlice(it, 2);
54
+ digits = stringSlice(it, 2);
52
55
  length = digits.length;
53
56
  for (index = 0; index < length; index++) {
54
57
  code = charCodeAt(digits, index);
@@ -60,17 +63,30 @@ var toNumber = function (argument) {
60
63
  } return +it;
61
64
  };
62
65
 
66
+ var FORCED = isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'));
67
+
68
+ var calledWithNew = function (dummy) {
69
+ // includes check on 1..constructor(foo) case
70
+ return isPrototypeOf(NumberPrototype, dummy) && fails(function () { thisNumberValue(dummy); });
71
+ };
72
+
63
73
  // `Number` constructor
64
74
  // https://tc39.es/ecma262/#sec-number-constructor
65
- if (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {
66
- var NumberWrapper = function Number(value) {
67
- var n = arguments.length < 1 ? 0 : NativeNumber(toNumeric(value));
68
- var dummy = this;
69
- // check on 1..constructor(foo) case
70
- return isPrototypeOf(NumberPrototype, dummy) && fails(function () { thisNumberValue(dummy); })
71
- ? inheritIfRequired(Object(n), dummy, NumberWrapper) : n;
72
- };
73
- for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (
75
+ var NumberWrapper = function Number(value) {
76
+ var n = arguments.length < 1 ? 0 : NativeNumber(toNumeric(value));
77
+ return calledWithNew(this) ? inheritIfRequired(Object(n), this, NumberWrapper) : n;
78
+ };
79
+
80
+ NumberWrapper.prototype = NumberPrototype;
81
+ if (FORCED && !IS_PURE) NumberPrototype.constructor = NumberWrapper;
82
+
83
+ $({ global: true, constructor: true, wrap: true, forced: FORCED }, {
84
+ Number: NumberWrapper
85
+ });
86
+
87
+ // Use `internal/copy-constructor-properties` helper in `core-js@4`
88
+ var copyConstructorProperties = function (target, source) {
89
+ for (var keys = DESCRIPTORS ? getOwnPropertyNames(source) : (
74
90
  // ES3:
75
91
  'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +
76
92
  // ES2015 (in case, if modules with ES2015 Number statics required before):
@@ -78,11 +94,11 @@ if (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumb
78
94
  // ESNext
79
95
  'fromString,range'
80
96
  ).split(','), j = 0, key; keys.length > j; j++) {
81
- if (hasOwn(NativeNumber, key = keys[j]) && !hasOwn(NumberWrapper, key)) {
82
- defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));
97
+ if (hasOwn(source, key = keys[j]) && !hasOwn(target, key)) {
98
+ defineProperty(target, key, getOwnPropertyDescriptor(source, key));
83
99
  }
84
100
  }
85
- NumberWrapper.prototype = NumberPrototype;
86
- NumberPrototype.constructor = NumberWrapper;
87
- defineBuiltIn(global, NUMBER, NumberWrapper, { constructor: true });
88
- }
101
+ };
102
+
103
+ if (IS_PURE && PureNumberNamespace) copyConstructorProperties(path[NUMBER], PureNumberNamespace);
104
+ if (FORCED || IS_PURE) copyConstructorProperties(path[NUMBER], NativeNumber);
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  var $ = require('../internals/export');
3
- var uncurryThis = require('../internals/function-uncurry-this');
3
+ var uncurryThis = require('../internals/function-uncurry-this-clause');
4
4
  var getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;
5
5
  var toLength = require('../internals/to-length');
6
6
  var toString = require('../internals/to-string');
@@ -2,7 +2,7 @@
2
2
  /* eslint-disable es/no-string-prototype-matchall -- safe */
3
3
  var $ = require('../internals/export');
4
4
  var call = require('../internals/function-call');
5
- var uncurryThis = require('../internals/function-uncurry-this');
5
+ var uncurryThis = require('../internals/function-uncurry-this-clause');
6
6
  var createIteratorConstructor = require('../internals/iterator-create-constructor');
7
7
  var createIterResultObject = require('../internals/create-iter-result-object');
8
8
  var requireObjectCoercible = require('../internals/require-object-coercible');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  var $ = require('../internals/export');
3
- var uncurryThis = require('../internals/function-uncurry-this');
3
+ var uncurryThis = require('../internals/function-uncurry-this-clause');
4
4
  var getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;
5
5
  var toLength = require('../internals/to-length');
6
6
  var toString = require('../internals/to-string');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  var global = require('../internals/global');
3
- var uncurryThis = require('../internals/function-uncurry-this');
3
+ var uncurryThis = require('../internals/function-uncurry-this-clause');
4
4
  var fails = require('../internals/fails');
5
5
  var aCallable = require('../internals/a-callable');
6
6
  var internalSort = require('../internals/array-sort');
@@ -3,6 +3,6 @@ var fromAsync = require('../internals/array-from-async');
3
3
 
4
4
  // `Array.fromAsync` method
5
5
  // https://github.com/tc39/proposal-array-from-async
6
- $({ target: 'Array', stat: true, forced: true }, {
6
+ $({ target: 'Array', stat: true }, {
7
7
  fromAsync: fromAsync
8
8
  });
@@ -0,0 +1,137 @@
1
+ 'use strict';
2
+ // https://github.com/tc39/proposal-async-explicit-resource-management
3
+ var $ = require('../internals/export');
4
+ var DESCRIPTORS = require('../internals/descriptors');
5
+ var getBuiltIn = require('../internals/get-built-in');
6
+ var aCallable = require('../internals/a-callable');
7
+ var anObject = require('../internals/an-object');
8
+ var anInstance = require('../internals/an-instance');
9
+ var isNullOrUndefined = require('../internals/is-null-or-undefined');
10
+ var defineBuiltIn = require('../internals/define-built-in');
11
+ var defineBuiltIns = require('../internals/define-built-ins');
12
+ var defineBuiltInAccessor = require('../internals/define-built-in-accessor');
13
+ var wellKnownSymbol = require('../internals/well-known-symbol');
14
+ var InternalStateModule = require('../internals/internal-state');
15
+ var DisposableStackHelpers = require('../internals/disposable-stack-helpers');
16
+
17
+ var Promise = getBuiltIn('Promise');
18
+ var SuppressedError = getBuiltIn('SuppressedError');
19
+ var $ReferenceError = ReferenceError;
20
+
21
+ var ASYNC_DISPOSE = wellKnownSymbol('asyncDispose');
22
+ var TO_STRING_TAG = wellKnownSymbol('toStringTag');
23
+
24
+ var getDisposeMethod = DisposableStackHelpers.getDisposeMethod;
25
+ var addDisposableResource = DisposableStackHelpers.addDisposableResource;
26
+
27
+ var ASYNC_DISPOSABLE_STACK = 'AsyncDisposableStack';
28
+ var setInternalState = InternalStateModule.set;
29
+ var getAsyncDisposableStackInternalState = InternalStateModule.getterFor(ASYNC_DISPOSABLE_STACK);
30
+
31
+ var HINT = 'async-dispose';
32
+ var DISPOSED = 'disposed';
33
+ var PENDING = 'pending';
34
+
35
+ var ALREADY_DISPOSED = ASYNC_DISPOSABLE_STACK + ' already disposed';
36
+
37
+ var $AsyncDisposableStack = function AsyncDisposableStack() {
38
+ setInternalState(anInstance(this, AsyncDisposableStackPrototype), {
39
+ type: ASYNC_DISPOSABLE_STACK,
40
+ state: PENDING,
41
+ stack: []
42
+ });
43
+
44
+ if (!DESCRIPTORS) this.disposed = false;
45
+ };
46
+
47
+ var AsyncDisposableStackPrototype = $AsyncDisposableStack.prototype;
48
+
49
+ defineBuiltIns(AsyncDisposableStackPrototype, {
50
+ disposeAsync: function disposeAsync() {
51
+ var asyncDisposableStack = this;
52
+ return new Promise(function (resolve, reject) {
53
+ var internalState = getAsyncDisposableStackInternalState(asyncDisposableStack);
54
+ if (internalState.state == DISPOSED) return resolve(undefined);
55
+ internalState.state = DISPOSED;
56
+ if (!DESCRIPTORS) asyncDisposableStack.disposed = true;
57
+ var stack = internalState.stack;
58
+ var i = stack.length;
59
+ var thrown = false;
60
+ var suppressed;
61
+
62
+ var handleError = function (result) {
63
+ if (thrown) {
64
+ suppressed = new SuppressedError(result, suppressed);
65
+ } else {
66
+ thrown = true;
67
+ suppressed = result;
68
+ }
69
+
70
+ loop();
71
+ };
72
+
73
+ var loop = function () {
74
+ if (i) {
75
+ var disposeMethod = stack[--i];
76
+ stack[i] = null;
77
+ try {
78
+ Promise.resolve(disposeMethod()).then(loop, handleError);
79
+ } catch (error) {
80
+ handleError(error);
81
+ }
82
+ } else {
83
+ internalState.stack = null;
84
+ thrown ? reject(suppressed) : resolve(undefined);
85
+ }
86
+ };
87
+
88
+ loop();
89
+ });
90
+ },
91
+ use: function use(value) {
92
+ var internalState = getAsyncDisposableStackInternalState(this);
93
+ if (internalState.state == DISPOSED) throw $ReferenceError(ALREADY_DISPOSED);
94
+ if (!isNullOrUndefined(value)) {
95
+ anObject(value);
96
+ var method = aCallable(getDisposeMethod(value, HINT));
97
+ addDisposableResource(internalState, value, HINT, method);
98
+ } return value;
99
+ },
100
+ adopt: function adopt(value, onDispose) {
101
+ var internalState = getAsyncDisposableStackInternalState(this);
102
+ if (internalState.state == DISPOSED) throw $ReferenceError(ALREADY_DISPOSED);
103
+ aCallable(onDispose);
104
+ addDisposableResource(internalState, undefined, HINT, function () {
105
+ onDispose(value);
106
+ });
107
+ return value;
108
+ },
109
+ defer: function defer(onDispose) {
110
+ var internalState = getAsyncDisposableStackInternalState(this);
111
+ if (internalState.state == DISPOSED) throw $ReferenceError(ALREADY_DISPOSED);
112
+ aCallable(onDispose);
113
+ addDisposableResource(internalState, undefined, HINT, onDispose);
114
+ },
115
+ move: function move() {
116
+ var internalState = getAsyncDisposableStackInternalState(this);
117
+ if (internalState.state == DISPOSED) throw $ReferenceError(ALREADY_DISPOSED);
118
+ var newAsyncDisposableStack = new $AsyncDisposableStack();
119
+ getAsyncDisposableStackInternalState(newAsyncDisposableStack).stack = internalState.stack;
120
+ internalState.stack = [];
121
+ return newAsyncDisposableStack;
122
+ }
123
+ });
124
+
125
+ if (DESCRIPTORS) defineBuiltInAccessor(AsyncDisposableStackPrototype, 'disposed', {
126
+ configurable: true,
127
+ get: function disposed() {
128
+ return getAsyncDisposableStackInternalState(this).state == DISPOSED;
129
+ }
130
+ });
131
+
132
+ defineBuiltIn(AsyncDisposableStackPrototype, ASYNC_DISPOSE, AsyncDisposableStackPrototype.disposeAsync, { name: 'disposeAsync' });
133
+ defineBuiltIn(AsyncDisposableStackPrototype, TO_STRING_TAG, ASYNC_DISPOSABLE_STACK, { nonWritable: true });
134
+
135
+ $({ global: true, constructor: true, forced: true }, {
136
+ AsyncDisposableStack: $AsyncDisposableStack
137
+ });
@@ -1,8 +1,9 @@
1
1
  // TODO: Remove from `core-js@4`
2
- // https://github.com/tc39/proposal-iterator-helpers
3
2
  var $ = require('../internals/export');
4
3
  var indexed = require('../internals/async-iterator-indexed');
5
4
 
5
+ // `AsyncIterator.prototype.asIndexedPairs` method
6
+ // https://github.com/tc39/proposal-iterator-helpers
6
7
  $({ target: 'AsyncIterator', name: 'indexed', proto: true, real: true, forced: true }, {
7
8
  asIndexedPairs: indexed
8
9
  });
@@ -0,0 +1,26 @@
1
+ 'use strict';
2
+ // https://github.com/tc39/proposal-async-explicit-resource-management
3
+ var call = require('../internals/function-call');
4
+ var defineBuiltIn = require('../internals/define-built-in');
5
+ var getBuiltIn = require('../internals/get-built-in');
6
+ var getMethod = require('../internals/get-method');
7
+ var hasOwn = require('../internals/has-own-property');
8
+ var wellKnownSymbol = require('../internals/well-known-symbol');
9
+ var AsyncIteratorPrototype = require('../internals/async-iterator-prototype');
10
+
11
+ var ASYNC_DISPOSE = wellKnownSymbol('asyncDispose');
12
+ var Promise = getBuiltIn('Promise');
13
+
14
+ if (!hasOwn(AsyncIteratorPrototype, ASYNC_DISPOSE)) {
15
+ defineBuiltIn(AsyncIteratorPrototype, ASYNC_DISPOSE, function () {
16
+ var O = this;
17
+ return new Promise(function (resolve, reject) {
18
+ var $return = getMethod(O, 'return');
19
+ if ($return) {
20
+ Promise.resolve(call($return, O)).then(function () {
21
+ resolve(undefined);
22
+ }, reject);
23
+ } else resolve(undefined);
24
+ });
25
+ });
26
+ }