core-js 3.19.2 → 3.20.2

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 (962) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +27 -17
  3. package/actual/README.md +1 -0
  4. package/actual/aggregate-error.js +3 -0
  5. package/actual/array/at.js +3 -0
  6. package/actual/array/concat.js +3 -0
  7. package/actual/array/copy-within.js +3 -0
  8. package/actual/array/entries.js +3 -0
  9. package/actual/array/every.js +3 -0
  10. package/actual/array/fill.js +3 -0
  11. package/actual/array/filter.js +3 -0
  12. package/actual/array/find-index.js +3 -0
  13. package/actual/array/find-last-index.js +4 -0
  14. package/actual/array/find-last.js +4 -0
  15. package/actual/array/find.js +3 -0
  16. package/actual/array/flat-map.js +3 -0
  17. package/actual/array/flat.js +3 -0
  18. package/actual/array/for-each.js +3 -0
  19. package/actual/array/from.js +3 -0
  20. package/actual/array/group-by-to-map.js +6 -0
  21. package/actual/array/group-by.js +4 -0
  22. package/actual/array/includes.js +3 -0
  23. package/actual/array/index-of.js +3 -0
  24. package/actual/array/index.js +9 -0
  25. package/actual/array/is-array.js +3 -0
  26. package/actual/array/iterator.js +3 -0
  27. package/actual/array/join.js +3 -0
  28. package/actual/array/keys.js +3 -0
  29. package/actual/array/last-index-of.js +3 -0
  30. package/actual/array/map.js +3 -0
  31. package/actual/array/of.js +3 -0
  32. package/actual/array/reduce-right.js +3 -0
  33. package/actual/array/reduce.js +3 -0
  34. package/actual/array/reverse.js +3 -0
  35. package/actual/array/slice.js +3 -0
  36. package/actual/array/some.js +3 -0
  37. package/actual/array/sort.js +3 -0
  38. package/actual/array/splice.js +3 -0
  39. package/actual/array/values.js +3 -0
  40. package/actual/array/virtual/at.js +3 -0
  41. package/actual/array/virtual/concat.js +3 -0
  42. package/actual/array/virtual/copy-within.js +3 -0
  43. package/actual/array/virtual/entries.js +3 -0
  44. package/actual/array/virtual/every.js +3 -0
  45. package/actual/array/virtual/fill.js +3 -0
  46. package/actual/array/virtual/filter.js +3 -0
  47. package/actual/array/virtual/find-index.js +3 -0
  48. package/actual/array/virtual/find-last-index.js +4 -0
  49. package/actual/array/virtual/find-last.js +4 -0
  50. package/actual/array/virtual/find.js +3 -0
  51. package/actual/array/virtual/flat-map.js +3 -0
  52. package/actual/array/virtual/flat.js +3 -0
  53. package/actual/array/virtual/for-each.js +3 -0
  54. package/actual/array/virtual/group-by-to-map.js +6 -0
  55. package/actual/array/virtual/group-by.js +4 -0
  56. package/actual/array/virtual/includes.js +3 -0
  57. package/actual/array/virtual/index-of.js +3 -0
  58. package/actual/array/virtual/index.js +9 -0
  59. package/actual/array/virtual/iterator.js +3 -0
  60. package/actual/array/virtual/join.js +3 -0
  61. package/actual/array/virtual/keys.js +3 -0
  62. package/actual/array/virtual/last-index-of.js +3 -0
  63. package/actual/array/virtual/map.js +3 -0
  64. package/actual/array/virtual/reduce-right.js +3 -0
  65. package/actual/array/virtual/reduce.js +3 -0
  66. package/actual/array/virtual/reverse.js +3 -0
  67. package/actual/array/virtual/slice.js +3 -0
  68. package/actual/array/virtual/some.js +3 -0
  69. package/actual/array/virtual/sort.js +3 -0
  70. package/actual/array/virtual/splice.js +3 -0
  71. package/actual/array/virtual/values.js +3 -0
  72. package/actual/array-buffer/constructor.js +3 -0
  73. package/actual/array-buffer/index.js +3 -0
  74. package/actual/array-buffer/is-view.js +3 -0
  75. package/actual/array-buffer/slice.js +3 -0
  76. package/actual/clear-immediate.js +3 -0
  77. package/actual/data-view/index.js +3 -0
  78. package/actual/date/get-year.js +3 -0
  79. package/actual/date/index.js +3 -0
  80. package/actual/date/now.js +3 -0
  81. package/actual/date/set-year.js +3 -0
  82. package/actual/date/to-gmt-string.js +3 -0
  83. package/actual/date/to-iso-string.js +3 -0
  84. package/actual/date/to-json.js +3 -0
  85. package/actual/date/to-primitive.js +3 -0
  86. package/actual/date/to-string.js +3 -0
  87. package/actual/dom-collections/for-each.js +3 -0
  88. package/actual/dom-collections/index.js +3 -0
  89. package/actual/dom-collections/iterator.js +3 -0
  90. package/actual/dom-exception/constructor.js +3 -0
  91. package/actual/dom-exception/index.js +3 -0
  92. package/actual/dom-exception/to-string-tag.js +3 -0
  93. package/actual/error/constructor.js +3 -0
  94. package/actual/error/index.js +3 -0
  95. package/actual/error/to-string.js +3 -0
  96. package/actual/escape.js +3 -0
  97. package/actual/function/bind.js +3 -0
  98. package/actual/function/has-instance.js +3 -0
  99. package/actual/function/index.js +3 -0
  100. package/actual/function/name.js +3 -0
  101. package/actual/function/virtual/bind.js +3 -0
  102. package/actual/function/virtual/index.js +3 -0
  103. package/actual/get-iterator-method.js +3 -0
  104. package/actual/get-iterator.js +3 -0
  105. package/actual/global-this.js +3 -0
  106. package/actual/index.js +4 -0
  107. package/actual/instance/at.js +3 -0
  108. package/actual/instance/bind.js +3 -0
  109. package/actual/instance/code-point-at.js +3 -0
  110. package/actual/instance/concat.js +3 -0
  111. package/actual/instance/copy-within.js +3 -0
  112. package/actual/instance/ends-with.js +3 -0
  113. package/actual/instance/entries.js +3 -0
  114. package/actual/instance/every.js +3 -0
  115. package/actual/instance/fill.js +3 -0
  116. package/actual/instance/filter.js +3 -0
  117. package/actual/instance/find-index.js +3 -0
  118. package/actual/instance/find-last-index.js +9 -0
  119. package/actual/instance/find-last.js +9 -0
  120. package/actual/instance/find.js +3 -0
  121. package/actual/instance/flags.js +3 -0
  122. package/actual/instance/flat-map.js +3 -0
  123. package/actual/instance/flat.js +3 -0
  124. package/actual/instance/for-each.js +3 -0
  125. package/actual/instance/group-by-to-map.js +9 -0
  126. package/actual/instance/group-by.js +9 -0
  127. package/actual/instance/includes.js +3 -0
  128. package/actual/instance/index-of.js +3 -0
  129. package/actual/instance/keys.js +3 -0
  130. package/actual/instance/last-index-of.js +3 -0
  131. package/actual/instance/map.js +3 -0
  132. package/actual/instance/match-all.js +3 -0
  133. package/actual/instance/pad-end.js +3 -0
  134. package/actual/instance/pad-start.js +3 -0
  135. package/actual/instance/reduce-right.js +3 -0
  136. package/actual/instance/reduce.js +3 -0
  137. package/actual/instance/repeat.js +3 -0
  138. package/actual/instance/replace-all.js +3 -0
  139. package/actual/instance/reverse.js +3 -0
  140. package/actual/instance/slice.js +3 -0
  141. package/actual/instance/some.js +3 -0
  142. package/actual/instance/sort.js +3 -0
  143. package/actual/instance/splice.js +3 -0
  144. package/actual/instance/starts-with.js +3 -0
  145. package/actual/instance/trim-end.js +3 -0
  146. package/actual/instance/trim-left.js +3 -0
  147. package/actual/instance/trim-right.js +3 -0
  148. package/actual/instance/trim-start.js +3 -0
  149. package/actual/instance/trim.js +3 -0
  150. package/actual/instance/values.js +3 -0
  151. package/actual/is-iterable.js +3 -0
  152. package/actual/json/index.js +3 -0
  153. package/actual/json/stringify.js +3 -0
  154. package/actual/json/to-string-tag.js +3 -0
  155. package/actual/map/index.js +3 -0
  156. package/actual/math/acosh.js +3 -0
  157. package/actual/math/asinh.js +3 -0
  158. package/actual/math/atanh.js +3 -0
  159. package/actual/math/cbrt.js +3 -0
  160. package/actual/math/clz32.js +3 -0
  161. package/actual/math/cosh.js +3 -0
  162. package/actual/math/expm1.js +3 -0
  163. package/actual/math/fround.js +3 -0
  164. package/actual/math/hypot.js +3 -0
  165. package/actual/math/imul.js +3 -0
  166. package/actual/math/index.js +3 -0
  167. package/actual/math/log10.js +3 -0
  168. package/actual/math/log1p.js +3 -0
  169. package/actual/math/log2.js +3 -0
  170. package/actual/math/sign.js +3 -0
  171. package/actual/math/sinh.js +3 -0
  172. package/actual/math/tanh.js +3 -0
  173. package/actual/math/to-string-tag.js +3 -0
  174. package/actual/math/trunc.js +3 -0
  175. package/actual/number/constructor.js +3 -0
  176. package/actual/number/epsilon.js +3 -0
  177. package/actual/number/index.js +3 -0
  178. package/actual/number/is-finite.js +3 -0
  179. package/actual/number/is-integer.js +3 -0
  180. package/actual/number/is-nan.js +3 -0
  181. package/actual/number/is-safe-integer.js +3 -0
  182. package/actual/number/max-safe-integer.js +3 -0
  183. package/actual/number/min-safe-integer.js +3 -0
  184. package/actual/number/parse-float.js +3 -0
  185. package/actual/number/parse-int.js +3 -0
  186. package/actual/number/to-exponential.js +3 -0
  187. package/actual/number/to-fixed.js +3 -0
  188. package/actual/number/to-precision.js +3 -0
  189. package/actual/number/virtual/index.js +3 -0
  190. package/actual/number/virtual/to-exponential.js +3 -0
  191. package/actual/number/virtual/to-fixed.js +3 -0
  192. package/actual/number/virtual/to-precision.js +3 -0
  193. package/actual/object/assign.js +3 -0
  194. package/actual/object/create.js +3 -0
  195. package/actual/object/define-getter.js +3 -0
  196. package/actual/object/define-properties.js +3 -0
  197. package/actual/object/define-property.js +3 -0
  198. package/actual/object/define-setter.js +3 -0
  199. package/actual/object/entries.js +3 -0
  200. package/actual/object/freeze.js +3 -0
  201. package/actual/object/from-entries.js +3 -0
  202. package/actual/object/get-own-property-descriptor.js +3 -0
  203. package/actual/object/get-own-property-descriptors.js +3 -0
  204. package/actual/object/get-own-property-names.js +3 -0
  205. package/actual/object/get-own-property-symbols.js +3 -0
  206. package/actual/object/get-prototype-of.js +3 -0
  207. package/actual/object/has-own.js +3 -0
  208. package/actual/object/index.js +3 -0
  209. package/actual/object/is-extensible.js +3 -0
  210. package/actual/object/is-frozen.js +3 -0
  211. package/actual/object/is-sealed.js +3 -0
  212. package/actual/object/is.js +3 -0
  213. package/actual/object/keys.js +3 -0
  214. package/actual/object/lookup-getter.js +3 -0
  215. package/actual/object/lookup-setter.js +3 -0
  216. package/actual/object/prevent-extensions.js +3 -0
  217. package/actual/object/seal.js +3 -0
  218. package/actual/object/set-prototype-of.js +3 -0
  219. package/actual/object/to-string.js +3 -0
  220. package/actual/object/values.js +3 -0
  221. package/actual/parse-float.js +3 -0
  222. package/actual/parse-int.js +3 -0
  223. package/actual/promise/all-settled.js +3 -0
  224. package/actual/promise/any.js +3 -0
  225. package/actual/promise/finally.js +3 -0
  226. package/actual/promise/index.js +3 -0
  227. package/actual/queue-microtask.js +3 -0
  228. package/actual/reflect/apply.js +3 -0
  229. package/actual/reflect/construct.js +3 -0
  230. package/actual/reflect/define-property.js +3 -0
  231. package/actual/reflect/delete-property.js +3 -0
  232. package/actual/reflect/get-own-property-descriptor.js +3 -0
  233. package/actual/reflect/get-prototype-of.js +3 -0
  234. package/actual/reflect/get.js +3 -0
  235. package/actual/reflect/has.js +3 -0
  236. package/actual/reflect/index.js +3 -0
  237. package/actual/reflect/is-extensible.js +3 -0
  238. package/actual/reflect/own-keys.js +3 -0
  239. package/actual/reflect/prevent-extensions.js +3 -0
  240. package/actual/reflect/set-prototype-of.js +3 -0
  241. package/actual/reflect/set.js +3 -0
  242. package/actual/reflect/to-string-tag.js +3 -0
  243. package/actual/regexp/constructor.js +3 -0
  244. package/actual/regexp/dot-all.js +3 -0
  245. package/actual/regexp/flags.js +3 -0
  246. package/actual/regexp/index.js +3 -0
  247. package/actual/regexp/match.js +3 -0
  248. package/actual/regexp/replace.js +3 -0
  249. package/actual/regexp/search.js +3 -0
  250. package/actual/regexp/split.js +3 -0
  251. package/actual/regexp/sticky.js +3 -0
  252. package/actual/regexp/test.js +3 -0
  253. package/actual/regexp/to-string.js +3 -0
  254. package/actual/set/index.js +3 -0
  255. package/actual/set-immediate.js +3 -0
  256. package/actual/set-interval.js +3 -0
  257. package/actual/set-timeout.js +3 -0
  258. package/actual/string/anchor.js +3 -0
  259. package/actual/string/at.js +3 -0
  260. package/actual/string/big.js +3 -0
  261. package/actual/string/blink.js +3 -0
  262. package/actual/string/bold.js +3 -0
  263. package/actual/string/code-point-at.js +3 -0
  264. package/actual/string/ends-with.js +3 -0
  265. package/actual/string/fixed.js +3 -0
  266. package/actual/string/fontcolor.js +3 -0
  267. package/actual/string/fontsize.js +3 -0
  268. package/actual/string/from-code-point.js +3 -0
  269. package/actual/string/includes.js +3 -0
  270. package/actual/string/index.js +3 -0
  271. package/actual/string/italics.js +3 -0
  272. package/actual/string/iterator.js +3 -0
  273. package/actual/string/link.js +3 -0
  274. package/actual/string/match-all.js +3 -0
  275. package/actual/string/match.js +3 -0
  276. package/actual/string/pad-end.js +3 -0
  277. package/actual/string/pad-start.js +3 -0
  278. package/actual/string/raw.js +3 -0
  279. package/actual/string/repeat.js +3 -0
  280. package/actual/string/replace-all.js +3 -0
  281. package/actual/string/replace.js +3 -0
  282. package/actual/string/search.js +3 -0
  283. package/actual/string/small.js +3 -0
  284. package/actual/string/split.js +3 -0
  285. package/actual/string/starts-with.js +3 -0
  286. package/actual/string/strike.js +3 -0
  287. package/actual/string/sub.js +3 -0
  288. package/actual/string/substr.js +3 -0
  289. package/actual/string/sup.js +3 -0
  290. package/actual/string/trim-end.js +3 -0
  291. package/actual/string/trim-left.js +3 -0
  292. package/actual/string/trim-right.js +3 -0
  293. package/actual/string/trim-start.js +3 -0
  294. package/actual/string/trim.js +3 -0
  295. package/actual/string/virtual/anchor.js +3 -0
  296. package/actual/string/virtual/at.js +3 -0
  297. package/actual/string/virtual/big.js +3 -0
  298. package/actual/string/virtual/blink.js +3 -0
  299. package/actual/string/virtual/bold.js +3 -0
  300. package/actual/string/virtual/code-point-at.js +3 -0
  301. package/actual/string/virtual/ends-with.js +3 -0
  302. package/actual/string/virtual/fixed.js +3 -0
  303. package/actual/string/virtual/fontcolor.js +3 -0
  304. package/actual/string/virtual/fontsize.js +3 -0
  305. package/actual/string/virtual/includes.js +3 -0
  306. package/actual/string/virtual/index.js +3 -0
  307. package/actual/string/virtual/italics.js +3 -0
  308. package/actual/string/virtual/iterator.js +3 -0
  309. package/actual/string/virtual/link.js +3 -0
  310. package/actual/string/virtual/match-all.js +3 -0
  311. package/actual/string/virtual/pad-end.js +3 -0
  312. package/actual/string/virtual/pad-start.js +3 -0
  313. package/actual/string/virtual/repeat.js +3 -0
  314. package/actual/string/virtual/replace-all.js +3 -0
  315. package/actual/string/virtual/small.js +3 -0
  316. package/actual/string/virtual/starts-with.js +3 -0
  317. package/actual/string/virtual/strike.js +3 -0
  318. package/actual/string/virtual/sub.js +3 -0
  319. package/actual/string/virtual/substr.js +3 -0
  320. package/actual/string/virtual/sup.js +3 -0
  321. package/actual/string/virtual/trim-end.js +3 -0
  322. package/actual/string/virtual/trim-left.js +3 -0
  323. package/actual/string/virtual/trim-right.js +3 -0
  324. package/actual/string/virtual/trim-start.js +3 -0
  325. package/actual/string/virtual/trim.js +3 -0
  326. package/actual/structured-clone.js +3 -0
  327. package/actual/symbol/async-iterator.js +3 -0
  328. package/actual/symbol/description.js +3 -0
  329. package/actual/symbol/for.js +3 -0
  330. package/actual/symbol/has-instance.js +3 -0
  331. package/actual/symbol/index.js +3 -0
  332. package/actual/symbol/is-concat-spreadable.js +3 -0
  333. package/actual/symbol/iterator.js +3 -0
  334. package/actual/symbol/key-for.js +3 -0
  335. package/actual/symbol/match-all.js +3 -0
  336. package/actual/symbol/match.js +3 -0
  337. package/actual/symbol/replace.js +3 -0
  338. package/actual/symbol/search.js +3 -0
  339. package/actual/symbol/species.js +3 -0
  340. package/actual/symbol/split.js +3 -0
  341. package/actual/symbol/to-primitive.js +3 -0
  342. package/actual/symbol/to-string-tag.js +3 -0
  343. package/actual/symbol/unscopables.js +3 -0
  344. package/actual/typed-array/at.js +3 -0
  345. package/actual/typed-array/copy-within.js +3 -0
  346. package/actual/typed-array/entries.js +3 -0
  347. package/actual/typed-array/every.js +3 -0
  348. package/actual/typed-array/fill.js +3 -0
  349. package/actual/typed-array/filter.js +3 -0
  350. package/actual/typed-array/find-index.js +3 -0
  351. package/actual/typed-array/find-last-index.js +1 -0
  352. package/actual/typed-array/find-last.js +1 -0
  353. package/actual/typed-array/find.js +3 -0
  354. package/actual/typed-array/float32-array.js +4 -0
  355. package/actual/typed-array/float64-array.js +4 -0
  356. package/actual/typed-array/for-each.js +3 -0
  357. package/actual/typed-array/from.js +3 -0
  358. package/actual/typed-array/includes.js +3 -0
  359. package/actual/typed-array/index-of.js +3 -0
  360. package/actual/typed-array/index.js +5 -0
  361. package/actual/typed-array/int16-array.js +4 -0
  362. package/actual/typed-array/int32-array.js +4 -0
  363. package/actual/typed-array/int8-array.js +4 -0
  364. package/actual/typed-array/iterator.js +3 -0
  365. package/actual/typed-array/join.js +3 -0
  366. package/actual/typed-array/keys.js +3 -0
  367. package/actual/typed-array/last-index-of.js +3 -0
  368. package/actual/typed-array/map.js +3 -0
  369. package/actual/typed-array/methods.js +5 -0
  370. package/actual/typed-array/of.js +3 -0
  371. package/actual/typed-array/reduce-right.js +3 -0
  372. package/actual/typed-array/reduce.js +3 -0
  373. package/actual/typed-array/reverse.js +3 -0
  374. package/actual/typed-array/set.js +3 -0
  375. package/actual/typed-array/slice.js +3 -0
  376. package/actual/typed-array/some.js +3 -0
  377. package/actual/typed-array/sort.js +3 -0
  378. package/actual/typed-array/subarray.js +3 -0
  379. package/actual/typed-array/to-locale-string.js +3 -0
  380. package/actual/typed-array/to-string.js +3 -0
  381. package/actual/typed-array/uint16-array.js +4 -0
  382. package/actual/typed-array/uint32-array.js +4 -0
  383. package/actual/typed-array/uint8-array.js +4 -0
  384. package/actual/typed-array/uint8-clamped-array.js +4 -0
  385. package/actual/typed-array/values.js +3 -0
  386. package/actual/unescape.js +3 -0
  387. package/actual/url/index.js +3 -0
  388. package/actual/url/to-json.js +3 -0
  389. package/actual/url-search-params/index.js +3 -0
  390. package/actual/weak-map/index.js +3 -0
  391. package/actual/weak-set/index.js +3 -0
  392. package/es/aggregate-error.js +2 -0
  393. package/es/array-buffer/constructor.js +1 -0
  394. package/es/data-view/index.js +2 -0
  395. package/es/error/constructor.js +4 -0
  396. package/es/error/index.js +5 -0
  397. package/es/error/to-string.js +4 -0
  398. package/es/index.js +4 -0
  399. package/es/number/index.js +1 -0
  400. package/es/number/to-exponential.js +4 -0
  401. package/es/number/virtual/index.js +1 -0
  402. package/es/number/virtual/to-exponential.js +4 -0
  403. package/es/typed-array/float32-array.js +2 -0
  404. package/es/typed-array/float64-array.js +2 -0
  405. package/es/typed-array/int16-array.js +2 -0
  406. package/es/typed-array/int32-array.js +2 -0
  407. package/es/typed-array/int8-array.js +2 -0
  408. package/es/typed-array/uint16-array.js +2 -0
  409. package/es/typed-array/uint32-array.js +2 -0
  410. package/es/typed-array/uint8-array.js +2 -0
  411. package/es/typed-array/uint8-clamped-array.js +2 -0
  412. package/features/aggregate-error.js +1 -1
  413. package/features/array/at.js +1 -1
  414. package/features/array/concat.js +1 -1
  415. package/features/array/copy-within.js +1 -1
  416. package/features/array/entries.js +1 -1
  417. package/features/array/every.js +1 -1
  418. package/features/array/fill.js +1 -1
  419. package/features/array/filter.js +1 -1
  420. package/features/array/find-index.js +1 -1
  421. package/features/array/find-last-index.js +2 -3
  422. package/features/array/find-last.js +2 -3
  423. package/features/array/find.js +1 -1
  424. package/features/array/flat-map.js +1 -1
  425. package/features/array/flat.js +1 -1
  426. package/features/array/for-each.js +1 -1
  427. package/features/array/from.js +1 -1
  428. package/features/array/group-by-to-map.js +3 -0
  429. package/features/array/group-by.js +2 -3
  430. package/features/array/includes.js +1 -1
  431. package/features/array/index-of.js +1 -1
  432. package/features/array/index.js +5 -5
  433. package/features/array/is-array.js +1 -1
  434. package/features/array/iterator.js +1 -1
  435. package/features/array/join.js +1 -1
  436. package/features/array/keys.js +1 -1
  437. package/features/array/last-index-of.js +1 -1
  438. package/features/array/map.js +1 -1
  439. package/features/array/of.js +1 -1
  440. package/features/array/reduce-right.js +1 -1
  441. package/features/array/reduce.js +1 -1
  442. package/features/array/reverse.js +1 -1
  443. package/features/array/slice.js +1 -1
  444. package/features/array/some.js +1 -1
  445. package/features/array/sort.js +1 -1
  446. package/features/array/splice.js +1 -1
  447. package/features/array/to-reversed.js +4 -0
  448. package/features/array/to-sorted.js +5 -0
  449. package/features/array/to-spliced.js +4 -0
  450. package/features/array/values.js +1 -1
  451. package/features/array/virtual/at.js +1 -1
  452. package/features/array/virtual/concat.js +1 -1
  453. package/features/array/virtual/copy-within.js +1 -1
  454. package/features/array/virtual/entries.js +1 -1
  455. package/features/array/virtual/every.js +1 -1
  456. package/features/array/virtual/fill.js +1 -1
  457. package/features/array/virtual/filter.js +1 -1
  458. package/features/array/virtual/find-index.js +1 -1
  459. package/features/array/virtual/find-last-index.js +2 -3
  460. package/features/array/virtual/find-last.js +2 -3
  461. package/features/array/virtual/find.js +1 -1
  462. package/features/array/virtual/flat-map.js +1 -1
  463. package/features/array/virtual/flat.js +1 -1
  464. package/features/array/virtual/for-each.js +1 -1
  465. package/features/array/virtual/group-by-to-map.js +3 -0
  466. package/features/array/virtual/group-by.js +2 -3
  467. package/features/array/virtual/includes.js +1 -1
  468. package/features/array/virtual/index-of.js +1 -1
  469. package/features/array/virtual/index.js +5 -5
  470. package/features/array/virtual/iterator.js +1 -1
  471. package/features/array/virtual/join.js +1 -1
  472. package/features/array/virtual/keys.js +1 -1
  473. package/features/array/virtual/last-index-of.js +1 -1
  474. package/features/array/virtual/map.js +1 -1
  475. package/features/array/virtual/reduce-right.js +1 -1
  476. package/features/array/virtual/reduce.js +1 -1
  477. package/features/array/virtual/reverse.js +1 -1
  478. package/features/array/virtual/slice.js +1 -1
  479. package/features/array/virtual/some.js +1 -1
  480. package/features/array/virtual/sort.js +1 -1
  481. package/features/array/virtual/splice.js +1 -1
  482. package/features/array/virtual/to-reversed.js +4 -0
  483. package/features/array/virtual/to-sorted.js +5 -0
  484. package/features/array/virtual/to-spliced.js +4 -0
  485. package/features/array/virtual/values.js +1 -1
  486. package/features/array/virtual/with.js +4 -0
  487. package/features/array/with.js +4 -0
  488. package/features/array-buffer/constructor.js +1 -1
  489. package/features/array-buffer/index.js +1 -1
  490. package/features/array-buffer/is-view.js +1 -1
  491. package/features/array-buffer/slice.js +1 -1
  492. package/features/clear-immediate.js +1 -1
  493. package/features/data-view/index.js +1 -1
  494. package/features/date/get-year.js +1 -1
  495. package/features/date/index.js +1 -1
  496. package/features/date/now.js +1 -1
  497. package/features/date/set-year.js +1 -1
  498. package/features/date/to-gmt-string.js +1 -1
  499. package/features/date/to-iso-string.js +1 -1
  500. package/features/date/to-json.js +1 -1
  501. package/features/date/to-primitive.js +1 -1
  502. package/features/date/to-string.js +1 -1
  503. package/features/dom-collections/for-each.js +1 -1
  504. package/features/dom-collections/index.js +1 -1
  505. package/features/dom-collections/iterator.js +1 -1
  506. package/features/dom-exception/constructor.js +3 -0
  507. package/features/dom-exception/index.js +3 -0
  508. package/features/dom-exception/to-string-tag.js +3 -0
  509. package/features/error/constructor.js +3 -0
  510. package/features/error/index.js +3 -0
  511. package/features/error/to-string.js +3 -0
  512. package/features/escape.js +1 -1
  513. package/features/function/bind.js +1 -1
  514. package/features/function/has-instance.js +1 -1
  515. package/features/function/index.js +4 -1
  516. package/features/function/is-callable.js +4 -0
  517. package/features/function/is-constructor.js +4 -0
  518. package/features/function/name.js +1 -1
  519. package/features/function/un-this.js +4 -0
  520. package/features/function/virtual/bind.js +1 -1
  521. package/features/function/virtual/index.js +2 -1
  522. package/features/function/virtual/un-this.js +4 -0
  523. package/features/get-iterator-method.js +1 -1
  524. package/features/get-iterator.js +1 -1
  525. package/features/global-this.js +1 -1
  526. package/features/index.js +22 -0
  527. package/features/instance/bind.js +1 -1
  528. package/features/instance/code-point-at.js +1 -1
  529. package/features/instance/concat.js +1 -1
  530. package/features/instance/copy-within.js +1 -1
  531. package/features/instance/ends-with.js +1 -1
  532. package/features/instance/entries.js +1 -1
  533. package/features/instance/every.js +1 -1
  534. package/features/instance/fill.js +1 -1
  535. package/features/instance/filter.js +1 -1
  536. package/features/instance/find-index.js +1 -1
  537. package/features/instance/find-last-index.js +2 -8
  538. package/features/instance/find-last.js +2 -8
  539. package/features/instance/find.js +1 -1
  540. package/features/instance/flags.js +1 -1
  541. package/features/instance/flat-map.js +1 -1
  542. package/features/instance/flat.js +1 -1
  543. package/features/instance/for-each.js +1 -1
  544. package/features/instance/group-by-to-map.js +3 -0
  545. package/features/instance/group-by.js +2 -8
  546. package/features/instance/includes.js +1 -1
  547. package/features/instance/index-of.js +1 -1
  548. package/features/instance/keys.js +1 -1
  549. package/features/instance/last-index-of.js +1 -1
  550. package/features/instance/map.js +1 -1
  551. package/features/instance/match-all.js +1 -1
  552. package/features/instance/pad-end.js +1 -1
  553. package/features/instance/pad-start.js +1 -1
  554. package/features/instance/reduce-right.js +1 -1
  555. package/features/instance/reduce.js +1 -1
  556. package/features/instance/repeat.js +1 -1
  557. package/features/instance/replace-all.js +1 -1
  558. package/features/instance/reverse.js +1 -1
  559. package/features/instance/slice.js +1 -1
  560. package/features/instance/some.js +1 -1
  561. package/features/instance/sort.js +1 -1
  562. package/features/instance/splice.js +1 -1
  563. package/features/instance/starts-with.js +1 -1
  564. package/features/instance/to-reversed.js +9 -0
  565. package/features/instance/to-sorted.js +9 -0
  566. package/features/instance/to-spliced.js +9 -0
  567. package/features/instance/trim-end.js +1 -1
  568. package/features/instance/trim-left.js +1 -1
  569. package/features/instance/trim-right.js +1 -1
  570. package/features/instance/trim-start.js +1 -1
  571. package/features/instance/trim.js +1 -1
  572. package/features/instance/un-this.js +9 -0
  573. package/features/instance/values.js +1 -1
  574. package/features/instance/with.js +9 -0
  575. package/features/is-iterable.js +1 -1
  576. package/features/iterator/index.js +2 -0
  577. package/features/iterator/to-async.js +8 -0
  578. package/features/json/index.js +1 -1
  579. package/features/json/stringify.js +1 -1
  580. package/features/json/to-string-tag.js +1 -1
  581. package/features/map/index.js +1 -1
  582. package/features/math/acosh.js +1 -1
  583. package/features/math/asinh.js +1 -1
  584. package/features/math/atanh.js +1 -1
  585. package/features/math/cbrt.js +1 -1
  586. package/features/math/clz32.js +1 -1
  587. package/features/math/cosh.js +1 -1
  588. package/features/math/expm1.js +1 -1
  589. package/features/math/fround.js +1 -1
  590. package/features/math/hypot.js +1 -1
  591. package/features/math/imul.js +1 -1
  592. package/features/math/index.js +1 -1
  593. package/features/math/log10.js +1 -1
  594. package/features/math/log1p.js +1 -1
  595. package/features/math/log2.js +1 -1
  596. package/features/math/sign.js +1 -1
  597. package/features/math/sinh.js +1 -1
  598. package/features/math/tanh.js +1 -1
  599. package/features/math/to-string-tag.js +1 -1
  600. package/features/math/trunc.js +1 -1
  601. package/features/number/constructor.js +1 -1
  602. package/features/number/epsilon.js +1 -1
  603. package/features/number/index.js +1 -1
  604. package/features/number/is-finite.js +1 -1
  605. package/features/number/is-integer.js +1 -1
  606. package/features/number/is-nan.js +1 -1
  607. package/features/number/is-safe-integer.js +1 -1
  608. package/features/number/max-safe-integer.js +1 -1
  609. package/features/number/min-safe-integer.js +1 -1
  610. package/features/number/parse-float.js +1 -1
  611. package/features/number/parse-int.js +1 -1
  612. package/features/number/to-exponential.js +3 -0
  613. package/features/number/to-fixed.js +1 -1
  614. package/features/number/to-precision.js +1 -1
  615. package/features/number/virtual/index.js +1 -1
  616. package/features/number/virtual/to-exponential.js +3 -0
  617. package/features/number/virtual/to-fixed.js +1 -1
  618. package/features/number/virtual/to-precision.js +1 -1
  619. package/features/object/assign.js +1 -1
  620. package/features/object/create.js +1 -1
  621. package/features/object/define-getter.js +1 -1
  622. package/features/object/define-properties.js +1 -1
  623. package/features/object/define-property.js +1 -1
  624. package/features/object/define-setter.js +1 -1
  625. package/features/object/entries.js +1 -1
  626. package/features/object/freeze.js +1 -1
  627. package/features/object/from-entries.js +1 -1
  628. package/features/object/get-own-property-descriptor.js +1 -1
  629. package/features/object/get-own-property-descriptors.js +1 -1
  630. package/features/object/get-own-property-names.js +1 -1
  631. package/features/object/get-own-property-symbols.js +1 -1
  632. package/features/object/get-prototype-of.js +1 -1
  633. package/features/object/has-own.js +1 -1
  634. package/features/object/index.js +1 -1
  635. package/features/object/is-extensible.js +1 -1
  636. package/features/object/is-frozen.js +1 -1
  637. package/features/object/is-sealed.js +1 -1
  638. package/features/object/is.js +1 -1
  639. package/features/object/keys.js +1 -1
  640. package/features/object/lookup-getter.js +1 -1
  641. package/features/object/lookup-setter.js +1 -1
  642. package/features/object/prevent-extensions.js +1 -1
  643. package/features/object/seal.js +1 -1
  644. package/features/object/set-prototype-of.js +1 -1
  645. package/features/object/to-string.js +1 -1
  646. package/features/object/values.js +1 -1
  647. package/features/parse-float.js +1 -1
  648. package/features/parse-int.js +1 -1
  649. package/features/promise/all-settled.js +1 -1
  650. package/features/promise/any.js +1 -1
  651. package/features/promise/finally.js +1 -1
  652. package/features/promise/index.js +1 -1
  653. package/features/queue-microtask.js +1 -1
  654. package/features/reflect/apply.js +1 -1
  655. package/features/reflect/construct.js +1 -1
  656. package/features/reflect/define-property.js +1 -1
  657. package/features/reflect/delete-property.js +1 -1
  658. package/features/reflect/get-own-property-descriptor.js +1 -1
  659. package/features/reflect/get-prototype-of.js +1 -1
  660. package/features/reflect/get.js +1 -1
  661. package/features/reflect/has.js +1 -1
  662. package/features/reflect/index.js +1 -1
  663. package/features/reflect/is-extensible.js +1 -1
  664. package/features/reflect/own-keys.js +1 -1
  665. package/features/reflect/prevent-extensions.js +1 -1
  666. package/features/reflect/set-prototype-of.js +1 -1
  667. package/features/reflect/set.js +1 -1
  668. package/features/regexp/constructor.js +1 -1
  669. package/features/regexp/dot-all.js +1 -1
  670. package/features/regexp/flags.js +1 -1
  671. package/features/regexp/index.js +1 -1
  672. package/features/regexp/match.js +1 -1
  673. package/features/regexp/replace.js +1 -1
  674. package/features/regexp/search.js +1 -1
  675. package/features/regexp/split.js +1 -1
  676. package/features/regexp/sticky.js +1 -1
  677. package/features/regexp/test.js +1 -1
  678. package/features/regexp/to-string.js +1 -1
  679. package/features/set/index.js +1 -1
  680. package/features/set-immediate.js +1 -1
  681. package/features/set-interval.js +1 -1
  682. package/features/set-timeout.js +1 -1
  683. package/features/string/anchor.js +1 -1
  684. package/features/string/at.js +1 -1
  685. package/features/string/big.js +1 -1
  686. package/features/string/blink.js +1 -1
  687. package/features/string/bold.js +1 -1
  688. package/features/string/code-point-at.js +1 -1
  689. package/features/string/cooked.js +4 -0
  690. package/features/string/ends-with.js +1 -1
  691. package/features/string/fixed.js +1 -1
  692. package/features/string/fontcolor.js +1 -1
  693. package/features/string/fontsize.js +1 -1
  694. package/features/string/from-code-point.js +1 -1
  695. package/features/string/includes.js +1 -1
  696. package/features/string/index.js +3 -3
  697. package/features/string/italics.js +1 -1
  698. package/features/string/iterator.js +1 -1
  699. package/features/string/link.js +1 -1
  700. package/features/string/match-all.js +1 -1
  701. package/features/string/match.js +1 -1
  702. package/features/string/pad-end.js +1 -1
  703. package/features/string/pad-start.js +1 -1
  704. package/features/string/raw.js +1 -1
  705. package/features/string/repeat.js +1 -1
  706. package/features/string/replace-all.js +1 -1
  707. package/features/string/replace.js +1 -1
  708. package/features/string/search.js +1 -1
  709. package/features/string/small.js +1 -1
  710. package/features/string/split.js +1 -1
  711. package/features/string/starts-with.js +1 -1
  712. package/features/string/strike.js +1 -1
  713. package/features/string/sub.js +1 -1
  714. package/features/string/substr.js +1 -1
  715. package/features/string/sup.js +1 -1
  716. package/features/string/trim-end.js +1 -1
  717. package/features/string/trim-left.js +1 -1
  718. package/features/string/trim-right.js +1 -1
  719. package/features/string/trim-start.js +1 -1
  720. package/features/string/trim.js +1 -1
  721. package/features/string/virtual/anchor.js +1 -1
  722. package/features/string/virtual/at.js +1 -1
  723. package/features/string/virtual/big.js +1 -1
  724. package/features/string/virtual/blink.js +1 -1
  725. package/features/string/virtual/bold.js +1 -1
  726. package/features/string/virtual/code-point-at.js +1 -1
  727. package/features/string/virtual/ends-with.js +1 -1
  728. package/features/string/virtual/fixed.js +1 -1
  729. package/features/string/virtual/fontcolor.js +1 -1
  730. package/features/string/virtual/fontsize.js +1 -1
  731. package/features/string/virtual/includes.js +1 -1
  732. package/features/string/virtual/index.js +1 -1
  733. package/features/string/virtual/italics.js +1 -1
  734. package/features/string/virtual/iterator.js +1 -1
  735. package/features/string/virtual/link.js +1 -1
  736. package/features/string/virtual/match-all.js +1 -1
  737. package/features/string/virtual/pad-end.js +1 -1
  738. package/features/string/virtual/pad-start.js +1 -1
  739. package/features/string/virtual/repeat.js +1 -1
  740. package/features/string/virtual/replace-all.js +1 -1
  741. package/features/string/virtual/small.js +1 -1
  742. package/features/string/virtual/starts-with.js +1 -1
  743. package/features/string/virtual/strike.js +1 -1
  744. package/features/string/virtual/sub.js +1 -1
  745. package/features/string/virtual/substr.js +1 -1
  746. package/features/string/virtual/sup.js +1 -1
  747. package/features/string/virtual/trim-end.js +1 -1
  748. package/features/string/virtual/trim-left.js +1 -1
  749. package/features/string/virtual/trim-right.js +1 -1
  750. package/features/string/virtual/trim-start.js +1 -1
  751. package/features/string/virtual/trim.js +1 -1
  752. package/features/structured-clone.js +3 -0
  753. package/features/symbol/async-iterator.js +1 -1
  754. package/features/symbol/for.js +1 -1
  755. package/features/symbol/has-instance.js +1 -1
  756. package/features/symbol/index.js +1 -1
  757. package/features/symbol/is-concat-spreadable.js +1 -1
  758. package/features/symbol/iterator.js +1 -1
  759. package/features/symbol/key-for.js +1 -1
  760. package/features/symbol/match-all.js +1 -1
  761. package/features/symbol/match.js +1 -1
  762. package/features/symbol/replace.js +1 -1
  763. package/features/symbol/search.js +1 -1
  764. package/features/symbol/species.js +1 -1
  765. package/features/symbol/split.js +1 -1
  766. package/features/symbol/to-primitive.js +1 -1
  767. package/features/symbol/to-string-tag.js +1 -1
  768. package/features/symbol/unscopables.js +1 -1
  769. package/features/typed-array/at.js +1 -1
  770. package/features/typed-array/copy-within.js +1 -1
  771. package/features/typed-array/entries.js +1 -1
  772. package/features/typed-array/every.js +1 -1
  773. package/features/typed-array/fill.js +1 -1
  774. package/features/typed-array/filter.js +1 -1
  775. package/features/typed-array/find-index.js +1 -1
  776. package/features/typed-array/find-last-index.js +3 -1
  777. package/features/typed-array/find-last.js +3 -1
  778. package/features/typed-array/find.js +1 -1
  779. package/features/typed-array/float32-array.js +1 -1
  780. package/features/typed-array/float64-array.js +1 -1
  781. package/features/typed-array/for-each.js +1 -1
  782. package/features/typed-array/from.js +1 -1
  783. package/features/typed-array/includes.js +1 -1
  784. package/features/typed-array/index-of.js +1 -1
  785. package/features/typed-array/index.js +5 -3
  786. package/features/typed-array/int16-array.js +1 -1
  787. package/features/typed-array/int32-array.js +1 -1
  788. package/features/typed-array/int8-array.js +1 -1
  789. package/features/typed-array/iterator.js +1 -1
  790. package/features/typed-array/join.js +1 -1
  791. package/features/typed-array/keys.js +1 -1
  792. package/features/typed-array/last-index-of.js +1 -1
  793. package/features/typed-array/map.js +1 -1
  794. package/features/typed-array/methods.js +5 -3
  795. package/features/typed-array/of.js +1 -1
  796. package/features/typed-array/reduce-right.js +1 -1
  797. package/features/typed-array/reduce.js +1 -1
  798. package/features/typed-array/reverse.js +1 -1
  799. package/features/typed-array/set.js +1 -1
  800. package/features/typed-array/slice.js +1 -1
  801. package/features/typed-array/some.js +1 -1
  802. package/features/typed-array/sort.js +1 -1
  803. package/features/typed-array/subarray.js +1 -1
  804. package/features/typed-array/to-locale-string.js +1 -1
  805. package/features/typed-array/to-reversed.js +1 -0
  806. package/features/typed-array/to-sorted.js +2 -0
  807. package/features/typed-array/to-spliced.js +1 -0
  808. package/features/typed-array/to-string.js +1 -1
  809. package/features/typed-array/uint16-array.js +1 -1
  810. package/features/typed-array/uint32-array.js +1 -1
  811. package/features/typed-array/uint8-array.js +1 -1
  812. package/features/typed-array/uint8-clamped-array.js +1 -1
  813. package/features/typed-array/values.js +1 -1
  814. package/features/typed-array/with.js +1 -0
  815. package/features/unescape.js +1 -1
  816. package/features/url/index.js +1 -1
  817. package/features/url/to-json.js +1 -1
  818. package/features/url-search-params/index.js +1 -1
  819. package/features/weak-map/index.js +1 -1
  820. package/features/weak-set/index.js +1 -1
  821. package/internals/array-buffer-view-core.js +11 -6
  822. package/internals/array-from-constructor-and-list.js +3 -1
  823. package/internals/array-group-by.js +1 -0
  824. package/internals/array-to-reversed.js +11 -0
  825. package/internals/array-to-spliced.js +35 -0
  826. package/internals/array-with.js +18 -0
  827. package/internals/async-from-sync-iterator.js +3 -1
  828. package/internals/async-iterator-create-proxy.js +3 -1
  829. package/internals/clear-error-stack.js +1 -8
  830. package/internals/copy-constructor-properties.js +4 -2
  831. package/internals/create-iterator-constructor.js +2 -2
  832. package/internals/dom-exception-constants.js +27 -0
  833. package/internals/error-to-string.js +30 -0
  834. package/internals/function-uncurry-this.js +2 -2
  835. package/internals/ie8-dom-define.js +1 -1
  836. package/internals/is-constructor.js +12 -3
  837. package/internals/iterator-create-proxy.js +3 -1
  838. package/internals/math-log10.js +7 -0
  839. package/internals/native-url.js +1 -0
  840. package/internals/numeric-range-iterator.js +1 -1
  841. package/internals/object-create.js +2 -2
  842. package/internals/object-define-properties.js +2 -1
  843. package/internals/object-define-property.js +22 -1
  844. package/internals/queue.js +23 -0
  845. package/internals/set-to-string-tag.js +4 -3
  846. package/internals/shared.js +2 -2
  847. package/internals/try-node-require.js +8 -0
  848. package/internals/v8-prototype-define-bug.js +12 -0
  849. package/internals/wrap-error-constructor-with-cause.js +60 -0
  850. package/modules/es.aggregate-error.cause.js +21 -0
  851. package/modules/es.aggregate-error.js +3 -3
  852. package/modules/es.array.iterator.js +9 -1
  853. package/modules/es.error.cause.js +56 -0
  854. package/modules/es.error.to-string.js +10 -0
  855. package/modules/es.math.log10.js +2 -6
  856. package/modules/es.number.to-exponential.js +100 -0
  857. package/modules/es.number.to-fixed.js +1 -0
  858. package/modules/es.object.define-properties.js +3 -2
  859. package/modules/es.object.define-property.js +4 -3
  860. package/modules/es.promise.finally.js +1 -0
  861. package/modules/es.promise.js +48 -44
  862. package/modules/es.string.at-alternative.js +1 -1
  863. package/modules/es.symbol.js +2 -0
  864. package/modules/es.typed-array.iterator.js +14 -7
  865. package/modules/es.typed-array.set.js +20 -5
  866. package/modules/es.weak-map.js +5 -5
  867. package/modules/esnext.array.group-by-to-map.js +38 -0
  868. package/modules/esnext.array.group-by.js +1 -2
  869. package/modules/esnext.array.to-reversed.js +18 -0
  870. package/modules/esnext.array.to-sorted.js +25 -0
  871. package/modules/esnext.array.to-spliced.js +20 -0
  872. package/modules/esnext.array.with.js +15 -0
  873. package/modules/esnext.function.is-callable.js +29 -0
  874. package/modules/esnext.function.is-constructor.js +8 -0
  875. package/modules/esnext.function.un-this.js +11 -0
  876. package/modules/esnext.iterator.to-async.js +10 -0
  877. package/modules/esnext.map.merge.js +1 -1
  878. package/modules/esnext.observable.js +69 -54
  879. package/modules/esnext.string.at.js +10 -3
  880. package/modules/esnext.string.cooked.js +30 -0
  881. package/modules/esnext.typed-array.from-async.js +1 -0
  882. package/modules/esnext.typed-array.group-by.js +1 -0
  883. package/modules/esnext.typed-array.to-reversed.js +13 -0
  884. package/modules/esnext.typed-array.to-sorted.js +19 -0
  885. package/modules/esnext.typed-array.to-spliced.js +15 -0
  886. package/modules/esnext.typed-array.with.js +13 -0
  887. package/modules/web.dom-exception.constructor.js +141 -0
  888. package/modules/web.dom-exception.stack.js +58 -0
  889. package/modules/web.dom-exception.to-string-tag.js +6 -0
  890. package/modules/web.structured-clone.js +461 -0
  891. package/modules/web.url-search-params.js +1 -1
  892. package/modules/web.url.js +1 -1
  893. package/package.json +2 -2
  894. package/postinstall.js +1 -1
  895. package/proposals/accessible-object-hasownproperty.js +0 -1
  896. package/proposals/array-flat-map.js +5 -0
  897. package/proposals/array-from-async.js +1 -0
  898. package/proposals/array-grouping.js +2 -0
  899. package/proposals/array-includes.js +3 -0
  900. package/proposals/array-is-template-object.js +1 -0
  901. package/proposals/array-last.js +1 -0
  902. package/proposals/async-iteration.js +2 -0
  903. package/proposals/change-array-by-copy.js +9 -0
  904. package/proposals/collection-methods.js +1 -0
  905. package/proposals/collection-of-from.js +1 -0
  906. package/proposals/efficient-64-bit-arithmetic.js +1 -0
  907. package/proposals/error-cause.js +3 -0
  908. package/proposals/function-is-callable-is-constructor.js +3 -0
  909. package/proposals/function-un-this.js +2 -0
  910. package/proposals/global-this.js +1 -0
  911. package/proposals/index.js +1 -0
  912. package/proposals/iterator-helpers.js +2 -0
  913. package/proposals/keys-composition.js +1 -0
  914. package/proposals/map-update-or-insert.js +1 -0
  915. package/proposals/map-upsert.js +1 -1
  916. package/proposals/math-extensions.js +1 -0
  917. package/proposals/math-signbit.js +1 -0
  918. package/proposals/number-from-string.js +1 -0
  919. package/proposals/object-from-entries.js +2 -0
  920. package/proposals/object-getownpropertydescriptors.js +2 -0
  921. package/proposals/object-iteration.js +1 -0
  922. package/proposals/object-values-entries.js +3 -0
  923. package/proposals/observable.js +1 -0
  924. package/proposals/promise-all-settled.js +1 -1
  925. package/proposals/promise-any.js +1 -0
  926. package/proposals/promise-finally.js +2 -0
  927. package/proposals/promise-try.js +1 -0
  928. package/proposals/reflect-metadata.js +1 -0
  929. package/proposals/regexp-dotall-flag.js +5 -0
  930. package/proposals/regexp-named-groups.js +4 -0
  931. package/proposals/relative-indexing-method.js +0 -1
  932. package/proposals/seeded-random.js +1 -0
  933. package/proposals/set-methods.js +1 -0
  934. package/proposals/string-at.js +1 -0
  935. package/proposals/string-code-points.js +1 -0
  936. package/proposals/string-cooked.js +2 -0
  937. package/proposals/string-left-right-trim.js +3 -0
  938. package/proposals/string-match-all.js +1 -1
  939. package/proposals/string-padding.js +3 -0
  940. package/proposals/string-replace-all.js +1 -0
  941. package/proposals/symbol-description.js +2 -0
  942. package/proposals/url.js +1 -0
  943. package/proposals/well-formed-stringify.js +2 -0
  944. package/stable/dom-exception/constructor.js +6 -0
  945. package/stable/dom-exception/index.js +7 -0
  946. package/stable/dom-exception/to-string-tag.js +3 -0
  947. package/stable/error/constructor.js +3 -0
  948. package/stable/error/index.js +3 -0
  949. package/stable/error/to-string.js +3 -0
  950. package/stable/index.js +8 -0
  951. package/stable/number/to-exponential.js +3 -0
  952. package/stable/number/virtual/to-exponential.js +3 -0
  953. package/stable/structured-clone.js +13 -0
  954. package/stable/symbol/description.js +3 -1
  955. package/stage/0.js +2 -0
  956. package/stage/1.js +1 -2
  957. package/stage/2.js +2 -0
  958. package/stage/3.js +1 -0
  959. package/stage/4.js +2 -0
  960. package/web/dom-exception.js +7 -0
  961. package/web/index.js +4 -0
  962. package/web/structured-clone.js +8 -0
@@ -12,7 +12,7 @@ var constructorRegExp = /^\s*(?:class|function)\b/;
12
12
  var exec = uncurryThis(constructorRegExp.exec);
13
13
  var INCORRECT_TO_STRING = !constructorRegExp.exec(noop);
14
14
 
15
- var isConstructorModern = function (argument) {
15
+ var isConstructorModern = function isConstructor(argument) {
16
16
  if (!isCallable(argument)) return false;
17
17
  try {
18
18
  construct(noop, empty, argument);
@@ -22,16 +22,25 @@ var isConstructorModern = function (argument) {
22
22
  }
23
23
  };
24
24
 
25
- var isConstructorLegacy = function (argument) {
25
+ var isConstructorLegacy = function isConstructor(argument) {
26
26
  if (!isCallable(argument)) return false;
27
27
  switch (classof(argument)) {
28
28
  case 'AsyncFunction':
29
29
  case 'GeneratorFunction':
30
30
  case 'AsyncGeneratorFunction': return false;
31
+ }
32
+ try {
31
33
  // we can't check .prototype since constructors produced by .bind haven't it
32
- } return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));
34
+ // `Function#toString` throws on some built-it function in some legacy engines
35
+ // (for example, `DOMQuad` and similar in FF41-)
36
+ return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));
37
+ } catch (error) {
38
+ return true;
39
+ }
33
40
  };
34
41
 
42
+ isConstructorLegacy.sham = true;
43
+
35
44
  // `IsConstructor` abstract operation
36
45
  // https://tc39.es/ecma262/#sec-isconstructor
37
46
  module.exports = !construct || fails(function () {
@@ -10,13 +10,15 @@ var InternalStateModule = require('../internals/internal-state');
10
10
  var getMethod = require('../internals/get-method');
11
11
  var IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;
12
12
 
13
+ var ITERATOR_PROXY = 'IteratorProxy';
13
14
  var setInternalState = InternalStateModule.set;
14
- var getInternalState = InternalStateModule.get;
15
+ var getInternalState = InternalStateModule.getterFor(ITERATOR_PROXY);
15
16
 
16
17
  var TO_STRING_TAG = wellKnownSymbol('toStringTag');
17
18
 
18
19
  module.exports = function (nextHandler, IS_ITERATOR) {
19
20
  var IteratorProxy = function Iterator(state) {
21
+ state.type = ITERATOR_PROXY;
20
22
  state.next = aCallable(state.iterator.next);
21
23
  state.done = false;
22
24
  state.ignoreArg = !IS_ITERATOR;
@@ -0,0 +1,7 @@
1
+ var log = Math.log;
2
+ var LOG10E = Math.LOG10E;
3
+
4
+ // eslint-disable-next-line es/no-math-log10 -- safe
5
+ module.exports = Math.log10 || function log10(x) {
6
+ return log(x) * LOG10E;
7
+ };
@@ -5,6 +5,7 @@ var IS_PURE = require('../internals/is-pure');
5
5
  var ITERATOR = wellKnownSymbol('iterator');
6
6
 
7
7
  module.exports = !fails(function () {
8
+ // eslint-disable-next-line unicorn/relative-url-style -- required for testing
8
9
  var url = new URL('b?a=1&b=2&c=3', 'http://a');
9
10
  var searchParams = url.searchParams;
10
11
  var result = '';
@@ -3,7 +3,7 @@ var global = require('../internals/global');
3
3
  var InternalStateModule = require('../internals/internal-state');
4
4
  var createIteratorConstructor = require('../internals/create-iterator-constructor');
5
5
  var isObject = require('../internals/is-object');
6
- var defineProperties = require('../internals/object-define-properties');
6
+ var defineProperties = require('../internals/object-define-properties').f;
7
7
  var DESCRIPTORS = require('../internals/descriptors');
8
8
 
9
9
  var INCORRECT_RANGE = 'Incorrect Number.range arguments';
@@ -1,6 +1,6 @@
1
1
  /* global ActiveXObject -- old IE, WSH */
2
2
  var anObject = require('../internals/an-object');
3
- var defineProperties = require('../internals/object-define-properties');
3
+ var definePropertiesModule = require('../internals/object-define-properties');
4
4
  var enumBugKeys = require('../internals/enum-bug-keys');
5
5
  var hiddenKeys = require('../internals/hidden-keys');
6
6
  var html = require('../internals/html');
@@ -78,5 +78,5 @@ module.exports = Object.create || function create(O, Properties) {
78
78
  // add "__proto__" for Object.getPrototypeOf polyfill
79
79
  result[IE_PROTO] = O;
80
80
  } else result = NullProtoObject();
81
- return Properties === undefined ? result : defineProperties(result, Properties);
81
+ return Properties === undefined ? result : definePropertiesModule.f(result, Properties);
82
82
  };
@@ -1,4 +1,5 @@
1
1
  var DESCRIPTORS = require('../internals/descriptors');
2
+ var V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');
2
3
  var definePropertyModule = require('../internals/object-define-property');
3
4
  var anObject = require('../internals/an-object');
4
5
  var toIndexedObject = require('../internals/to-indexed-object');
@@ -7,7 +8,7 @@ var objectKeys = require('../internals/object-keys');
7
8
  // `Object.defineProperties` method
8
9
  // https://tc39.es/ecma262/#sec-object.defineproperties
9
10
  // eslint-disable-next-line es/no-object-defineproperties -- safe
10
- module.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {
11
+ exports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {
11
12
  anObject(O);
12
13
  var props = toIndexedObject(Properties);
13
14
  var keys = objectKeys(Properties);
@@ -1,16 +1,37 @@
1
1
  var global = require('../internals/global');
2
2
  var DESCRIPTORS = require('../internals/descriptors');
3
3
  var IE8_DOM_DEFINE = require('../internals/ie8-dom-define');
4
+ var V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');
4
5
  var anObject = require('../internals/an-object');
5
6
  var toPropertyKey = require('../internals/to-property-key');
6
7
 
7
8
  var TypeError = global.TypeError;
8
9
  // eslint-disable-next-line es/no-object-defineproperty -- safe
9
10
  var $defineProperty = Object.defineProperty;
11
+ // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
12
+ var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
13
+ var ENUMERABLE = 'enumerable';
14
+ var CONFIGURABLE = 'configurable';
15
+ var WRITABLE = 'writable';
10
16
 
11
17
  // `Object.defineProperty` method
12
18
  // https://tc39.es/ecma262/#sec-object.defineproperty
13
- exports.f = DESCRIPTORS ? $defineProperty : function defineProperty(O, P, Attributes) {
19
+ exports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {
20
+ anObject(O);
21
+ P = toPropertyKey(P);
22
+ anObject(Attributes);
23
+ if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {
24
+ var current = $getOwnPropertyDescriptor(O, P);
25
+ if (current && current[WRITABLE]) {
26
+ O[P] = Attributes.value;
27
+ Attributes = {
28
+ configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],
29
+ enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],
30
+ writable: false
31
+ };
32
+ }
33
+ } return $defineProperty(O, P, Attributes);
34
+ } : $defineProperty : function defineProperty(O, P, Attributes) {
14
35
  anObject(O);
15
36
  P = toPropertyKey(P);
16
37
  anObject(Attributes);
@@ -0,0 +1,23 @@
1
+ var Queue = function () {
2
+ this.head = null;
3
+ this.tail = null;
4
+ };
5
+
6
+ Queue.prototype = {
7
+ add: function (item) {
8
+ var entry = { item: item, next: null };
9
+ if (this.head) this.tail.next = entry;
10
+ else this.head = entry;
11
+ this.tail = entry;
12
+ },
13
+ get: function () {
14
+ var entry = this.head;
15
+ if (entry) {
16
+ this.head = entry.next;
17
+ if (this.tail === entry) this.tail = null;
18
+ return entry.item;
19
+ }
20
+ }
21
+ };
22
+
23
+ module.exports = Queue;
@@ -4,8 +4,9 @@ var wellKnownSymbol = require('../internals/well-known-symbol');
4
4
 
5
5
  var TO_STRING_TAG = wellKnownSymbol('toStringTag');
6
6
 
7
- module.exports = function (it, TAG, STATIC) {
8
- if (it && !hasOwn(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {
9
- defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });
7
+ module.exports = function (target, TAG, STATIC) {
8
+ if (target && !STATIC) target = target.prototype;
9
+ if (target && !hasOwn(target, TO_STRING_TAG)) {
10
+ defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });
10
11
  }
11
12
  };
@@ -4,7 +4,7 @@ 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.19.2',
7
+ version: '3.20.2',
8
8
  mode: IS_PURE ? 'pure' : 'global',
9
- copyright: '© 2021 Denis Pushkarev (zloirock.ru)'
9
+ copyright: '© 2022 Denis Pushkarev (zloirock.ru)'
10
10
  });
@@ -0,0 +1,8 @@
1
+ var IS_NODE = require('../internals/engine-is-node');
2
+
3
+ module.exports = function (name) {
4
+ try {
5
+ // eslint-disable-next-line no-new-func -- safe
6
+ if (IS_NODE) return Function('return require("' + name + '")')();
7
+ } catch (error) { /* empty */ }
8
+ };
@@ -0,0 +1,12 @@
1
+ var DESCRIPTORS = require('../internals/descriptors');
2
+ var fails = require('../internals/fails');
3
+
4
+ // V8 ~ Chrome 36-
5
+ // https://bugs.chromium.org/p/v8/issues/detail?id=3334
6
+ module.exports = DESCRIPTORS && fails(function () {
7
+ // eslint-disable-next-line es/no-object-defineproperty -- required for testing
8
+ return Object.defineProperty(function () { /* empty */ }, 'prototype', {
9
+ value: 42,
10
+ writable: false
11
+ }).prototype != 42;
12
+ });
@@ -0,0 +1,60 @@
1
+ 'use strict';
2
+ var getBuiltIn = require('../internals/get-built-in');
3
+ var hasOwn = require('../internals/has-own-property');
4
+ var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
5
+ var isPrototypeOf = require('../internals/object-is-prototype-of');
6
+ var setPrototypeOf = require('../internals/object-set-prototype-of');
7
+ var copyConstructorProperties = require('../internals/copy-constructor-properties');
8
+ var inheritIfRequired = require('../internals/inherit-if-required');
9
+ var normalizeStringArgument = require('../internals/normalize-string-argument');
10
+ var installErrorCause = require('../internals/install-error-cause');
11
+ var clearErrorStack = require('../internals/clear-error-stack');
12
+ var ERROR_STACK_INSTALLABLE = require('../internals/error-stack-installable');
13
+ var IS_PURE = require('../internals/is-pure');
14
+
15
+ module.exports = function (FULL_NAME, wrapper, FORCED, IS_AGGREGATE_ERROR) {
16
+ var OPTIONS_POSITION = IS_AGGREGATE_ERROR ? 2 : 1;
17
+ var path = FULL_NAME.split('.');
18
+ var ERROR_NAME = path[path.length - 1];
19
+ var OriginalError = getBuiltIn.apply(null, path);
20
+
21
+ if (!OriginalError) return;
22
+
23
+ var OriginalErrorPrototype = OriginalError.prototype;
24
+
25
+ // V8 9.3- bug https://bugs.chromium.org/p/v8/issues/detail?id=12006
26
+ if (!IS_PURE && hasOwn(OriginalErrorPrototype, 'cause')) delete OriginalErrorPrototype.cause;
27
+
28
+ if (!FORCED) return OriginalError;
29
+
30
+ var BaseError = getBuiltIn('Error');
31
+
32
+ var WrappedError = wrapper(function (a, b) {
33
+ var message = normalizeStringArgument(IS_AGGREGATE_ERROR ? b : a, undefined);
34
+ var result = IS_AGGREGATE_ERROR ? new OriginalError(a) : new OriginalError();
35
+ if (message !== undefined) createNonEnumerableProperty(result, 'message', message);
36
+ if (ERROR_STACK_INSTALLABLE) createNonEnumerableProperty(result, 'stack', clearErrorStack(result.stack, 2));
37
+ if (this && isPrototypeOf(OriginalErrorPrototype, this)) inheritIfRequired(result, this, WrappedError);
38
+ if (arguments.length > OPTIONS_POSITION) installErrorCause(result, arguments[OPTIONS_POSITION]);
39
+ return result;
40
+ });
41
+
42
+ WrappedError.prototype = OriginalErrorPrototype;
43
+
44
+ if (ERROR_NAME !== 'Error') {
45
+ if (setPrototypeOf) setPrototypeOf(WrappedError, BaseError);
46
+ else copyConstructorProperties(WrappedError, BaseError, { name: true });
47
+ }
48
+
49
+ copyConstructorProperties(WrappedError, OriginalError);
50
+
51
+ if (!IS_PURE) try {
52
+ // Safari 13- bug: WebAssembly errors does not have a proper `.name`
53
+ if (OriginalErrorPrototype.name !== ERROR_NAME) {
54
+ createNonEnumerableProperty(OriginalErrorPrototype, 'name', ERROR_NAME);
55
+ }
56
+ OriginalErrorPrototype.constructor = WrappedError;
57
+ } catch (error) { /* empty */ }
58
+
59
+ return WrappedError;
60
+ };
@@ -0,0 +1,21 @@
1
+ var $ = require('../internals/export');
2
+ var getBuiltIn = require('../internals/get-built-in');
3
+ var apply = require('../internals/function-apply');
4
+ var fails = require('../internals/fails');
5
+ var wrapErrorConstructorWithCause = require('../internals/wrap-error-constructor-with-cause');
6
+
7
+ var AGGREGATE_ERROR = 'AggregateError';
8
+ var $AggregateError = getBuiltIn(AGGREGATE_ERROR);
9
+ var FORCED = !fails(function () {
10
+ return $AggregateError([1]).errors[0] !== 1;
11
+ }) && fails(function () {
12
+ return $AggregateError([1], AGGREGATE_ERROR, { cause: 7 }).cause !== 7;
13
+ });
14
+
15
+ // https://github.com/tc39/proposal-error-cause
16
+ $({ global: true, forced: FORCED }, {
17
+ AggregateError: wrapErrorConstructorWithCause(AGGREGATE_ERROR, function (init) {
18
+ // eslint-disable-next-line no-unused-vars -- required for functions `.length`
19
+ return function AggregateError(errors, message) { return apply(init, this, arguments); };
20
+ }, FORCED, true)
21
+ });
@@ -24,12 +24,12 @@ var $AggregateError = function AggregateError(errors, message /* , options */) {
24
24
  var isInstance = isPrototypeOf(AggregateErrorPrototype, this);
25
25
  var that;
26
26
  if (setPrototypeOf) {
27
- that = setPrototypeOf(new Error(undefined), isInstance ? getPrototypeOf(this) : AggregateErrorPrototype);
27
+ that = setPrototypeOf(new Error(), isInstance ? getPrototypeOf(this) : AggregateErrorPrototype);
28
28
  } else {
29
29
  that = isInstance ? this : create(AggregateErrorPrototype);
30
30
  createNonEnumerableProperty(that, TO_STRING_TAG, 'Error');
31
31
  }
32
- createNonEnumerableProperty(that, 'message', normalizeStringArgument(message, ''));
32
+ if (message !== undefined) createNonEnumerableProperty(that, 'message', normalizeStringArgument(message));
33
33
  if (ERROR_STACK_INSTALLABLE) createNonEnumerableProperty(that, 'stack', clearErrorStack(that.stack, 1));
34
34
  installErrorCause(that, options);
35
35
  var errorsArray = [];
@@ -39,7 +39,7 @@ var $AggregateError = function AggregateError(errors, message /* , options */) {
39
39
  };
40
40
 
41
41
  if (setPrototypeOf) setPrototypeOf($AggregateError, Error);
42
- else copyConstructorProperties($AggregateError, Error);
42
+ else copyConstructorProperties($AggregateError, Error, { name: true });
43
43
 
44
44
  var AggregateErrorPrototype = $AggregateError.prototype = create(Error.prototype, {
45
45
  constructor: createPropertyDescriptor(1, $AggregateError),
@@ -3,7 +3,10 @@ var toIndexedObject = require('../internals/to-indexed-object');
3
3
  var addToUnscopables = require('../internals/add-to-unscopables');
4
4
  var Iterators = require('../internals/iterators');
5
5
  var InternalStateModule = require('../internals/internal-state');
6
+ var defineProperty = require('../internals/object-define-property').f;
6
7
  var defineIterator = require('../internals/define-iterator');
8
+ var IS_PURE = require('../internals/is-pure');
9
+ var DESCRIPTORS = require('../internals/descriptors');
7
10
 
8
11
  var ARRAY_ITERATOR = 'Array Iterator';
9
12
  var setInternalState = InternalStateModule.set;
@@ -45,9 +48,14 @@ module.exports = defineIterator(Array, 'Array', function (iterated, kind) {
45
48
  // argumentsList[@@iterator] is %ArrayProto_values%
46
49
  // https://tc39.es/ecma262/#sec-createunmappedargumentsobject
47
50
  // https://tc39.es/ecma262/#sec-createmappedargumentsobject
48
- Iterators.Arguments = Iterators.Array;
51
+ var values = Iterators.Arguments = Iterators.Array;
49
52
 
50
53
  // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
51
54
  addToUnscopables('keys');
52
55
  addToUnscopables('values');
53
56
  addToUnscopables('entries');
57
+
58
+ // V8 ~ Chrome 45- bug
59
+ if (!IS_PURE && DESCRIPTORS && values.name !== 'values') try {
60
+ defineProperty(values, 'name', { value: 'values' });
61
+ } catch (error) { /* empty */ }
@@ -0,0 +1,56 @@
1
+ /* eslint-disable no-unused-vars -- required for functions `.length` */
2
+ var $ = require('../internals/export');
3
+ var global = require('../internals/global');
4
+ var apply = require('../internals/function-apply');
5
+ var wrapErrorConstructorWithCause = require('../internals/wrap-error-constructor-with-cause');
6
+
7
+ var WEB_ASSEMBLY = 'WebAssembly';
8
+ var WebAssembly = global[WEB_ASSEMBLY];
9
+
10
+ var FORCED = Error('e', { cause: 7 }).cause !== 7;
11
+
12
+ var exportGlobalErrorCauseWrapper = function (ERROR_NAME, wrapper) {
13
+ var O = {};
14
+ O[ERROR_NAME] = wrapErrorConstructorWithCause(ERROR_NAME, wrapper, FORCED);
15
+ $({ global: true, forced: FORCED }, O);
16
+ };
17
+
18
+ var exportWebAssemblyErrorCauseWrapper = function (ERROR_NAME, wrapper) {
19
+ if (WebAssembly && WebAssembly[ERROR_NAME]) {
20
+ var O = {};
21
+ O[ERROR_NAME] = wrapErrorConstructorWithCause(WEB_ASSEMBLY + '.' + ERROR_NAME, wrapper, FORCED);
22
+ $({ target: WEB_ASSEMBLY, stat: true, forced: FORCED }, O);
23
+ }
24
+ };
25
+
26
+ // https://github.com/tc39/proposal-error-cause
27
+ exportGlobalErrorCauseWrapper('Error', function (init) {
28
+ return function Error(message) { return apply(init, this, arguments); };
29
+ });
30
+ exportGlobalErrorCauseWrapper('EvalError', function (init) {
31
+ return function EvalError(message) { return apply(init, this, arguments); };
32
+ });
33
+ exportGlobalErrorCauseWrapper('RangeError', function (init) {
34
+ return function RangeError(message) { return apply(init, this, arguments); };
35
+ });
36
+ exportGlobalErrorCauseWrapper('ReferenceError', function (init) {
37
+ return function ReferenceError(message) { return apply(init, this, arguments); };
38
+ });
39
+ exportGlobalErrorCauseWrapper('SyntaxError', function (init) {
40
+ return function SyntaxError(message) { return apply(init, this, arguments); };
41
+ });
42
+ exportGlobalErrorCauseWrapper('TypeError', function (init) {
43
+ return function TypeError(message) { return apply(init, this, arguments); };
44
+ });
45
+ exportGlobalErrorCauseWrapper('URIError', function (init) {
46
+ return function URIError(message) { return apply(init, this, arguments); };
47
+ });
48
+ exportWebAssemblyErrorCauseWrapper('CompileError', function (init) {
49
+ return function CompileError(message) { return apply(init, this, arguments); };
50
+ });
51
+ exportWebAssemblyErrorCauseWrapper('LinkError', function (init) {
52
+ return function LinkError(message) { return apply(init, this, arguments); };
53
+ });
54
+ exportWebAssemblyErrorCauseWrapper('RuntimeError', function (init) {
55
+ return function RuntimeError(message) { return apply(init, this, arguments); };
56
+ });
@@ -0,0 +1,10 @@
1
+ var redefine = require('../internals/redefine');
2
+ var errorToString = require('../internals/error-to-string');
3
+
4
+ var ErrorPrototype = Error.prototype;
5
+
6
+ // `Error.prototype.toString` method fix
7
+ // https://tc39.es/ecma262/#sec-error.prototype.tostring
8
+ if (ErrorPrototype.toString !== errorToString) {
9
+ redefine(ErrorPrototype, 'toString', errorToString);
10
+ }
@@ -1,12 +1,8 @@
1
1
  var $ = require('../internals/export');
2
-
3
- var log = Math.log;
4
- var LOG10E = Math.LOG10E;
2
+ var log10 = require('../internals/math-log10');
5
3
 
6
4
  // `Math.log10` method
7
5
  // https://tc39.es/ecma262/#sec-math.log10
8
6
  $({ target: 'Math', stat: true }, {
9
- log10: function log10(x) {
10
- return log(x) * LOG10E;
11
- }
7
+ log10: log10
12
8
  });
@@ -0,0 +1,100 @@
1
+ 'use strict';
2
+ var $ = require('../internals/export');
3
+ var global = require('../internals/global');
4
+ var uncurryThis = require('../internals/function-uncurry-this');
5
+ var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
6
+ var thisNumberValue = require('../internals/this-number-value');
7
+ var $repeat = require('../internals/string-repeat');
8
+ var log10 = require('../internals/math-log10');
9
+ var fails = require('../internals/fails');
10
+
11
+ var RangeError = global.RangeError;
12
+ var String = global.String;
13
+ var isFinite = global.isFinite;
14
+ var abs = Math.abs;
15
+ var floor = Math.floor;
16
+ var pow = Math.pow;
17
+ var round = Math.round;
18
+ var un$ToExponential = uncurryThis(1.0.toExponential);
19
+ var repeat = uncurryThis($repeat);
20
+ var stringSlice = uncurryThis(''.slice);
21
+
22
+ // Edge 17-
23
+ var ROUNDS_PROPERLY = un$ToExponential(-6.9e-11, 4) === '-6.9000e-11'
24
+ // IE11- && Edge 14-
25
+ && un$ToExponential(1.255, 2) === '1.25e+0'
26
+ // FF86-, V8 ~ Chrome 49-50
27
+ && un$ToExponential(12345, 3) === '1.235e+4'
28
+ // FF86-, V8 ~ Chrome 49-50
29
+ && un$ToExponential(25, 0) === '3e+1';
30
+
31
+ // IE8-
32
+ var THROWS_ON_INFINITY_FRACTION = fails(function () {
33
+ un$ToExponential(1, Infinity);
34
+ }) && fails(function () {
35
+ un$ToExponential(1, -Infinity);
36
+ });
37
+
38
+ // Safari <11 && FF <50
39
+ var PROPER_NON_FINITE_THIS_CHECK = !fails(function () {
40
+ un$ToExponential(Infinity, Infinity);
41
+ }) && !fails(function () {
42
+ un$ToExponential(NaN, Infinity);
43
+ });
44
+
45
+ var FORCED = !ROUNDS_PROPERLY || !THROWS_ON_INFINITY_FRACTION || !PROPER_NON_FINITE_THIS_CHECK;
46
+
47
+ // `Number.prototype.toExponential` method
48
+ // https://tc39.es/ecma262/#sec-number.prototype.toexponential
49
+ $({ target: 'Number', proto: true, forced: FORCED }, {
50
+ toExponential: function toExponential(fractionDigits) {
51
+ var x = thisNumberValue(this);
52
+ if (fractionDigits === undefined) return un$ToExponential(x);
53
+ var f = toIntegerOrInfinity(fractionDigits);
54
+ if (!isFinite(x)) return String(x);
55
+ // TODO: ES2018 increased the maximum number of fraction digits to 100, need to improve the implementation
56
+ if (f < 0 || f > 20) throw RangeError('Incorrect fraction digits');
57
+ if (ROUNDS_PROPERLY) return un$ToExponential(x, f);
58
+ var s = '';
59
+ var m = '';
60
+ var e = 0;
61
+ var c = '';
62
+ var d = '';
63
+ if (x < 0) {
64
+ s = '-';
65
+ x = -x;
66
+ }
67
+ if (x === 0) {
68
+ e = 0;
69
+ m = repeat('0', f + 1);
70
+ } else {
71
+ // this block is based on https://gist.github.com/SheetJSDev/1100ad56b9f856c95299ed0e068eea08
72
+ // TODO: improve accuracy with big fraction digits
73
+ var l = log10(x);
74
+ e = floor(l);
75
+ var n = 0;
76
+ var w = pow(10, e - f);
77
+ n = round(x / w);
78
+ if (2 * x >= (2 * n + 1) * w) {
79
+ n += 1;
80
+ }
81
+ if (n >= pow(10, f + 1)) {
82
+ n /= 10;
83
+ e += 1;
84
+ }
85
+ m = String(n);
86
+ }
87
+ if (f !== 0) {
88
+ m = stringSlice(m, 0, 1) + '.' + stringSlice(m, 1);
89
+ }
90
+ if (e === 0) {
91
+ c = '+';
92
+ d = '0';
93
+ } else {
94
+ c = e > 0 ? '+' : '-';
95
+ d = String(abs(e));
96
+ }
97
+ m += 'e' + c + d;
98
+ return s + m;
99
+ }
100
+ });
@@ -83,6 +83,7 @@ $({ target: 'Number', proto: true, forced: FORCED }, {
83
83
  var result = '0';
84
84
  var e, z, j, k;
85
85
 
86
+ // TODO: ES2018 increased the maximum number of fraction digits to 100, need to improve the implementation
86
87
  if (fractDigits < 0 || fractDigits > 20) throw RangeError('Incorrect fraction digits');
87
88
  // eslint-disable-next-line no-self-compare -- NaN check
88
89
  if (number != number) return 'NaN';
@@ -1,9 +1,10 @@
1
1
  var $ = require('../internals/export');
2
2
  var DESCRIPTORS = require('../internals/descriptors');
3
- var defineProperties = require('../internals/object-define-properties');
3
+ var defineProperties = require('../internals/object-define-properties').f;
4
4
 
5
5
  // `Object.defineProperties` method
6
6
  // https://tc39.es/ecma262/#sec-object.defineproperties
7
- $({ target: 'Object', stat: true, forced: !DESCRIPTORS, sham: !DESCRIPTORS }, {
7
+ // eslint-disable-next-line es/no-object-defineproperties -- safe
8
+ $({ target: 'Object', stat: true, forced: Object.defineProperties !== defineProperties, sham: !DESCRIPTORS }, {
8
9
  defineProperties: defineProperties
9
10
  });
@@ -1,9 +1,10 @@
1
1
  var $ = require('../internals/export');
2
2
  var DESCRIPTORS = require('../internals/descriptors');
3
- var objectDefinePropertyModile = require('../internals/object-define-property');
3
+ var defineProperty = require('../internals/object-define-property').f;
4
4
 
5
5
  // `Object.defineProperty` method
6
6
  // https://tc39.es/ecma262/#sec-object.defineproperty
7
- $({ target: 'Object', stat: true, forced: !DESCRIPTORS, sham: !DESCRIPTORS }, {
8
- defineProperty: objectDefinePropertyModile.f
7
+ // eslint-disable-next-line es/no-object-defineproperty -- safe
8
+ $({ target: 'Object', stat: true, forced: Object.defineProperty !== defineProperty, sham: !DESCRIPTORS }, {
9
+ defineProperty: defineProperty
9
10
  });
@@ -11,6 +11,7 @@ var redefine = require('../internals/redefine');
11
11
 
12
12
  // Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829
13
13
  var NON_GENERIC = !!NativePromise && fails(function () {
14
+ // eslint-disable-next-line unicorn/no-thenable -- required for testing
14
15
  NativePromise.prototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ });
15
16
  });
16
17