core-js 3.15.2 → 3.16.3

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 (602) hide show
  1. package/README.md +1 -1
  2. package/es/aggregate-error.js +1 -1
  3. package/es/array/entries.js +1 -0
  4. package/es/array/index.js +2 -1
  5. package/es/array/iterator.js +1 -0
  6. package/es/array/keys.js +1 -0
  7. package/es/array/values.js +1 -0
  8. package/es/array/virtual/entries.js +1 -0
  9. package/es/array/virtual/index.js +1 -0
  10. package/es/array/virtual/iterator.js +1 -0
  11. package/es/array/virtual/keys.js +1 -0
  12. package/es/array/virtual/values.js +1 -0
  13. package/es/escape.js +2 -2
  14. package/es/get-iterator-method.js +5 -0
  15. package/es/get-iterator.js +5 -0
  16. package/es/is-iterable.js +5 -0
  17. package/es/map/index.js +1 -1
  18. package/es/promise/all-settled.js +2 -1
  19. package/es/promise/any.js +2 -1
  20. package/es/promise/finally.js +1 -0
  21. package/es/promise/index.js +1 -1
  22. package/es/reflect/index.js +1 -0
  23. package/es/reflect/to-string-tag.js +1 -0
  24. package/es/regexp/constructor.js +3 -0
  25. package/es/regexp/match.js +1 -0
  26. package/es/regexp/replace.js +1 -0
  27. package/es/regexp/search.js +1 -0
  28. package/es/regexp/split.js +1 -0
  29. package/es/set/index.js +2 -2
  30. package/es/string/index.js +1 -0
  31. package/es/string/iterator.js +1 -0
  32. package/es/string/match-all.js +2 -0
  33. package/es/string/replace-all.js +2 -0
  34. package/es/string/virtual/index.js +2 -0
  35. package/es/string/virtual/iterator.js +1 -0
  36. package/es/string/virtual/match-all.js +2 -0
  37. package/es/string/virtual/replace-all.js +2 -0
  38. package/es/symbol/is-concat-spreadable.js +1 -1
  39. package/es/symbol/iterator.js +3 -2
  40. package/es/symbol/match-all.js +2 -0
  41. package/es/symbol/match.js +1 -0
  42. package/es/symbol/replace.js +1 -0
  43. package/es/symbol/search.js +1 -0
  44. package/es/symbol/split.js +1 -0
  45. package/es/symbol/to-primitive.js +1 -0
  46. package/es/symbol/to-string-tag.js +2 -2
  47. package/es/typed-array/entries.js +1 -0
  48. package/es/typed-array/iterator.js +1 -0
  49. package/es/typed-array/keys.js +1 -0
  50. package/es/typed-array/methods.js +2 -1
  51. package/es/typed-array/values.js +1 -0
  52. package/es/unescape.js +2 -2
  53. package/es/weak-map/index.js +1 -1
  54. package/es/weak-set/index.js +1 -1
  55. package/features/array/concat.js +1 -1
  56. package/features/array/copy-within.js +1 -1
  57. package/features/array/entries.js +1 -1
  58. package/features/array/every.js +1 -1
  59. package/features/array/fill.js +1 -1
  60. package/features/array/filter-out.js +1 -0
  61. package/features/array/filter-reject.js +4 -0
  62. package/features/array/filter.js +1 -1
  63. package/features/array/find-index.js +1 -1
  64. package/features/array/find.js +1 -1
  65. package/features/array/flat-map.js +1 -1
  66. package/features/array/flat.js +1 -1
  67. package/features/array/for-each.js +1 -1
  68. package/features/array/from.js +1 -1
  69. package/features/array/group-by.js +4 -0
  70. package/features/array/includes.js +1 -1
  71. package/features/array/index-of.js +1 -1
  72. package/features/array/index.js +4 -1
  73. package/features/array/is-array.js +1 -1
  74. package/features/array/iterator.js +1 -1
  75. package/features/array/join.js +1 -1
  76. package/features/array/keys.js +1 -1
  77. package/features/array/last-index-of.js +1 -1
  78. package/features/array/map.js +1 -1
  79. package/features/array/of.js +1 -1
  80. package/features/array/reduce-right.js +1 -1
  81. package/features/array/reduce.js +1 -1
  82. package/features/array/reverse.js +1 -1
  83. package/features/array/slice.js +1 -1
  84. package/features/array/some.js +1 -1
  85. package/features/array/sort.js +1 -1
  86. package/features/array/splice.js +1 -1
  87. package/features/array/values.js +1 -1
  88. package/features/array/virtual/concat.js +1 -1
  89. package/features/array/virtual/copy-within.js +1 -1
  90. package/features/array/virtual/entries.js +1 -1
  91. package/features/array/virtual/every.js +1 -1
  92. package/features/array/virtual/fill.js +1 -1
  93. package/features/array/virtual/filter-out.js +1 -0
  94. package/features/array/virtual/filter-reject.js +4 -0
  95. package/features/array/virtual/filter.js +1 -1
  96. package/features/array/virtual/find-index.js +1 -1
  97. package/features/array/virtual/find.js +1 -1
  98. package/features/array/virtual/flat-map.js +1 -1
  99. package/features/array/virtual/flat.js +1 -1
  100. package/features/array/virtual/for-each.js +1 -1
  101. package/features/array/virtual/group-by.js +4 -0
  102. package/features/array/virtual/includes.js +1 -1
  103. package/features/array/virtual/index-of.js +1 -1
  104. package/features/array/virtual/index.js +4 -1
  105. package/features/array/virtual/iterator.js +1 -1
  106. package/features/array/virtual/join.js +1 -1
  107. package/features/array/virtual/keys.js +1 -1
  108. package/features/array/virtual/last-index-of.js +1 -1
  109. package/features/array/virtual/map.js +1 -1
  110. package/features/array/virtual/reduce-right.js +1 -1
  111. package/features/array/virtual/reduce.js +1 -1
  112. package/features/array/virtual/reverse.js +1 -1
  113. package/features/array/virtual/slice.js +1 -1
  114. package/features/array/virtual/some.js +1 -1
  115. package/features/array/virtual/sort.js +1 -1
  116. package/features/array/virtual/splice.js +1 -1
  117. package/features/array/virtual/values.js +1 -1
  118. package/features/array-buffer/constructor.js +1 -1
  119. package/features/array-buffer/index.js +1 -1
  120. package/features/array-buffer/is-view.js +1 -1
  121. package/features/array-buffer/slice.js +1 -1
  122. package/features/async-iterator/as-indexed-pairs.js +0 -2
  123. package/features/async-iterator/drop.js +0 -2
  124. package/features/async-iterator/every.js +0 -2
  125. package/features/async-iterator/filter.js +0 -2
  126. package/features/async-iterator/find.js +0 -2
  127. package/features/async-iterator/flat-map.js +0 -2
  128. package/features/async-iterator/for-each.js +0 -2
  129. package/features/async-iterator/from.js +1 -0
  130. package/features/async-iterator/index.js +1 -0
  131. package/features/async-iterator/map.js +0 -2
  132. package/features/async-iterator/reduce.js +0 -2
  133. package/features/async-iterator/some.js +0 -2
  134. package/features/async-iterator/take.js +0 -2
  135. package/features/async-iterator/to-array.js +0 -2
  136. package/features/data-view/index.js +1 -1
  137. package/features/date/index.js +1 -1
  138. package/features/date/now.js +1 -1
  139. package/features/date/to-iso-string.js +1 -1
  140. package/features/date/to-json.js +1 -1
  141. package/features/date/to-primitive.js +1 -1
  142. package/features/date/to-string.js +1 -1
  143. package/features/function/bind.js +1 -1
  144. package/features/function/has-instance.js +1 -1
  145. package/features/function/index.js +1 -1
  146. package/features/function/name.js +1 -1
  147. package/features/function/virtual/bind.js +1 -1
  148. package/features/function/virtual/index.js +1 -1
  149. package/features/get-iterator-method.js +2 -4
  150. package/features/get-iterator.js +2 -4
  151. package/features/global-this.js +1 -1
  152. package/features/index.js +4 -0
  153. package/features/instance/bind.js +1 -1
  154. package/features/instance/code-point-at.js +1 -1
  155. package/features/instance/concat.js +1 -1
  156. package/features/instance/copy-within.js +1 -1
  157. package/features/instance/ends-with.js +1 -1
  158. package/features/instance/every.js +1 -1
  159. package/features/instance/fill.js +1 -1
  160. package/features/instance/filter-out.js +1 -0
  161. package/features/instance/filter-reject.js +8 -0
  162. package/features/instance/filter.js +1 -1
  163. package/features/instance/find-index.js +1 -1
  164. package/features/instance/find.js +1 -1
  165. package/features/instance/flags.js +1 -1
  166. package/features/instance/flat-map.js +1 -1
  167. package/features/instance/flat.js +1 -1
  168. package/features/instance/group-by.js +8 -0
  169. package/features/instance/includes.js +1 -1
  170. package/features/instance/index-of.js +1 -1
  171. package/features/instance/last-index-of.js +1 -1
  172. package/features/instance/map.js +1 -1
  173. package/features/instance/match-all.js +1 -1
  174. package/features/instance/pad-end.js +1 -1
  175. package/features/instance/pad-start.js +1 -1
  176. package/features/instance/reduce-right.js +1 -1
  177. package/features/instance/reduce.js +1 -1
  178. package/features/instance/repeat.js +1 -1
  179. package/features/instance/reverse.js +1 -1
  180. package/features/instance/slice.js +1 -1
  181. package/features/instance/some.js +1 -1
  182. package/features/instance/sort.js +1 -1
  183. package/features/instance/splice.js +1 -1
  184. package/features/instance/starts-with.js +1 -1
  185. package/features/instance/trim-end.js +1 -1
  186. package/features/instance/trim-left.js +1 -1
  187. package/features/instance/trim-right.js +1 -1
  188. package/features/instance/trim-start.js +1 -1
  189. package/features/instance/trim.js +1 -1
  190. package/features/is-iterable.js +2 -4
  191. package/features/iterator/as-indexed-pairs.js +0 -2
  192. package/features/iterator/drop.js +0 -2
  193. package/features/iterator/every.js +0 -2
  194. package/features/iterator/filter.js +0 -2
  195. package/features/iterator/find.js +0 -2
  196. package/features/iterator/flat-map.js +0 -2
  197. package/features/iterator/for-each.js +0 -2
  198. package/features/iterator/from.js +1 -0
  199. package/features/iterator/index.js +1 -0
  200. package/features/iterator/map.js +0 -2
  201. package/features/iterator/reduce.js +0 -2
  202. package/features/iterator/some.js +0 -2
  203. package/features/iterator/take.js +0 -2
  204. package/features/iterator/to-array.js +0 -2
  205. package/features/json/index.js +1 -1
  206. package/features/json/stringify.js +1 -1
  207. package/features/json/to-string-tag.js +1 -1
  208. package/features/map/from.js +1 -0
  209. package/features/map/index.js +1 -1
  210. package/features/map/of.js +1 -2
  211. package/features/math/acosh.js +1 -1
  212. package/features/math/asinh.js +1 -1
  213. package/features/math/atanh.js +1 -1
  214. package/features/math/cbrt.js +1 -1
  215. package/features/math/clz32.js +1 -1
  216. package/features/math/cosh.js +1 -1
  217. package/features/math/expm1.js +1 -1
  218. package/features/math/fround.js +1 -1
  219. package/features/math/hypot.js +1 -1
  220. package/features/math/imul.js +1 -1
  221. package/features/math/index.js +1 -1
  222. package/features/math/log10.js +1 -1
  223. package/features/math/log1p.js +1 -1
  224. package/features/math/log2.js +1 -1
  225. package/features/math/sign.js +1 -1
  226. package/features/math/sinh.js +1 -1
  227. package/features/math/tanh.js +1 -1
  228. package/features/math/to-string-tag.js +1 -1
  229. package/features/math/trunc.js +1 -1
  230. package/features/number/constructor.js +1 -1
  231. package/features/number/epsilon.js +1 -1
  232. package/features/number/index.js +1 -1
  233. package/features/number/is-finite.js +1 -1
  234. package/features/number/is-integer.js +1 -1
  235. package/features/number/is-nan.js +1 -1
  236. package/features/number/is-safe-integer.js +1 -1
  237. package/features/number/max-safe-integer.js +1 -1
  238. package/features/number/min-safe-integer.js +1 -1
  239. package/features/number/parse-float.js +1 -1
  240. package/features/number/parse-int.js +1 -1
  241. package/features/number/range.js +1 -0
  242. package/features/number/to-fixed.js +1 -1
  243. package/features/number/to-precision.js +1 -1
  244. package/features/number/virtual/index.js +1 -1
  245. package/features/number/virtual/to-fixed.js +1 -1
  246. package/features/number/virtual/to-precision.js +1 -1
  247. package/features/object/assign.js +1 -1
  248. package/features/object/create.js +1 -1
  249. package/features/object/define-getter.js +1 -1
  250. package/features/object/define-properties.js +1 -1
  251. package/features/object/define-property.js +1 -1
  252. package/features/object/define-setter.js +1 -1
  253. package/features/object/entries.js +1 -1
  254. package/features/object/freeze.js +1 -1
  255. package/features/object/from-entries.js +1 -1
  256. package/features/object/get-own-property-descriptor.js +1 -1
  257. package/features/object/get-own-property-descriptors.js +1 -1
  258. package/features/object/get-own-property-names.js +1 -1
  259. package/features/object/get-own-property-symbols.js +1 -1
  260. package/features/object/get-prototype-of.js +1 -1
  261. package/features/object/index.js +1 -1
  262. package/features/object/is-extensible.js +1 -1
  263. package/features/object/is-frozen.js +1 -1
  264. package/features/object/is-sealed.js +1 -1
  265. package/features/object/is.js +1 -1
  266. package/features/object/keys.js +1 -1
  267. package/features/object/lookup-getter.js +1 -1
  268. package/features/object/lookup-setter.js +1 -1
  269. package/features/object/prevent-extensions.js +1 -1
  270. package/features/object/seal.js +1 -1
  271. package/features/object/set-prototype-of.js +1 -1
  272. package/features/object/to-string.js +1 -1
  273. package/features/object/values.js +1 -1
  274. package/features/parse-float.js +1 -1
  275. package/features/parse-int.js +1 -1
  276. package/features/promise/all-settled.js +1 -1
  277. package/features/promise/any.js +1 -1
  278. package/features/promise/finally.js +1 -1
  279. package/features/promise/index.js +1 -1
  280. package/features/reflect/apply.js +1 -1
  281. package/features/reflect/construct.js +1 -1
  282. package/features/reflect/define-property.js +1 -1
  283. package/features/reflect/delete-property.js +1 -1
  284. package/features/reflect/get-own-property-descriptor.js +1 -1
  285. package/features/reflect/get-prototype-of.js +1 -1
  286. package/features/reflect/get.js +1 -1
  287. package/features/reflect/has.js +1 -1
  288. package/features/reflect/index.js +1 -1
  289. package/features/reflect/is-extensible.js +1 -1
  290. package/features/reflect/own-keys.js +1 -1
  291. package/features/reflect/prevent-extensions.js +1 -1
  292. package/features/reflect/set-prototype-of.js +1 -1
  293. package/features/reflect/set.js +1 -1
  294. package/features/regexp/constructor.js +1 -1
  295. package/features/regexp/flags.js +1 -1
  296. package/features/regexp/index.js +1 -1
  297. package/features/regexp/match.js +1 -1
  298. package/features/regexp/replace.js +1 -1
  299. package/features/regexp/search.js +1 -1
  300. package/features/regexp/split.js +1 -1
  301. package/features/regexp/sticky.js +1 -1
  302. package/features/regexp/test.js +1 -1
  303. package/features/regexp/to-string.js +1 -1
  304. package/features/set/difference.js +1 -0
  305. package/features/set/from.js +1 -0
  306. package/features/set/index.js +1 -1
  307. package/features/set/intersection.js +3 -0
  308. package/features/set/is-disjoint-from.js +3 -0
  309. package/features/set/is-subset-of.js +1 -0
  310. package/features/set/is-superset-of.js +3 -0
  311. package/features/set/of.js +1 -2
  312. package/features/set/symmetric-difference.js +1 -0
  313. package/features/set/union.js +1 -0
  314. package/features/string/anchor.js +1 -1
  315. package/features/string/big.js +1 -1
  316. package/features/string/blink.js +1 -1
  317. package/features/string/bold.js +1 -1
  318. package/features/string/code-point-at.js +1 -1
  319. package/features/string/code-points.js +1 -0
  320. package/features/string/ends-with.js +1 -1
  321. package/features/string/fixed.js +1 -1
  322. package/features/string/fontcolor.js +1 -1
  323. package/features/string/fontsize.js +1 -1
  324. package/features/string/from-code-point.js +1 -1
  325. package/features/string/includes.js +1 -1
  326. package/features/string/index.js +1 -1
  327. package/features/string/italics.js +1 -1
  328. package/features/string/iterator.js +1 -1
  329. package/features/string/link.js +1 -1
  330. package/features/string/match-all.js +1 -1
  331. package/features/string/match.js +1 -1
  332. package/features/string/pad-end.js +1 -1
  333. package/features/string/pad-start.js +1 -1
  334. package/features/string/raw.js +1 -1
  335. package/features/string/repeat.js +1 -1
  336. package/features/string/replace-all.js +1 -1
  337. package/features/string/replace.js +1 -1
  338. package/features/string/search.js +1 -1
  339. package/features/string/small.js +1 -1
  340. package/features/string/split.js +1 -1
  341. package/features/string/starts-with.js +1 -1
  342. package/features/string/strike.js +1 -1
  343. package/features/string/sub.js +1 -1
  344. package/features/string/sup.js +1 -1
  345. package/features/string/trim-end.js +1 -1
  346. package/features/string/trim-left.js +1 -1
  347. package/features/string/trim-right.js +1 -1
  348. package/features/string/trim-start.js +1 -1
  349. package/features/string/trim.js +1 -1
  350. package/features/string/virtual/anchor.js +1 -1
  351. package/features/string/virtual/big.js +1 -1
  352. package/features/string/virtual/blink.js +1 -1
  353. package/features/string/virtual/bold.js +1 -1
  354. package/features/string/virtual/code-point-at.js +1 -1
  355. package/features/string/virtual/code-points.js +1 -0
  356. package/features/string/virtual/ends-with.js +1 -1
  357. package/features/string/virtual/fixed.js +1 -1
  358. package/features/string/virtual/fontcolor.js +1 -1
  359. package/features/string/virtual/fontsize.js +1 -1
  360. package/features/string/virtual/includes.js +1 -1
  361. package/features/string/virtual/index.js +1 -1
  362. package/features/string/virtual/italics.js +1 -1
  363. package/features/string/virtual/iterator.js +1 -1
  364. package/features/string/virtual/link.js +1 -1
  365. package/features/string/virtual/match-all.js +1 -1
  366. package/features/string/virtual/pad-end.js +1 -1
  367. package/features/string/virtual/pad-start.js +1 -1
  368. package/features/string/virtual/repeat.js +1 -1
  369. package/features/string/virtual/replace-all.js +1 -1
  370. package/features/string/virtual/small.js +1 -1
  371. package/features/string/virtual/starts-with.js +1 -1
  372. package/features/string/virtual/strike.js +1 -1
  373. package/features/string/virtual/sub.js +1 -1
  374. package/features/string/virtual/sup.js +1 -1
  375. package/features/string/virtual/trim-end.js +1 -1
  376. package/features/string/virtual/trim-left.js +1 -1
  377. package/features/string/virtual/trim-right.js +1 -1
  378. package/features/string/virtual/trim-start.js +1 -1
  379. package/features/string/virtual/trim.js +1 -1
  380. package/features/symbol/async-iterator.js +1 -1
  381. package/features/symbol/for.js +1 -1
  382. package/features/symbol/has-instance.js +1 -1
  383. package/features/symbol/index.js +1 -1
  384. package/features/symbol/is-concat-spreadable.js +1 -1
  385. package/features/symbol/iterator.js +1 -1
  386. package/features/symbol/key-for.js +1 -1
  387. package/features/symbol/match-all.js +1 -1
  388. package/features/symbol/match.js +1 -1
  389. package/features/symbol/replace.js +1 -1
  390. package/features/symbol/search.js +1 -1
  391. package/features/symbol/species.js +1 -1
  392. package/features/symbol/split.js +1 -1
  393. package/features/symbol/to-primitive.js +1 -1
  394. package/features/symbol/to-string-tag.js +1 -1
  395. package/features/symbol/unscopables.js +1 -1
  396. package/features/typed-array/copy-within.js +3 -1
  397. package/features/typed-array/entries.js +3 -1
  398. package/features/typed-array/every.js +3 -1
  399. package/features/typed-array/fill.js +3 -1
  400. package/features/typed-array/filter-out.js +1 -0
  401. package/features/typed-array/filter-reject.js +1 -0
  402. package/features/typed-array/filter.js +3 -1
  403. package/features/typed-array/find-index.js +3 -1
  404. package/features/typed-array/find.js +3 -1
  405. package/features/typed-array/float32-array.js +2 -1
  406. package/features/typed-array/float64-array.js +2 -1
  407. package/features/typed-array/for-each.js +3 -1
  408. package/features/typed-array/from.js +3 -1
  409. package/features/typed-array/group-by.js +1 -0
  410. package/features/typed-array/includes.js +3 -1
  411. package/features/typed-array/index-of.js +3 -1
  412. package/features/typed-array/index.js +4 -1
  413. package/features/typed-array/int16-array.js +2 -1
  414. package/features/typed-array/int32-array.js +2 -1
  415. package/features/typed-array/int8-array.js +2 -1
  416. package/features/typed-array/iterator.js +3 -1
  417. package/features/typed-array/join.js +3 -1
  418. package/features/typed-array/keys.js +3 -1
  419. package/features/typed-array/last-index-of.js +3 -1
  420. package/features/typed-array/map.js +3 -1
  421. package/features/typed-array/methods.js +12 -0
  422. package/features/typed-array/of.js +3 -1
  423. package/features/typed-array/reduce-right.js +3 -1
  424. package/features/typed-array/reduce.js +3 -1
  425. package/features/typed-array/reverse.js +3 -1
  426. package/features/typed-array/set.js +3 -1
  427. package/features/typed-array/slice.js +3 -1
  428. package/features/typed-array/some.js +3 -1
  429. package/features/typed-array/sort.js +3 -1
  430. package/features/typed-array/subarray.js +3 -1
  431. package/features/typed-array/to-locale-string.js +3 -1
  432. package/features/typed-array/to-string.js +3 -1
  433. package/features/typed-array/uint16-array.js +2 -1
  434. package/features/typed-array/uint32-array.js +2 -1
  435. package/features/typed-array/uint8-array.js +2 -1
  436. package/features/typed-array/uint8-clamped-array.js +2 -1
  437. package/features/typed-array/values.js +3 -1
  438. package/features/weak-map/from.js +1 -0
  439. package/features/weak-map/index.js +2 -1
  440. package/features/weak-map/of.js +1 -2
  441. package/features/weak-set/from.js +1 -0
  442. package/features/weak-set/index.js +2 -1
  443. package/features/weak-set/of.js +1 -2
  444. package/internals/array-buffer-view-core.js +16 -10
  445. package/internals/array-from-constructor-and-list.js +7 -0
  446. package/internals/array-group-by.js +33 -0
  447. package/internals/array-iteration-from-last.js +6 -6
  448. package/internals/array-iteration.js +6 -6
  449. package/internals/array-species-constructor.js +20 -0
  450. package/internals/array-species-create.js +2 -15
  451. package/internals/async-iterator-create-proxy.js +2 -1
  452. package/internals/collection.js +1 -1
  453. package/internals/create-html.js +3 -2
  454. package/internals/create-property.js +2 -2
  455. package/internals/date-to-primitive.js +5 -4
  456. package/internals/engine-is-ios-pebble.js +4 -0
  457. package/internals/engine-is-ios.js +1 -1
  458. package/internals/engine-v8-version.js +2 -1
  459. package/internals/get-built-in.js +1 -3
  460. package/internals/get-map-iterator.js +1 -4
  461. package/internals/get-set-iterator.js +1 -4
  462. package/internals/internal-metadata.js +32 -2
  463. package/internals/is-data-descriptor.js +5 -0
  464. package/internals/is-symbol.js +9 -0
  465. package/internals/microtask.js +2 -1
  466. package/internals/number-parse-float.js +2 -1
  467. package/internals/number-parse-int.js +2 -1
  468. package/internals/object-create.js +7 -3
  469. package/internals/object-define-property.js +2 -2
  470. package/internals/object-get-own-property-descriptor.js +2 -2
  471. package/internals/ordinary-to-primitive.js +11 -0
  472. package/internals/regexp-exec.js +6 -4
  473. package/internals/regexp-sticky-helpers.js +5 -6
  474. package/internals/regexp-unsupported-dot-all.js +5 -2
  475. package/internals/regexp-unsupported-ncg.js +5 -2
  476. package/internals/set-global.js +2 -2
  477. package/internals/shared.js +1 -1
  478. package/internals/string-multibyte.js +3 -2
  479. package/internals/string-pad.js +3 -2
  480. package/internals/string-repeat.js +2 -1
  481. package/internals/string-trim.js +2 -1
  482. package/internals/task.js +9 -4
  483. package/internals/to-primitive.js +17 -9
  484. package/internals/to-property-key.js +9 -0
  485. package/internals/to-string.js +6 -0
  486. package/internals/typed-array-constructor.js +13 -5
  487. package/internals/typed-array-from-species-and-list.js +3 -8
  488. package/internals/typed-array-species-constructor.js +11 -0
  489. package/modules/es.aggregate-error.js +2 -1
  490. package/modules/es.array.sort.js +2 -1
  491. package/modules/es.date.get-year.js +6 -1
  492. package/modules/es.date.to-json.js +1 -1
  493. package/modules/es.date.to-string.js +1 -1
  494. package/modules/es.escape.js +2 -1
  495. package/modules/es.number.constructor.js +3 -1
  496. package/modules/es.object.lookup-getter.js +2 -2
  497. package/modules/es.object.lookup-setter.js +2 -2
  498. package/modules/es.reflect.define-property.js +2 -2
  499. package/modules/es.reflect.get.js +4 -5
  500. package/modules/es.reflect.set.js +8 -6
  501. package/modules/es.regexp.constructor.js +3 -2
  502. package/modules/es.regexp.to-string.js +3 -2
  503. package/modules/es.string.ends-with.js +3 -2
  504. package/modules/es.string.includes.js +3 -2
  505. package/modules/es.string.iterator.js +2 -1
  506. package/modules/es.string.match-all.js +6 -5
  507. package/modules/es.string.match.js +7 -6
  508. package/modules/es.string.raw.js +3 -2
  509. package/modules/es.string.replace-all.js +7 -6
  510. package/modules/es.string.replace.js +12 -10
  511. package/modules/es.string.search.js +6 -5
  512. package/modules/es.string.split.js +8 -6
  513. package/modules/es.string.starts-with.js +3 -2
  514. package/modules/es.string.substr.js +2 -1
  515. package/modules/es.symbol.js +8 -13
  516. package/modules/es.typed-array.map.js +2 -3
  517. package/modules/es.typed-array.slice.js +3 -4
  518. package/modules/es.typed-array.subarray.js +3 -2
  519. package/modules/es.unescape.js +2 -1
  520. package/modules/es.weak-map.js +1 -1
  521. package/modules/esnext.array.filter-out.js +3 -2
  522. package/modules/esnext.array.filter-reject.js +14 -0
  523. package/modules/esnext.array.group-by.js +16 -0
  524. package/modules/esnext.async-iterator.as-indexed-pairs.js +1 -1
  525. package/modules/esnext.async-iterator.drop.js +1 -1
  526. package/modules/esnext.async-iterator.filter.js +1 -1
  527. package/modules/esnext.async-iterator.flat-map.js +1 -1
  528. package/modules/esnext.async-iterator.from.js +6 -2
  529. package/modules/esnext.async-iterator.map.js +1 -1
  530. package/modules/esnext.async-iterator.take.js +1 -1
  531. package/modules/esnext.map.merge.js +2 -1
  532. package/modules/esnext.string.at-alternative.js +3 -2
  533. package/modules/esnext.string.code-points.js +2 -1
  534. package/modules/esnext.typed-array.filter-out.js +3 -2
  535. package/modules/esnext.typed-array.filter-reject.js +14 -0
  536. package/modules/esnext.typed-array.group-by.js +14 -0
  537. package/modules/web.url-search-params.js +56 -36
  538. package/modules/web.url.js +14 -13
  539. package/package.json +3 -4
  540. package/postinstall.js +4 -3
  541. package/proposals/array-filtering.js +4 -0
  542. package/proposals/array-grouping.js +3 -0
  543. package/stable/aggregate-error.js +1 -0
  544. package/stable/dom-collections/index.js +1 -0
  545. package/stable/dom-collections/iterator.js +1 -0
  546. package/stable/get-iterator-method.js +4 -0
  547. package/stable/get-iterator.js +4 -0
  548. package/stable/is-iterable.js +4 -0
  549. package/stable/map/index.js +1 -0
  550. package/stable/object/from-entries.js +1 -0
  551. package/stable/object/index.js +1 -0
  552. package/stable/promise/all-settled.js +1 -0
  553. package/stable/promise/any.js +1 -0
  554. package/stable/promise/index.js +1 -0
  555. package/stable/set/index.js +1 -0
  556. package/stable/symbol/index.js +1 -0
  557. package/stable/symbol/iterator.js +1 -0
  558. package/stable/typed-array/copy-within.js +3 -1
  559. package/stable/typed-array/entries.js +3 -1
  560. package/stable/typed-array/every.js +3 -1
  561. package/stable/typed-array/fill.js +3 -1
  562. package/stable/typed-array/filter.js +3 -1
  563. package/stable/typed-array/find-index.js +3 -1
  564. package/stable/typed-array/find.js +3 -1
  565. package/stable/typed-array/float32-array.js +1 -0
  566. package/stable/typed-array/float64-array.js +1 -0
  567. package/stable/typed-array/for-each.js +3 -1
  568. package/stable/typed-array/from.js +3 -1
  569. package/stable/typed-array/includes.js +3 -1
  570. package/stable/typed-array/index-of.js +3 -1
  571. package/stable/typed-array/int16-array.js +1 -0
  572. package/stable/typed-array/int32-array.js +1 -0
  573. package/stable/typed-array/int8-array.js +1 -0
  574. package/stable/typed-array/iterator.js +3 -1
  575. package/stable/typed-array/join.js +3 -1
  576. package/stable/typed-array/keys.js +3 -1
  577. package/stable/typed-array/last-index-of.js +3 -1
  578. package/stable/typed-array/map.js +3 -1
  579. package/stable/typed-array/methods.js +3 -0
  580. package/stable/typed-array/of.js +3 -1
  581. package/stable/typed-array/reduce-right.js +3 -1
  582. package/stable/typed-array/reduce.js +3 -1
  583. package/stable/typed-array/reverse.js +3 -1
  584. package/stable/typed-array/set.js +3 -1
  585. package/stable/typed-array/slice.js +3 -1
  586. package/stable/typed-array/some.js +3 -1
  587. package/stable/typed-array/sort.js +3 -1
  588. package/stable/typed-array/subarray.js +3 -1
  589. package/stable/typed-array/to-locale-string.js +3 -1
  590. package/stable/typed-array/to-string.js +3 -1
  591. package/stable/typed-array/uint16-array.js +1 -0
  592. package/stable/typed-array/uint32-array.js +1 -0
  593. package/stable/typed-array/uint8-array.js +1 -0
  594. package/stable/typed-array/uint8-clamped-array.js +1 -0
  595. package/stable/typed-array/values.js +3 -1
  596. package/stable/url-search-params/index.js +1 -0
  597. package/stable/weak-map/index.js +1 -0
  598. package/stable/weak-set/index.js +1 -0
  599. package/stage/1.js +1 -0
  600. package/stage/2.js +0 -1
  601. package/stage/3.js +1 -0
  602. package/es/array/virtual/filter-out.js +0 -4
@@ -0,0 +1,16 @@
1
+ 'use strict';
2
+ var $ = require('../internals/export');
3
+ var $groupBy = require('../internals/array-group-by');
4
+ var arraySpeciesConstructor = require('../internals/array-species-constructor');
5
+ var addToUnscopables = require('../internals/add-to-unscopables');
6
+
7
+ // `Array.prototype.groupBy` method
8
+ // https://github.com/tc39/proposal-array-grouping
9
+ $({ target: 'Array', proto: true }, {
10
+ groupBy: function groupBy(callbackfn /* , thisArg */) {
11
+ var thisArg = arguments.length > 1 ? arguments[1] : undefined;
12
+ return $groupBy(this, callbackfn, thisArg, arraySpeciesConstructor);
13
+ }
14
+ });
15
+
16
+ addToUnscopables('groupBy');
@@ -4,7 +4,7 @@ var $ = require('../internals/export');
4
4
  var anObject = require('../internals/an-object');
5
5
  var createAsyncIteratorProxy = require('../internals/async-iterator-create-proxy');
6
6
 
7
- var AsyncIteratorProxy = createAsyncIteratorProxy(function (arg, Promise) {
7
+ var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise, arg) {
8
8
  var state = this;
9
9
  var iterator = state.iterator;
10
10
 
@@ -5,7 +5,7 @@ var anObject = require('../internals/an-object');
5
5
  var toPositiveInteger = require('../internals/to-positive-integer');
6
6
  var createAsyncIteratorProxy = require('../internals/async-iterator-create-proxy');
7
7
 
8
- var AsyncIteratorProxy = createAsyncIteratorProxy(function (arg, Promise) {
8
+ var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise, arg) {
9
9
  var state = this;
10
10
 
11
11
  return new Promise(function (resolve, reject) {
@@ -5,7 +5,7 @@ var aFunction = require('../internals/a-function');
5
5
  var anObject = require('../internals/an-object');
6
6
  var createAsyncIteratorProxy = require('../internals/async-iterator-create-proxy');
7
7
 
8
- var AsyncIteratorProxy = createAsyncIteratorProxy(function (arg, Promise) {
8
+ var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise, arg) {
9
9
  var state = this;
10
10
  var filterer = state.filterer;
11
11
 
@@ -6,7 +6,7 @@ var anObject = require('../internals/an-object');
6
6
  var createAsyncIteratorProxy = require('../internals/async-iterator-create-proxy');
7
7
  var getAsyncIteratorMethod = require('../internals/get-async-iterator-method');
8
8
 
9
- var AsyncIteratorProxy = createAsyncIteratorProxy(function (arg, Promise) {
9
+ var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise, arg) {
10
10
  var state = this;
11
11
  var mapper = state.mapper;
12
12
  var innerIterator, iteratorMethod;
@@ -9,8 +9,12 @@ var getAsyncIteratorMethod = require('../internals/get-async-iterator-method');
9
9
 
10
10
  var AsyncIterator = path.AsyncIterator;
11
11
 
12
- var AsyncIteratorProxy = createAsyncIteratorProxy(function (arg) {
13
- return anObject(this.next.call(this.iterator, arg));
12
+ var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise, arg, hasArg) {
13
+ var step = anObject(this.next.apply(this.iterator, hasArg ? [arg] : []));
14
+ var done = step.done;
15
+ return Promise.resolve(step.value).then(function (value) {
16
+ return { done: done, value: value };
17
+ });
14
18
  }, true);
15
19
 
16
20
  $({ target: 'AsyncIterator', stat: true }, {
@@ -5,7 +5,7 @@ var aFunction = require('../internals/a-function');
5
5
  var anObject = require('../internals/an-object');
6
6
  var createAsyncIteratorProxy = require('../internals/async-iterator-create-proxy');
7
7
 
8
- var AsyncIteratorProxy = createAsyncIteratorProxy(function (arg, Promise) {
8
+ var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise, arg) {
9
9
  var state = this;
10
10
  var mapper = state.mapper;
11
11
 
@@ -5,7 +5,7 @@ var anObject = require('../internals/an-object');
5
5
  var toPositiveInteger = require('../internals/to-positive-integer');
6
6
  var createAsyncIteratorProxy = require('../internals/async-iterator-create-proxy');
7
7
 
8
- var AsyncIteratorProxy = createAsyncIteratorProxy(function (arg, Promise) {
8
+ var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise, arg) {
9
9
  var iterator = this.iterator;
10
10
  var returnMethod, result;
11
11
  if (!this.remaining--) {
@@ -12,8 +12,9 @@ $({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {
12
12
  merge: function merge(iterable /* ...iterbles */) {
13
13
  var map = anObject(this);
14
14
  var setter = aFunction(map.set);
15
+ var argumentsLength = arguments.length;
15
16
  var i = 0;
16
- while (i < arguments.length) {
17
+ while (i < argumentsLength) {
17
18
  iterate(arguments[i++], setter, { that: map, AS_ENTRIES: true });
18
19
  }
19
20
  return map;
@@ -2,8 +2,9 @@
2
2
  'use strict';
3
3
  var $ = require('../internals/export');
4
4
  var requireObjectCoercible = require('../internals/require-object-coercible');
5
- var toLength = require('../internals/to-length');
6
5
  var toInteger = require('../internals/to-integer');
6
+ var toLength = require('../internals/to-length');
7
+ var toString = require('../internals/to-string');
7
8
  var fails = require('../internals/fails');
8
9
 
9
10
  var FORCED = fails(function () {
@@ -14,7 +15,7 @@ var FORCED = fails(function () {
14
15
  // https://github.com/tc39/proposal-relative-indexing-method
15
16
  $({ target: 'String', proto: true, forced: FORCED }, {
16
17
  at: function at(index) {
17
- var S = String(requireObjectCoercible(this));
18
+ var S = toString(requireObjectCoercible(this));
18
19
  var len = toLength(S.length);
19
20
  var relativeIndex = toInteger(index);
20
21
  var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex;
@@ -2,6 +2,7 @@
2
2
  var $ = require('../internals/export');
3
3
  var createIteratorConstructor = require('../internals/create-iterator-constructor');
4
4
  var requireObjectCoercible = require('../internals/require-object-coercible');
5
+ var toString = require('../internals/to-string');
5
6
  var InternalStateModule = require('../internals/internal-state');
6
7
  var StringMultibyteModule = require('../internals/string-multibyte');
7
8
 
@@ -33,6 +34,6 @@ var $StringIterator = createIteratorConstructor(function StringIterator(string)
33
34
  // https://github.com/tc39/proposal-string-prototype-codepoints
34
35
  $({ target: 'String', proto: true }, {
35
36
  codePoints: function codePoints() {
36
- return new $StringIterator(String(requireObjectCoercible(this)));
37
+ return new $StringIterator(toString(requireObjectCoercible(this)));
37
38
  }
38
39
  });
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
+ // TODO: Remove from `core-js@4`
2
3
  var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
3
- var $filterOut = require('../internals/array-iteration').filterOut;
4
+ var $filterReject = require('../internals/array-iteration').filterReject;
4
5
  var fromSpeciesAndList = require('../internals/typed-array-from-species-and-list');
5
6
 
6
7
  var aTypedArray = ArrayBufferViewCore.aTypedArray;
@@ -9,6 +10,6 @@ var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
9
10
  // `%TypedArray%.prototype.filterOut` method
10
11
  // https://github.com/tc39/proposal-array-filtering
11
12
  exportTypedArrayMethod('filterOut', function filterOut(callbackfn /* , thisArg */) {
12
- var list = $filterOut(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
13
+ var list = $filterReject(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
13
14
  return fromSpeciesAndList(this, list);
14
15
  });
@@ -0,0 +1,14 @@
1
+ 'use strict';
2
+ var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
3
+ var $filterReject = require('../internals/array-iteration').filterReject;
4
+ var fromSpeciesAndList = require('../internals/typed-array-from-species-and-list');
5
+
6
+ var aTypedArray = ArrayBufferViewCore.aTypedArray;
7
+ var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
8
+
9
+ // `%TypedArray%.prototype.filterReject` method
10
+ // https://github.com/tc39/proposal-array-filtering
11
+ exportTypedArrayMethod('filterReject', function filterReject(callbackfn /* , thisArg */) {
12
+ var list = $filterReject(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
13
+ return fromSpeciesAndList(this, list);
14
+ });
@@ -0,0 +1,14 @@
1
+ 'use strict';
2
+ var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
3
+ var $groupBy = require('../internals/array-group-by');
4
+ var typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');
5
+
6
+ var aTypedArray = ArrayBufferViewCore.aTypedArray;
7
+ var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
8
+
9
+ // `%TypedArray%.prototype.groupBy` method
10
+ // https://github.com/tc39/proposal-array-grouping
11
+ exportTypedArrayMethod('groupBy', function groupBy(callbackfn /* , thisArg */) {
12
+ var thisArg = arguments.length > 1 ? arguments[1] : undefined;
13
+ return $groupBy(aTypedArray(this), callbackfn, thisArg, typedArraySpeciesConstructor);
14
+ });
@@ -15,13 +15,16 @@ var bind = require('../internals/function-bind-context');
15
15
  var classof = require('../internals/classof');
16
16
  var anObject = require('../internals/an-object');
17
17
  var isObject = require('../internals/is-object');
18
+ var $toString = require('../internals/to-string');
18
19
  var create = require('../internals/object-create');
19
20
  var createPropertyDescriptor = require('../internals/create-property-descriptor');
20
21
  var getIterator = require('../internals/get-iterator');
21
22
  var getIteratorMethod = require('../internals/get-iterator-method');
22
23
  var wellKnownSymbol = require('../internals/well-known-symbol');
23
24
 
24
- var $fetch = getBuiltIn('fetch');
25
+ var nativeFetch = getBuiltIn('fetch');
26
+ var NativeRequest = getBuiltIn('Request');
27
+ var RequestPrototype = NativeRequest && NativeRequest.prototype;
25
28
  var Headers = getBuiltIn('Headers');
26
29
  var ITERATOR = wellKnownSymbol('iterator');
27
30
  var URL_SEARCH_PARAMS = 'URLSearchParams';
@@ -150,11 +153,14 @@ var URLSearchParamsConstructor = function URLSearchParams(/* init */) {
150
153
  (second = entryNext.call(entryIterator)).done ||
151
154
  !entryNext.call(entryIterator).done
152
155
  ) throw TypeError('Expected sequence with length 2');
153
- entries.push({ key: first.value + '', value: second.value + '' });
156
+ entries.push({ key: $toString(first.value), value: $toString(second.value) });
154
157
  }
155
- } else for (key in init) if (hasOwn(init, key)) entries.push({ key: key, value: init[key] + '' });
158
+ } else for (key in init) if (hasOwn(init, key)) entries.push({ key: key, value: $toString(init[key]) });
156
159
  } else {
157
- parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + '');
160
+ parseSearchParams(
161
+ entries,
162
+ typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : $toString(init)
163
+ );
158
164
  }
159
165
  }
160
166
  };
@@ -167,7 +173,7 @@ redefineAll(URLSearchParamsPrototype, {
167
173
  append: function append(name, value) {
168
174
  validateArgumentsLength(arguments.length, 2);
169
175
  var state = getInternalParamsState(this);
170
- state.entries.push({ key: name + '', value: value + '' });
176
+ state.entries.push({ key: $toString(name), value: $toString(value) });
171
177
  state.updateURL();
172
178
  },
173
179
  // `URLSearchParams.prototype.delete` method
@@ -176,7 +182,7 @@ redefineAll(URLSearchParamsPrototype, {
176
182
  validateArgumentsLength(arguments.length, 1);
177
183
  var state = getInternalParamsState(this);
178
184
  var entries = state.entries;
179
- var key = name + '';
185
+ var key = $toString(name);
180
186
  var index = 0;
181
187
  while (index < entries.length) {
182
188
  if (entries[index].key === key) entries.splice(index, 1);
@@ -189,7 +195,7 @@ redefineAll(URLSearchParamsPrototype, {
189
195
  get: function get(name) {
190
196
  validateArgumentsLength(arguments.length, 1);
191
197
  var entries = getInternalParamsState(this).entries;
192
- var key = name + '';
198
+ var key = $toString(name);
193
199
  var index = 0;
194
200
  for (; index < entries.length; index++) {
195
201
  if (entries[index].key === key) return entries[index].value;
@@ -201,7 +207,7 @@ redefineAll(URLSearchParamsPrototype, {
201
207
  getAll: function getAll(name) {
202
208
  validateArgumentsLength(arguments.length, 1);
203
209
  var entries = getInternalParamsState(this).entries;
204
- var key = name + '';
210
+ var key = $toString(name);
205
211
  var result = [];
206
212
  var index = 0;
207
213
  for (; index < entries.length; index++) {
@@ -214,7 +220,7 @@ redefineAll(URLSearchParamsPrototype, {
214
220
  has: function has(name) {
215
221
  validateArgumentsLength(arguments.length, 1);
216
222
  var entries = getInternalParamsState(this).entries;
217
- var key = name + '';
223
+ var key = $toString(name);
218
224
  var index = 0;
219
225
  while (index < entries.length) {
220
226
  if (entries[index++].key === key) return true;
@@ -228,8 +234,8 @@ redefineAll(URLSearchParamsPrototype, {
228
234
  var state = getInternalParamsState(this);
229
235
  var entries = state.entries;
230
236
  var found = false;
231
- var key = name + '';
232
- var val = value + '';
237
+ var key = $toString(name);
238
+ var val = $toString(value);
233
239
  var index = 0;
234
240
  var entry;
235
241
  for (; index < entries.length; index++) {
@@ -313,32 +319,46 @@ $({ global: true, forced: !USE_NATIVE_URL }, {
313
319
  URLSearchParams: URLSearchParamsConstructor
314
320
  });
315
321
 
316
- // Wrap `fetch` for correct work with polyfilled `URLSearchParams`
317
- // https://github.com/zloirock/core-js/issues/674
318
- if (!USE_NATIVE_URL && typeof $fetch == 'function' && typeof Headers == 'function') {
319
- $({ global: true, enumerable: true, forced: true }, {
320
- fetch: function fetch(input /* , init */) {
321
- var args = [input];
322
- var init, body, headers;
323
- if (arguments.length > 1) {
324
- init = arguments[1];
325
- if (isObject(init)) {
326
- body = init.body;
327
- if (classof(body) === URL_SEARCH_PARAMS) {
328
- headers = init.headers ? new Headers(init.headers) : new Headers();
329
- if (!headers.has('content-type')) {
330
- headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');
331
- }
332
- init = create(init, {
333
- body: createPropertyDescriptor(0, String(body)),
334
- headers: createPropertyDescriptor(0, headers)
335
- });
336
- }
322
+ // Wrap `fetch` and `Request` for correct work with polyfilled `URLSearchParams`
323
+ if (!USE_NATIVE_URL && typeof Headers == 'function') {
324
+ var wrapRequestOptions = function (init) {
325
+ if (isObject(init)) {
326
+ var body = init.body;
327
+ var headers;
328
+ if (classof(body) === URL_SEARCH_PARAMS) {
329
+ headers = init.headers ? new Headers(init.headers) : new Headers();
330
+ if (!headers.has('content-type')) {
331
+ headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');
337
332
  }
338
- args.push(init);
339
- } return $fetch.apply(this, args);
340
- }
341
- });
333
+ return create(init, {
334
+ body: createPropertyDescriptor(0, String(body)),
335
+ headers: createPropertyDescriptor(0, headers)
336
+ });
337
+ }
338
+ } return init;
339
+ };
340
+
341
+ if (typeof nativeFetch == 'function') {
342
+ $({ global: true, enumerable: true, forced: true }, {
343
+ fetch: function fetch(input /* , init */) {
344
+ return nativeFetch(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {});
345
+ }
346
+ });
347
+ }
348
+
349
+ if (typeof NativeRequest == 'function') {
350
+ var RequestConstructor = function Request(input /* , init */) {
351
+ anInstance(this, RequestConstructor, 'Request');
352
+ return new NativeRequest(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {});
353
+ };
354
+
355
+ RequestPrototype.constructor = RequestConstructor;
356
+ RequestConstructor.prototype = RequestPrototype;
357
+
358
+ $({ global: true, forced: true }, {
359
+ Request: RequestConstructor
360
+ });
361
+ }
342
362
  }
343
363
 
344
364
  module.exports = {
@@ -13,6 +13,7 @@ var assign = require('../internals/object-assign');
13
13
  var arrayFrom = require('../internals/array-from');
14
14
  var codeAt = require('../internals/string-multibyte').codeAt;
15
15
  var toASCII = require('../internals/string-punycode-to-ascii');
16
+ var $toString = require('../internals/to-string');
16
17
  var setToStringTag = require('../internals/set-to-string-tag');
17
18
  var URLSearchParamsModule = require('../modules/web.url-search-params');
18
19
  var InternalStateModule = require('../internals/internal-state');
@@ -41,7 +42,7 @@ var HEX = /^[\dA-Fa-f]+$/;
41
42
  /* eslint-disable no-control-regex -- safe */
42
43
  var FORBIDDEN_HOST_CODE_POINT = /[\0\t\n\r #%/:<>?@[\\\]^|]/;
43
44
  var FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\0\t\n\r #/:<>?@[\\\]^|]/;
44
- var LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\u0000-\u001F ]+|[\u0000-\u001F ]+$/g;
45
+ var LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\u0000-\u0020]+|[\u0000-\u0020]+$/g;
45
46
  var TAB_AND_NEW_LINE = /[\t\n\r]/g;
46
47
  /* eslint-enable no-control-regex -- safe */
47
48
  var EOF;
@@ -735,13 +736,13 @@ var parseURL = function (url, input, stateOverride, base) {
735
736
  var URLConstructor = function URL(url /* , base */) {
736
737
  var that = anInstance(this, URLConstructor, 'URL');
737
738
  var base = arguments.length > 1 ? arguments[1] : undefined;
738
- var urlString = String(url);
739
+ var urlString = $toString(url);
739
740
  var state = setInternalState(that, { type: 'URL' });
740
741
  var baseState, failure;
741
742
  if (base !== undefined) {
742
743
  if (base instanceof URLConstructor) baseState = getInternalURLState(base);
743
744
  else {
744
- failure = parseURL(baseState = {}, String(base));
745
+ failure = parseURL(baseState = {}, $toString(base));
745
746
  if (failure) throw TypeError(failure);
746
747
  }
747
748
  }
@@ -870,7 +871,7 @@ if (DESCRIPTORS) {
870
871
  // https://url.spec.whatwg.org/#dom-url-href
871
872
  href: accessorDescriptor(serializeURL, function (href) {
872
873
  var url = getInternalURLState(this);
873
- var urlString = String(href);
874
+ var urlString = $toString(href);
874
875
  var failure = parseURL(url, urlString);
875
876
  if (failure) throw TypeError(failure);
876
877
  getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);
@@ -882,13 +883,13 @@ if (DESCRIPTORS) {
882
883
  // https://url.spec.whatwg.org/#dom-url-protocol
883
884
  protocol: accessorDescriptor(getProtocol, function (protocol) {
884
885
  var url = getInternalURLState(this);
885
- parseURL(url, String(protocol) + ':', SCHEME_START);
886
+ parseURL(url, $toString(protocol) + ':', SCHEME_START);
886
887
  }),
887
888
  // `URL.prototype.username` accessors pair
888
889
  // https://url.spec.whatwg.org/#dom-url-username
889
890
  username: accessorDescriptor(getUsername, function (username) {
890
891
  var url = getInternalURLState(this);
891
- var codePoints = arrayFrom(String(username));
892
+ var codePoints = arrayFrom($toString(username));
892
893
  if (cannotHaveUsernamePasswordPort(url)) return;
893
894
  url.username = '';
894
895
  for (var i = 0; i < codePoints.length; i++) {
@@ -899,7 +900,7 @@ if (DESCRIPTORS) {
899
900
  // https://url.spec.whatwg.org/#dom-url-password
900
901
  password: accessorDescriptor(getPassword, function (password) {
901
902
  var url = getInternalURLState(this);
902
- var codePoints = arrayFrom(String(password));
903
+ var codePoints = arrayFrom($toString(password));
903
904
  if (cannotHaveUsernamePasswordPort(url)) return;
904
905
  url.password = '';
905
906
  for (var i = 0; i < codePoints.length; i++) {
@@ -911,21 +912,21 @@ if (DESCRIPTORS) {
911
912
  host: accessorDescriptor(getHost, function (host) {
912
913
  var url = getInternalURLState(this);
913
914
  if (url.cannotBeABaseURL) return;
914
- parseURL(url, String(host), HOST);
915
+ parseURL(url, $toString(host), HOST);
915
916
  }),
916
917
  // `URL.prototype.hostname` accessors pair
917
918
  // https://url.spec.whatwg.org/#dom-url-hostname
918
919
  hostname: accessorDescriptor(getHostname, function (hostname) {
919
920
  var url = getInternalURLState(this);
920
921
  if (url.cannotBeABaseURL) return;
921
- parseURL(url, String(hostname), HOSTNAME);
922
+ parseURL(url, $toString(hostname), HOSTNAME);
922
923
  }),
923
924
  // `URL.prototype.port` accessors pair
924
925
  // https://url.spec.whatwg.org/#dom-url-port
925
926
  port: accessorDescriptor(getPort, function (port) {
926
927
  var url = getInternalURLState(this);
927
928
  if (cannotHaveUsernamePasswordPort(url)) return;
928
- port = String(port);
929
+ port = $toString(port);
929
930
  if (port == '') url.port = null;
930
931
  else parseURL(url, port, PORT);
931
932
  }),
@@ -935,13 +936,13 @@ if (DESCRIPTORS) {
935
936
  var url = getInternalURLState(this);
936
937
  if (url.cannotBeABaseURL) return;
937
938
  url.path = [];
938
- parseURL(url, pathname + '', PATH_START);
939
+ parseURL(url, $toString(pathname), PATH_START);
939
940
  }),
940
941
  // `URL.prototype.search` accessors pair
941
942
  // https://url.spec.whatwg.org/#dom-url-search
942
943
  search: accessorDescriptor(getSearch, function (search) {
943
944
  var url = getInternalURLState(this);
944
- search = String(search);
945
+ search = $toString(search);
945
946
  if (search == '') {
946
947
  url.query = null;
947
948
  } else {
@@ -958,7 +959,7 @@ if (DESCRIPTORS) {
958
959
  // https://url.spec.whatwg.org/#dom-url-hash
959
960
  hash: accessorDescriptor(getHash, function (hash) {
960
961
  var url = getInternalURLState(this);
961
- hash = String(hash);
962
+ hash = $toString(hash);
962
963
  if (hash == '') {
963
964
  url.fragment = null;
964
965
  return;
package/package.json CHANGED
@@ -1,11 +1,10 @@
1
1
  {
2
2
  "name": "core-js",
3
3
  "description": "Standard library",
4
- "version": "3.15.2",
4
+ "version": "3.16.3",
5
5
  "repository": {
6
6
  "type": "git",
7
- "url": "https://github.com/zloirock/core-js.git",
8
- "directory": "packages/core-js"
7
+ "url": "https://github.com/zloirock/core-js.git"
9
8
  },
10
9
  "main": "index.js",
11
10
  "funding": {
@@ -55,5 +54,5 @@
55
54
  "scripts": {
56
55
  "postinstall": "node -e \"try{require('./postinstall')}catch(e){}\""
57
56
  },
58
- "gitHead": "ea6ee013f5960f859d90e4136e91b035560ba72e"
57
+ "gitHead": "390238278109a4517e438c339a22bcbadd87362d"
59
58
  }
package/postinstall.js CHANGED
@@ -1,4 +1,3 @@
1
- /* eslint-disable max-len -- for better formatting */
2
1
  var fs = require('fs');
3
2
  var os = require('os');
4
3
  var path = require('path');
@@ -21,9 +20,11 @@ var CI = [
21
20
  ].some(function (it) { return is(env[it]); });
22
21
 
23
22
  var BANNER = '\u001B[96mThank you for using core-js (\u001B[94m https://github.com/zloirock/core-js \u001B[96m) for polyfilling JavaScript standard library!\u001B[0m\n\n' +
24
- '\u001B[96mThe project needs your help! Please consider supporting of core-js on Open Collective or Patreon: \u001B[0m\n' +
23
+ '\u001B[96mThe project needs your help! Please consider supporting of core-js:\u001B[0m\n' +
25
24
  '\u001B[96m>\u001B[94m https://opencollective.com/core-js \u001B[0m\n' +
26
- '\u001B[96m>\u001B[94m https://www.patreon.com/zloirock \u001B[0m\n\n' +
25
+ '\u001B[96m>\u001B[94m https://patreon.com/zloirock \u001B[0m\n' +
26
+ '\u001B[96m>\u001B[94m https://paypal.me/zloirock \u001B[0m\n' +
27
+ '\u001B[96m>\u001B[94m bitcoin: bc1qlea7544qtsmj2rayg0lthvza9fau63ux0fstcz \u001B[0m\n\n' +
27
28
  '\u001B[96mAlso, the author of core-js (\u001B[94m https://github.com/zloirock \u001B[96m) is looking for a good job -)\u001B[0m\n';
28
29
 
29
30
  function is(it) {
@@ -1,3 +1,7 @@
1
1
  // https://github.com/tc39/proposal-array-filtering
2
+ // TODO: Remove from `core-js@4`
2
3
  require('../modules/esnext.array.filter-out');
4
+ require('../modules/esnext.array.filter-reject');
5
+ // TODO: Remove from `core-js@4`
3
6
  require('../modules/esnext.typed-array.filter-out');
7
+ require('../modules/esnext.typed-array.filter-reject');
@@ -0,0 +1,3 @@
1
+ // https://github.com/tc39/proposal-array-grouping
2
+ require('../modules/esnext.array.group-by');
3
+ require('../modules/esnext.typed-array.group-by');
@@ -2,5 +2,6 @@
2
2
  require('../modules/esnext.aggregate-error');
3
3
 
4
4
  var parent = require('../es/aggregate-error');
5
+ require('../modules/web.dom-collections.iterator');
5
6
 
6
7
  module.exports = parent;
@@ -1,3 +1,4 @@
1
+ require('../../modules/es.object.to-string');
1
2
  require('../../modules/web.dom-collections.for-each');
2
3
  require('../../modules/web.dom-collections.iterator');
3
4
  var ArrayIterators = require('../../modules/es.array.iterator');
@@ -1,3 +1,4 @@
1
+ require('../../modules/es.object.to-string');
1
2
  require('../../modules/web.dom-collections.iterator');
2
3
  var entryUnbind = require('../../internals/entry-unbind');
3
4
 
@@ -0,0 +1,4 @@
1
+ var parent = require('../es/get-iterator-method');
2
+ require('../modules/web.dom-collections.iterator');
3
+
4
+ module.exports = parent;
@@ -0,0 +1,4 @@
1
+ var parent = require('../es/get-iterator');
2
+ require('../modules/web.dom-collections.iterator');
3
+
4
+ module.exports = parent;
@@ -0,0 +1,4 @@
1
+ var parent = require('../es/is-iterable');
2
+ require('../modules/web.dom-collections.iterator');
3
+
4
+ module.exports = parent;
@@ -1,3 +1,4 @@
1
1
  var parent = require('../../es/map');
2
+ require('../../modules/web.dom-collections.iterator');
2
3
 
3
4
  module.exports = parent;
@@ -1,3 +1,4 @@
1
1
  var parent = require('../../es/object/from-entries');
2
+ require('../../modules/web.dom-collections.iterator');
2
3
 
3
4
  module.exports = parent;
@@ -1,3 +1,4 @@
1
1
  var parent = require('../../es/object');
2
+ require('../../modules/web.dom-collections.iterator');
2
3
 
3
4
  module.exports = parent;
@@ -1,3 +1,4 @@
1
1
  var parent = require('../../es/promise/all-settled');
2
+ require('../../modules/web.dom-collections.iterator');
2
3
 
3
4
  module.exports = parent;
@@ -1,3 +1,4 @@
1
1
  var parent = require('../../es/promise/any');
2
+ require('../../modules/web.dom-collections.iterator');
2
3
 
3
4
  module.exports = parent;
@@ -1,3 +1,4 @@
1
1
  var parent = require('../../es/promise');
2
+ require('../../modules/web.dom-collections.iterator');
2
3
 
3
4
  module.exports = parent;
@@ -1,3 +1,4 @@
1
1
  var parent = require('../../es/set');
2
+ require('../../modules/web.dom-collections.iterator');
2
3
 
3
4
  module.exports = parent;
@@ -1,3 +1,4 @@
1
1
  var parent = require('../../es/symbol');
2
+ require('../../modules/web.dom-collections.iterator');
2
3
 
3
4
  module.exports = parent;
@@ -1,3 +1,4 @@
1
1
  var parent = require('../../es/symbol/iterator');
2
+ require('../../modules/web.dom-collections.iterator');
2
3
 
3
4
  module.exports = parent;
@@ -1 +1,3 @@
1
- require('../../modules/es.typed-array.copy-within');
1
+ var parent = require('../../es/typed-array/copy-within');
2
+
3
+ module.exports = parent;
@@ -1 +1,3 @@
1
- require('../../modules/es.typed-array.iterator');
1
+ var parent = require('../../es/typed-array/entries');
2
+
3
+ module.exports = parent;
@@ -1 +1,3 @@
1
- require('../../modules/es.typed-array.every');
1
+ var parent = require('../../es/typed-array/every');
2
+
3
+ module.exports = parent;