core-js 3.18.3 → 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 (1267) 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/date/to-primitive.js +2 -3
  396. package/es/date/to-string.js +2 -4
  397. package/es/error/constructor.js +4 -0
  398. package/es/error/index.js +5 -0
  399. package/es/error/to-string.js +4 -0
  400. package/es/index.js +4 -0
  401. package/es/instance/at.js +6 -5
  402. package/es/instance/bind.js +3 -2
  403. package/es/instance/code-point-at.js +4 -3
  404. package/es/instance/concat.js +3 -2
  405. package/es/instance/copy-within.js +3 -2
  406. package/es/instance/ends-with.js +4 -3
  407. package/es/instance/entries.js +3 -2
  408. package/es/instance/every.js +3 -2
  409. package/es/instance/fill.js +3 -2
  410. package/es/instance/filter.js +3 -2
  411. package/es/instance/find-index.js +3 -2
  412. package/es/instance/find.js +3 -2
  413. package/es/instance/flags.js +2 -1
  414. package/es/instance/flat-map.js +3 -2
  415. package/es/instance/flat.js +3 -2
  416. package/es/instance/for-each.js +3 -2
  417. package/es/instance/includes.js +6 -5
  418. package/es/instance/index-of.js +3 -2
  419. package/es/instance/keys.js +3 -2
  420. package/es/instance/last-index-of.js +3 -2
  421. package/es/instance/map.js +3 -2
  422. package/es/instance/match-all.js +4 -3
  423. package/es/instance/pad-end.js +4 -3
  424. package/es/instance/pad-start.js +4 -3
  425. package/es/instance/reduce-right.js +3 -2
  426. package/es/instance/reduce.js +3 -2
  427. package/es/instance/repeat.js +4 -3
  428. package/es/instance/replace-all.js +4 -3
  429. package/es/instance/reverse.js +3 -2
  430. package/es/instance/slice.js +3 -2
  431. package/es/instance/some.js +3 -2
  432. package/es/instance/sort.js +3 -2
  433. package/es/instance/splice.js +3 -2
  434. package/es/instance/starts-with.js +4 -3
  435. package/es/instance/trim-end.js +4 -3
  436. package/es/instance/trim-left.js +4 -3
  437. package/es/instance/trim-right.js +4 -3
  438. package/es/instance/trim-start.js +4 -3
  439. package/es/instance/trim.js +4 -3
  440. package/es/instance/values.js +3 -2
  441. package/es/json/stringify.js +4 -3
  442. package/es/number/index.js +1 -0
  443. package/es/number/to-exponential.js +4 -0
  444. package/es/number/virtual/index.js +1 -0
  445. package/es/number/virtual/to-exponential.js +4 -0
  446. package/es/promise/all-settled.js +2 -1
  447. package/es/promise/any.js +2 -1
  448. package/es/regexp/flags.js +3 -4
  449. package/es/regexp/match.js +2 -1
  450. package/es/regexp/replace.js +2 -1
  451. package/es/regexp/search.js +2 -1
  452. package/es/regexp/split.js +2 -1
  453. package/es/regexp/test.js +2 -3
  454. package/es/regexp/to-string.js +2 -3
  455. package/es/string/iterator.js +2 -5
  456. package/es/typed-array/float32-array.js +2 -0
  457. package/es/typed-array/float64-array.js +2 -0
  458. package/es/typed-array/int16-array.js +2 -0
  459. package/es/typed-array/int32-array.js +2 -0
  460. package/es/typed-array/int8-array.js +2 -0
  461. package/es/typed-array/uint16-array.js +2 -0
  462. package/es/typed-array/uint32-array.js +2 -0
  463. package/es/typed-array/uint8-array.js +2 -0
  464. package/es/typed-array/uint8-clamped-array.js +2 -0
  465. package/features/aggregate-error.js +1 -1
  466. package/features/array/at.js +1 -1
  467. package/features/array/concat.js +1 -1
  468. package/features/array/copy-within.js +1 -1
  469. package/features/array/entries.js +1 -1
  470. package/features/array/every.js +1 -1
  471. package/features/array/fill.js +1 -1
  472. package/features/array/filter.js +1 -1
  473. package/features/array/find-index.js +1 -1
  474. package/features/array/find-last-index.js +2 -3
  475. package/features/array/find-last.js +2 -3
  476. package/features/array/find.js +1 -1
  477. package/features/array/flat-map.js +1 -1
  478. package/features/array/flat.js +1 -1
  479. package/features/array/for-each.js +1 -1
  480. package/features/array/from.js +1 -1
  481. package/features/array/group-by-to-map.js +3 -0
  482. package/features/array/group-by.js +2 -3
  483. package/features/array/includes.js +1 -1
  484. package/features/array/index-of.js +1 -1
  485. package/features/array/index.js +5 -5
  486. package/features/array/is-array.js +1 -1
  487. package/features/array/iterator.js +1 -1
  488. package/features/array/join.js +1 -1
  489. package/features/array/keys.js +1 -1
  490. package/features/array/last-index-of.js +1 -1
  491. package/features/array/map.js +1 -1
  492. package/features/array/of.js +1 -1
  493. package/features/array/reduce-right.js +1 -1
  494. package/features/array/reduce.js +1 -1
  495. package/features/array/reverse.js +1 -1
  496. package/features/array/slice.js +1 -1
  497. package/features/array/some.js +1 -1
  498. package/features/array/sort.js +1 -1
  499. package/features/array/splice.js +1 -1
  500. package/features/array/to-reversed.js +4 -0
  501. package/features/array/to-sorted.js +5 -0
  502. package/features/array/to-spliced.js +4 -0
  503. package/features/array/values.js +1 -1
  504. package/features/array/virtual/at.js +1 -1
  505. package/features/array/virtual/concat.js +1 -1
  506. package/features/array/virtual/copy-within.js +1 -1
  507. package/features/array/virtual/entries.js +1 -1
  508. package/features/array/virtual/every.js +1 -1
  509. package/features/array/virtual/fill.js +1 -1
  510. package/features/array/virtual/filter.js +1 -1
  511. package/features/array/virtual/find-index.js +1 -1
  512. package/features/array/virtual/find-last-index.js +2 -3
  513. package/features/array/virtual/find-last.js +2 -3
  514. package/features/array/virtual/find.js +1 -1
  515. package/features/array/virtual/flat-map.js +1 -1
  516. package/features/array/virtual/flat.js +1 -1
  517. package/features/array/virtual/for-each.js +1 -1
  518. package/features/array/virtual/group-by-to-map.js +3 -0
  519. package/features/array/virtual/group-by.js +2 -3
  520. package/features/array/virtual/includes.js +1 -1
  521. package/features/array/virtual/index-of.js +1 -1
  522. package/features/array/virtual/index.js +5 -5
  523. package/features/array/virtual/iterator.js +1 -1
  524. package/features/array/virtual/join.js +1 -1
  525. package/features/array/virtual/keys.js +1 -1
  526. package/features/array/virtual/last-index-of.js +1 -1
  527. package/features/array/virtual/map.js +1 -1
  528. package/features/array/virtual/reduce-right.js +1 -1
  529. package/features/array/virtual/reduce.js +1 -1
  530. package/features/array/virtual/reverse.js +1 -1
  531. package/features/array/virtual/slice.js +1 -1
  532. package/features/array/virtual/some.js +1 -1
  533. package/features/array/virtual/sort.js +1 -1
  534. package/features/array/virtual/splice.js +1 -1
  535. package/features/array/virtual/to-reversed.js +4 -0
  536. package/features/array/virtual/to-sorted.js +5 -0
  537. package/features/array/virtual/to-spliced.js +4 -0
  538. package/features/array/virtual/values.js +1 -1
  539. package/features/array/virtual/with.js +4 -0
  540. package/features/array/with.js +4 -0
  541. package/features/array-buffer/constructor.js +1 -1
  542. package/features/array-buffer/index.js +1 -1
  543. package/features/array-buffer/is-view.js +1 -1
  544. package/features/array-buffer/slice.js +1 -1
  545. package/features/clear-immediate.js +1 -1
  546. package/features/data-view/index.js +1 -1
  547. package/features/date/get-year.js +1 -1
  548. package/features/date/index.js +1 -1
  549. package/features/date/now.js +1 -1
  550. package/features/date/set-year.js +1 -1
  551. package/features/date/to-gmt-string.js +1 -1
  552. package/features/date/to-iso-string.js +1 -1
  553. package/features/date/to-json.js +1 -1
  554. package/features/date/to-primitive.js +1 -1
  555. package/features/date/to-string.js +1 -1
  556. package/features/dom-collections/for-each.js +1 -1
  557. package/features/dom-collections/index.js +1 -1
  558. package/features/dom-collections/iterator.js +1 -1
  559. package/features/dom-exception/constructor.js +3 -0
  560. package/features/dom-exception/index.js +3 -0
  561. package/features/dom-exception/to-string-tag.js +3 -0
  562. package/features/error/constructor.js +3 -0
  563. package/features/error/index.js +3 -0
  564. package/features/error/to-string.js +3 -0
  565. package/features/escape.js +1 -1
  566. package/features/function/bind.js +1 -1
  567. package/features/function/has-instance.js +1 -1
  568. package/features/function/index.js +4 -1
  569. package/features/function/is-callable.js +4 -0
  570. package/features/function/is-constructor.js +4 -0
  571. package/features/function/name.js +1 -1
  572. package/features/function/un-this.js +4 -0
  573. package/features/function/virtual/bind.js +1 -1
  574. package/features/function/virtual/index.js +2 -1
  575. package/features/function/virtual/un-this.js +4 -0
  576. package/features/get-iterator-method.js +1 -1
  577. package/features/get-iterator.js +1 -1
  578. package/features/global-this.js +1 -1
  579. package/features/index.js +22 -0
  580. package/features/instance/at.js +6 -5
  581. package/features/instance/bind.js +1 -1
  582. package/features/instance/code-point-at.js +1 -1
  583. package/features/instance/code-points.js +4 -3
  584. package/features/instance/concat.js +1 -1
  585. package/features/instance/copy-within.js +1 -1
  586. package/features/instance/ends-with.js +1 -1
  587. package/features/instance/entries.js +1 -1
  588. package/features/instance/every.js +1 -1
  589. package/features/instance/fill.js +1 -1
  590. package/features/instance/filter-out.js +3 -2
  591. package/features/instance/filter-reject.js +3 -2
  592. package/features/instance/filter.js +1 -1
  593. package/features/instance/find-index.js +1 -1
  594. package/features/instance/find-last-index.js +2 -7
  595. package/features/instance/find-last.js +2 -7
  596. package/features/instance/find.js +1 -1
  597. package/features/instance/flags.js +1 -1
  598. package/features/instance/flat-map.js +1 -1
  599. package/features/instance/flat.js +1 -1
  600. package/features/instance/for-each.js +1 -1
  601. package/features/instance/group-by-to-map.js +3 -0
  602. package/features/instance/group-by.js +2 -7
  603. package/features/instance/includes.js +1 -1
  604. package/features/instance/index-of.js +1 -1
  605. package/features/instance/keys.js +1 -1
  606. package/features/instance/last-index-of.js +1 -1
  607. package/features/instance/map.js +1 -1
  608. package/features/instance/match-all.js +1 -1
  609. package/features/instance/pad-end.js +1 -1
  610. package/features/instance/pad-start.js +1 -1
  611. package/features/instance/reduce-right.js +1 -1
  612. package/features/instance/reduce.js +1 -1
  613. package/features/instance/repeat.js +1 -1
  614. package/features/instance/replace-all.js +1 -1
  615. package/features/instance/reverse.js +1 -1
  616. package/features/instance/slice.js +1 -1
  617. package/features/instance/some.js +1 -1
  618. package/features/instance/sort.js +1 -1
  619. package/features/instance/splice.js +1 -1
  620. package/features/instance/starts-with.js +1 -1
  621. package/features/instance/to-reversed.js +9 -0
  622. package/features/instance/to-sorted.js +9 -0
  623. package/features/instance/to-spliced.js +9 -0
  624. package/features/instance/trim-end.js +1 -1
  625. package/features/instance/trim-left.js +1 -1
  626. package/features/instance/trim-right.js +1 -1
  627. package/features/instance/trim-start.js +1 -1
  628. package/features/instance/trim.js +1 -1
  629. package/features/instance/un-this.js +9 -0
  630. package/features/instance/unique-by.js +3 -2
  631. package/features/instance/values.js +1 -1
  632. package/features/instance/with.js +9 -0
  633. package/features/is-iterable.js +1 -1
  634. package/features/iterator/index.js +2 -0
  635. package/features/iterator/to-async.js +8 -0
  636. package/features/json/index.js +1 -1
  637. package/features/json/stringify.js +1 -1
  638. package/features/json/to-string-tag.js +1 -1
  639. package/features/map/from.js +3 -2
  640. package/features/map/group-by.js +2 -1
  641. package/features/map/index.js +1 -1
  642. package/features/map/key-by.js +2 -1
  643. package/features/map/of.js +3 -2
  644. package/features/math/acosh.js +1 -1
  645. package/features/math/asinh.js +1 -1
  646. package/features/math/atanh.js +1 -1
  647. package/features/math/cbrt.js +1 -1
  648. package/features/math/clz32.js +1 -1
  649. package/features/math/cosh.js +1 -1
  650. package/features/math/expm1.js +1 -1
  651. package/features/math/fround.js +1 -1
  652. package/features/math/hypot.js +1 -1
  653. package/features/math/imul.js +1 -1
  654. package/features/math/index.js +1 -1
  655. package/features/math/log10.js +1 -1
  656. package/features/math/log1p.js +1 -1
  657. package/features/math/log2.js +1 -1
  658. package/features/math/sign.js +1 -1
  659. package/features/math/sinh.js +1 -1
  660. package/features/math/tanh.js +1 -1
  661. package/features/math/to-string-tag.js +1 -1
  662. package/features/math/trunc.js +1 -1
  663. package/features/number/constructor.js +1 -1
  664. package/features/number/epsilon.js +1 -1
  665. package/features/number/index.js +1 -1
  666. package/features/number/is-finite.js +1 -1
  667. package/features/number/is-integer.js +1 -1
  668. package/features/number/is-nan.js +1 -1
  669. package/features/number/is-safe-integer.js +1 -1
  670. package/features/number/max-safe-integer.js +1 -1
  671. package/features/number/min-safe-integer.js +1 -1
  672. package/features/number/parse-float.js +1 -1
  673. package/features/number/parse-int.js +1 -1
  674. package/features/number/to-exponential.js +3 -0
  675. package/features/number/to-fixed.js +1 -1
  676. package/features/number/to-precision.js +1 -1
  677. package/features/number/virtual/index.js +1 -1
  678. package/features/number/virtual/to-exponential.js +3 -0
  679. package/features/number/virtual/to-fixed.js +1 -1
  680. package/features/number/virtual/to-precision.js +1 -1
  681. package/features/object/assign.js +1 -1
  682. package/features/object/create.js +1 -1
  683. package/features/object/define-getter.js +1 -1
  684. package/features/object/define-properties.js +1 -1
  685. package/features/object/define-property.js +1 -1
  686. package/features/object/define-setter.js +1 -1
  687. package/features/object/entries.js +1 -1
  688. package/features/object/freeze.js +1 -1
  689. package/features/object/from-entries.js +1 -1
  690. package/features/object/get-own-property-descriptor.js +1 -1
  691. package/features/object/get-own-property-descriptors.js +1 -1
  692. package/features/object/get-own-property-names.js +1 -1
  693. package/features/object/get-own-property-symbols.js +1 -1
  694. package/features/object/get-prototype-of.js +1 -1
  695. package/features/object/has-own.js +1 -1
  696. package/features/object/index.js +1 -1
  697. package/features/object/is-extensible.js +1 -1
  698. package/features/object/is-frozen.js +1 -1
  699. package/features/object/is-sealed.js +1 -1
  700. package/features/object/is.js +1 -1
  701. package/features/object/keys.js +1 -1
  702. package/features/object/lookup-getter.js +1 -1
  703. package/features/object/lookup-setter.js +1 -1
  704. package/features/object/prevent-extensions.js +1 -1
  705. package/features/object/seal.js +1 -1
  706. package/features/object/set-prototype-of.js +1 -1
  707. package/features/object/to-string.js +1 -1
  708. package/features/object/values.js +1 -1
  709. package/features/parse-float.js +1 -1
  710. package/features/parse-int.js +1 -1
  711. package/features/promise/all-settled.js +1 -1
  712. package/features/promise/any.js +1 -1
  713. package/features/promise/finally.js +1 -1
  714. package/features/promise/index.js +1 -1
  715. package/features/promise/try.js +2 -1
  716. package/features/queue-microtask.js +1 -1
  717. package/features/reflect/apply.js +1 -1
  718. package/features/reflect/construct.js +1 -1
  719. package/features/reflect/define-property.js +1 -1
  720. package/features/reflect/delete-property.js +1 -1
  721. package/features/reflect/get-own-property-descriptor.js +1 -1
  722. package/features/reflect/get-prototype-of.js +1 -1
  723. package/features/reflect/get.js +1 -1
  724. package/features/reflect/has.js +1 -1
  725. package/features/reflect/index.js +1 -1
  726. package/features/reflect/is-extensible.js +1 -1
  727. package/features/reflect/own-keys.js +1 -1
  728. package/features/reflect/prevent-extensions.js +1 -1
  729. package/features/reflect/set-prototype-of.js +1 -1
  730. package/features/reflect/set.js +1 -1
  731. package/features/regexp/constructor.js +1 -1
  732. package/features/regexp/dot-all.js +1 -1
  733. package/features/regexp/flags.js +1 -1
  734. package/features/regexp/index.js +1 -1
  735. package/features/regexp/match.js +1 -1
  736. package/features/regexp/replace.js +1 -1
  737. package/features/regexp/search.js +1 -1
  738. package/features/regexp/split.js +1 -1
  739. package/features/regexp/sticky.js +1 -1
  740. package/features/regexp/test.js +1 -1
  741. package/features/regexp/to-string.js +1 -1
  742. package/features/set/from.js +3 -2
  743. package/features/set/index.js +1 -1
  744. package/features/set/of.js +3 -2
  745. package/features/set-immediate.js +1 -1
  746. package/features/set-interval.js +1 -1
  747. package/features/set-timeout.js +1 -1
  748. package/features/string/anchor.js +1 -1
  749. package/features/string/at.js +1 -1
  750. package/features/string/big.js +1 -1
  751. package/features/string/blink.js +1 -1
  752. package/features/string/bold.js +1 -1
  753. package/features/string/code-point-at.js +1 -1
  754. package/features/string/cooked.js +4 -0
  755. package/features/string/ends-with.js +1 -1
  756. package/features/string/fixed.js +1 -1
  757. package/features/string/fontcolor.js +1 -1
  758. package/features/string/fontsize.js +1 -1
  759. package/features/string/from-code-point.js +1 -1
  760. package/features/string/includes.js +1 -1
  761. package/features/string/index.js +3 -3
  762. package/features/string/italics.js +1 -1
  763. package/features/string/iterator.js +1 -1
  764. package/features/string/link.js +1 -1
  765. package/features/string/match-all.js +1 -1
  766. package/features/string/match.js +1 -1
  767. package/features/string/pad-end.js +1 -1
  768. package/features/string/pad-start.js +1 -1
  769. package/features/string/raw.js +1 -1
  770. package/features/string/repeat.js +1 -1
  771. package/features/string/replace-all.js +1 -1
  772. package/features/string/replace.js +1 -1
  773. package/features/string/search.js +1 -1
  774. package/features/string/small.js +1 -1
  775. package/features/string/split.js +1 -1
  776. package/features/string/starts-with.js +1 -1
  777. package/features/string/strike.js +1 -1
  778. package/features/string/sub.js +1 -1
  779. package/features/string/substr.js +1 -1
  780. package/features/string/sup.js +1 -1
  781. package/features/string/trim-end.js +1 -1
  782. package/features/string/trim-left.js +1 -1
  783. package/features/string/trim-right.js +1 -1
  784. package/features/string/trim-start.js +1 -1
  785. package/features/string/trim.js +1 -1
  786. package/features/string/virtual/anchor.js +1 -1
  787. package/features/string/virtual/at.js +1 -1
  788. package/features/string/virtual/big.js +1 -1
  789. package/features/string/virtual/blink.js +1 -1
  790. package/features/string/virtual/bold.js +1 -1
  791. package/features/string/virtual/code-point-at.js +1 -1
  792. package/features/string/virtual/ends-with.js +1 -1
  793. package/features/string/virtual/fixed.js +1 -1
  794. package/features/string/virtual/fontcolor.js +1 -1
  795. package/features/string/virtual/fontsize.js +1 -1
  796. package/features/string/virtual/includes.js +1 -1
  797. package/features/string/virtual/index.js +1 -1
  798. package/features/string/virtual/italics.js +1 -1
  799. package/features/string/virtual/iterator.js +1 -1
  800. package/features/string/virtual/link.js +1 -1
  801. package/features/string/virtual/match-all.js +1 -1
  802. package/features/string/virtual/pad-end.js +1 -1
  803. package/features/string/virtual/pad-start.js +1 -1
  804. package/features/string/virtual/repeat.js +1 -1
  805. package/features/string/virtual/replace-all.js +1 -1
  806. package/features/string/virtual/small.js +1 -1
  807. package/features/string/virtual/starts-with.js +1 -1
  808. package/features/string/virtual/strike.js +1 -1
  809. package/features/string/virtual/sub.js +1 -1
  810. package/features/string/virtual/substr.js +1 -1
  811. package/features/string/virtual/sup.js +1 -1
  812. package/features/string/virtual/trim-end.js +1 -1
  813. package/features/string/virtual/trim-left.js +1 -1
  814. package/features/string/virtual/trim-right.js +1 -1
  815. package/features/string/virtual/trim-start.js +1 -1
  816. package/features/string/virtual/trim.js +1 -1
  817. package/features/structured-clone.js +3 -0
  818. package/features/symbol/async-iterator.js +1 -1
  819. package/features/symbol/for.js +1 -1
  820. package/features/symbol/has-instance.js +1 -1
  821. package/features/symbol/index.js +1 -1
  822. package/features/symbol/is-concat-spreadable.js +1 -1
  823. package/features/symbol/iterator.js +1 -1
  824. package/features/symbol/key-for.js +1 -1
  825. package/features/symbol/match-all.js +1 -1
  826. package/features/symbol/match.js +1 -1
  827. package/features/symbol/replace.js +1 -1
  828. package/features/symbol/search.js +1 -1
  829. package/features/symbol/species.js +1 -1
  830. package/features/symbol/split.js +1 -1
  831. package/features/symbol/to-primitive.js +1 -1
  832. package/features/symbol/to-string-tag.js +1 -1
  833. package/features/symbol/unscopables.js +1 -1
  834. package/features/typed-array/at.js +1 -1
  835. package/features/typed-array/copy-within.js +1 -1
  836. package/features/typed-array/entries.js +1 -1
  837. package/features/typed-array/every.js +1 -1
  838. package/features/typed-array/fill.js +1 -1
  839. package/features/typed-array/filter.js +1 -1
  840. package/features/typed-array/find-index.js +1 -1
  841. package/features/typed-array/find-last-index.js +3 -1
  842. package/features/typed-array/find-last.js +3 -1
  843. package/features/typed-array/find.js +1 -1
  844. package/features/typed-array/float32-array.js +1 -1
  845. package/features/typed-array/float64-array.js +1 -1
  846. package/features/typed-array/for-each.js +1 -1
  847. package/features/typed-array/from.js +1 -1
  848. package/features/typed-array/includes.js +1 -1
  849. package/features/typed-array/index-of.js +1 -1
  850. package/features/typed-array/index.js +5 -3
  851. package/features/typed-array/int16-array.js +1 -1
  852. package/features/typed-array/int32-array.js +1 -1
  853. package/features/typed-array/int8-array.js +1 -1
  854. package/features/typed-array/iterator.js +1 -1
  855. package/features/typed-array/join.js +1 -1
  856. package/features/typed-array/keys.js +1 -1
  857. package/features/typed-array/last-index-of.js +1 -1
  858. package/features/typed-array/map.js +1 -1
  859. package/features/typed-array/methods.js +5 -3
  860. package/features/typed-array/of.js +1 -1
  861. package/features/typed-array/reduce-right.js +1 -1
  862. package/features/typed-array/reduce.js +1 -1
  863. package/features/typed-array/reverse.js +1 -1
  864. package/features/typed-array/set.js +1 -1
  865. package/features/typed-array/slice.js +1 -1
  866. package/features/typed-array/some.js +1 -1
  867. package/features/typed-array/sort.js +1 -1
  868. package/features/typed-array/subarray.js +1 -1
  869. package/features/typed-array/to-locale-string.js +1 -1
  870. package/features/typed-array/to-reversed.js +1 -0
  871. package/features/typed-array/to-sorted.js +2 -0
  872. package/features/typed-array/to-spliced.js +1 -0
  873. package/features/typed-array/to-string.js +1 -1
  874. package/features/typed-array/uint16-array.js +1 -1
  875. package/features/typed-array/uint32-array.js +1 -1
  876. package/features/typed-array/uint8-array.js +1 -1
  877. package/features/typed-array/uint8-clamped-array.js +1 -1
  878. package/features/typed-array/values.js +1 -1
  879. package/features/typed-array/with.js +1 -0
  880. package/features/unescape.js +1 -1
  881. package/features/url/index.js +1 -1
  882. package/features/url/to-json.js +1 -1
  883. package/features/url-search-params/index.js +1 -1
  884. package/features/weak-map/from.js +3 -2
  885. package/features/weak-map/index.js +1 -1
  886. package/features/weak-map/of.js +3 -2
  887. package/features/weak-set/from.js +3 -2
  888. package/features/weak-set/index.js +1 -1
  889. package/features/weak-set/of.js +3 -2
  890. package/internals/a-callable.js +3 -0
  891. package/internals/a-constructor.js +3 -0
  892. package/internals/a-possible-prototype.js +5 -1
  893. package/internals/an-instance.js +8 -3
  894. package/internals/an-object.js +4 -0
  895. package/internals/array-buffer-native.js +1 -1
  896. package/internals/array-buffer-non-extensible.js +10 -0
  897. package/internals/array-buffer-view-core.js +14 -8
  898. package/internals/array-buffer.js +29 -16
  899. package/internals/array-from-async.js +1 -1
  900. package/internals/array-from-constructor-and-list.js +3 -1
  901. package/internals/array-from.js +6 -2
  902. package/internals/array-group-by.js +7 -3
  903. package/internals/array-iteration-from-last.js +1 -1
  904. package/internals/array-iteration.js +5 -4
  905. package/internals/array-last-index-of.js +2 -1
  906. package/internals/array-reduce.js +3 -0
  907. package/internals/array-slice-simple.js +17 -0
  908. package/internals/array-slice.js +3 -0
  909. package/internals/array-sort.js +10 -11
  910. package/internals/array-species-constructor.js +2 -0
  911. package/internals/array-to-reversed.js +11 -0
  912. package/internals/array-to-spliced.js +35 -0
  913. package/internals/array-unique-by.js +13 -9
  914. package/internals/array-with.js +18 -0
  915. package/internals/async-from-sync-iterator.js +7 -4
  916. package/internals/async-iterator-create-proxy.js +7 -4
  917. package/internals/async-iterator-iteration.js +5 -2
  918. package/internals/classof-raw.js +5 -2
  919. package/internals/classof.js +3 -0
  920. package/internals/clear-error-stack.js +13 -0
  921. package/internals/collection-add-all.js +3 -2
  922. package/internals/collection-delete-all.js +3 -2
  923. package/internals/collection-from.js +7 -4
  924. package/internals/collection-of.js +3 -4
  925. package/internals/collection-strong.js +11 -9
  926. package/internals/collection-weak.js +10 -6
  927. package/internals/collection.js +8 -7
  928. package/internals/composite-key.js +9 -2
  929. package/internals/copy-constructor-properties.js +4 -2
  930. package/internals/create-html.js +3 -1
  931. package/internals/create-iterator-constructor.js +2 -2
  932. package/internals/date-to-iso-string.js +23 -13
  933. package/internals/date-to-primitive.js +3 -0
  934. package/internals/define-iterator.js +2 -1
  935. package/internals/dom-exception-constants.js +27 -0
  936. package/internals/engine-v8-version.js +10 -4
  937. package/internals/entry-unbind.js +3 -5
  938. package/internals/error-stack-installable.js +10 -0
  939. package/internals/error-to-string.js +30 -0
  940. package/internals/export.js +1 -1
  941. package/internals/fix-regexp-well-known-symbol-logic.js +5 -3
  942. package/internals/flatten-into-array.js +4 -1
  943. package/internals/function-apply.js +9 -0
  944. package/internals/function-bind-context.js +5 -17
  945. package/internals/function-bind.js +15 -9
  946. package/internals/function-call.js +5 -0
  947. package/internals/function-uncurry-this.js +12 -0
  948. package/internals/get-async-iterator.js +2 -1
  949. package/internals/get-iterator.js +7 -2
  950. package/internals/get-map-iterator.js +3 -1
  951. package/internals/get-set-iterator.js +3 -1
  952. package/internals/get-substitution.js +10 -7
  953. package/internals/has-own-property.js +3 -2
  954. package/internals/host-report-errors.js +1 -1
  955. package/internals/ie8-dom-define.js +1 -1
  956. package/internals/ieee754.js +24 -6
  957. package/internals/indexed-object.js +5 -2
  958. package/internals/inspect-source.js +3 -2
  959. package/internals/internal-metadata.js +4 -7
  960. package/internals/internal-state.js +9 -7
  961. package/internals/is-callable.js +1 -1
  962. package/internals/is-constructor.js +17 -6
  963. package/internals/is-iterable.js +4 -2
  964. package/internals/is-object.js +1 -1
  965. package/internals/is-symbol.js +6 -2
  966. package/internals/iterate.js +14 -6
  967. package/internals/iterator-close.js +2 -1
  968. package/internals/iterator-create-proxy.js +7 -4
  969. package/internals/map-emplace.js +8 -3
  970. package/internals/map-upsert.js +12 -4
  971. package/internals/math-log10.js +7 -0
  972. package/internals/math-scale.js +9 -12
  973. package/internals/microtask.js +6 -4
  974. package/internals/native-url.js +1 -0
  975. package/internals/normalize-string-argument.js +5 -0
  976. package/internals/not-a-regexp.js +3 -0
  977. package/internals/number-parse-float.js +8 -6
  978. package/internals/number-parse-int.js +3 -1
  979. package/internals/numeric-range-iterator.js +5 -1
  980. package/internals/object-assign.js +5 -2
  981. package/internals/object-create.js +2 -2
  982. package/internals/object-define-properties.js +5 -2
  983. package/internals/object-define-property.js +24 -1
  984. package/internals/object-get-own-property-descriptor.js +2 -1
  985. package/internals/object-get-own-property-names-external.js +4 -4
  986. package/internals/object-get-prototype-of.js +2 -1
  987. package/internals/object-is-extensible.js +16 -0
  988. package/internals/object-is-prototype-of.js +3 -0
  989. package/internals/object-keys-internal.js +5 -2
  990. package/internals/object-set-prototype-of.js +4 -3
  991. package/internals/object-to-array.js +7 -3
  992. package/internals/ordinary-to-primitive.js +7 -3
  993. package/internals/own-keys.js +4 -1
  994. package/internals/queue.js +23 -0
  995. package/internals/reflect-metadata.js +9 -3
  996. package/internals/regexp-exec-abstract.js +6 -2
  997. package/internals/regexp-exec.js +20 -16
  998. package/internals/regexp-sticky-helpers.js +14 -2
  999. package/internals/require-object-coercible.js +4 -0
  1000. package/internals/set-global.js +4 -2
  1001. package/internals/set-to-string-tag.js +4 -3
  1002. package/internals/shared.js +2 -2
  1003. package/internals/string-multibyte.js +13 -4
  1004. package/internals/string-pad.js +6 -3
  1005. package/internals/string-punycode-to-ascii.js +34 -20
  1006. package/internals/string-repeat.js +3 -0
  1007. package/internals/string-trim.js +4 -2
  1008. package/internals/task.js +11 -11
  1009. package/internals/this-number-value.js +2 -4
  1010. package/internals/to-index.js +3 -0
  1011. package/internals/to-object.js +3 -0
  1012. package/internals/to-offset.js +3 -0
  1013. package/internals/to-positive-integer.js +3 -0
  1014. package/internals/to-primitive.js +4 -1
  1015. package/internals/to-property-key.js +1 -1
  1016. package/internals/to-string.js +3 -0
  1017. package/internals/try-node-require.js +8 -0
  1018. package/internals/try-to-string.js +4 -0
  1019. package/internals/typed-array-constructor.js +10 -6
  1020. package/internals/typed-array-from.js +4 -3
  1021. package/internals/uid.js +4 -1
  1022. package/internals/v8-prototype-define-bug.js +12 -0
  1023. package/internals/well-known-symbol.js +5 -1
  1024. package/internals/wrap-error-constructor-with-cause.js +60 -0
  1025. package/modules/es.aggregate-error.cause.js +21 -0
  1026. package/modules/es.aggregate-error.js +21 -9
  1027. package/modules/es.array-buffer.slice.js +8 -4
  1028. package/modules/es.array.concat.js +2 -0
  1029. package/modules/es.array.index-of.js +7 -5
  1030. package/modules/es.array.iterator.js +9 -1
  1031. package/modules/es.array.join.js +3 -2
  1032. package/modules/es.array.of.js +3 -1
  1033. package/modules/es.array.reduce.js +2 -1
  1034. package/modules/es.array.reverse.js +3 -2
  1035. package/modules/es.array.slice.js +4 -2
  1036. package/modules/es.array.sort.js +7 -4
  1037. package/modules/es.array.splice.js +2 -0
  1038. package/modules/es.date.get-year.js +3 -2
  1039. package/modules/es.date.now.js +6 -1
  1040. package/modules/es.date.set-year.js +6 -4
  1041. package/modules/es.date.to-primitive.js +2 -1
  1042. package/modules/es.date.to-string.js +5 -4
  1043. package/modules/es.error.cause.js +56 -0
  1044. package/modules/es.error.to-string.js +10 -0
  1045. package/modules/es.escape.js +12 -5
  1046. package/modules/es.function.has-instance.js +3 -2
  1047. package/modules/es.function.name.js +5 -3
  1048. package/modules/es.json.stringify.js +18 -7
  1049. package/modules/es.map.js +1 -1
  1050. package/modules/es.math.log10.js +2 -6
  1051. package/modules/es.number.constructor.js +12 -7
  1052. package/modules/es.number.to-exponential.js +100 -0
  1053. package/modules/es.number.to-fixed.js +20 -13
  1054. package/modules/es.number.to-precision.js +6 -5
  1055. package/modules/es.object.define-properties.js +3 -2
  1056. package/modules/es.object.define-property.js +4 -3
  1057. package/modules/es.object.is-extensible.js +4 -10
  1058. package/modules/es.object.is-frozen.js +6 -2
  1059. package/modules/es.object.is-sealed.js +6 -2
  1060. package/modules/es.promise.all-settled.js +2 -2
  1061. package/modules/es.promise.any.js +5 -4
  1062. package/modules/es.promise.finally.js +1 -0
  1063. package/modules/es.promise.js +67 -59
  1064. package/modules/es.reflect.apply.js +4 -10
  1065. package/modules/es.reflect.construct.js +10 -5
  1066. package/modules/es.reflect.get.js +2 -1
  1067. package/modules/es.reflect.is-extensible.js +2 -4
  1068. package/modules/es.reflect.set.js +2 -1
  1069. package/modules/es.regexp.constructor.js +26 -16
  1070. package/modules/es.regexp.dot-all.js +5 -1
  1071. package/modules/es.regexp.flags.js +4 -2
  1072. package/modules/es.regexp.sticky.js +7 -3
  1073. package/modules/es.regexp.test.js +7 -3
  1074. package/modules/es.regexp.to-string.js +8 -5
  1075. package/modules/es.set.js +1 -1
  1076. package/modules/es.string.at-alternative.js +5 -2
  1077. package/modules/es.string.ends-with.js +6 -4
  1078. package/modules/es.string.from-code-point.js +7 -4
  1079. package/modules/es.string.includes.js +8 -2
  1080. package/modules/es.string.match-all.js +25 -19
  1081. package/modules/es.string.match.js +2 -1
  1082. package/modules/es.string.raw.js +6 -6
  1083. package/modules/es.string.replace-all.js +19 -13
  1084. package/modules/es.string.replace.js +19 -12
  1085. package/modules/es.string.search.js +2 -1
  1086. package/modules/es.string.split.js +23 -16
  1087. package/modules/es.string.starts-with.js +6 -4
  1088. package/modules/es.string.substr.js +3 -2
  1089. package/modules/es.symbol.description.js +20 -12
  1090. package/modules/es.symbol.js +36 -21
  1091. package/modules/es.typed-array.copy-within.js +4 -2
  1092. package/modules/es.typed-array.fill.js +9 -2
  1093. package/modules/es.typed-array.iterator.js +21 -13
  1094. package/modules/es.typed-array.join.js +3 -3
  1095. package/modules/es.typed-array.last-index-of.js +3 -2
  1096. package/modules/es.typed-array.reduce-right.js +2 -1
  1097. package/modules/es.typed-array.reduce.js +2 -1
  1098. package/modules/es.typed-array.set.js +22 -5
  1099. package/modules/es.typed-array.slice.js +2 -2
  1100. package/modules/es.typed-array.sort.js +13 -28
  1101. package/modules/es.typed-array.to-locale-string.js +7 -2
  1102. package/modules/es.typed-array.to-string.js +3 -2
  1103. package/modules/es.unescape.js +14 -9
  1104. package/modules/es.weak-map.js +20 -20
  1105. package/modules/esnext.array.group-by-to-map.js +38 -0
  1106. package/modules/esnext.array.group-by.js +1 -2
  1107. package/modules/esnext.array.is-template-object.js +1 -1
  1108. package/modules/esnext.array.to-reversed.js +18 -0
  1109. package/modules/esnext.array.to-sorted.js +25 -0
  1110. package/modules/esnext.array.to-spliced.js +20 -0
  1111. package/modules/esnext.array.with.js +15 -0
  1112. package/modules/esnext.async-iterator.as-indexed-pairs.js +2 -1
  1113. package/modules/esnext.async-iterator.constructor.js +1 -1
  1114. package/modules/esnext.async-iterator.drop.js +2 -1
  1115. package/modules/esnext.async-iterator.filter.js +2 -1
  1116. package/modules/esnext.async-iterator.flat-map.js +3 -2
  1117. package/modules/esnext.async-iterator.from.js +4 -4
  1118. package/modules/esnext.async-iterator.map.js +2 -1
  1119. package/modules/esnext.async-iterator.reduce.js +4 -1
  1120. package/modules/esnext.async-iterator.take.js +4 -2
  1121. package/modules/esnext.composite-key.js +5 -1
  1122. package/modules/esnext.composite-symbol.js +3 -2
  1123. package/modules/esnext.function.is-callable.js +29 -0
  1124. package/modules/esnext.function.is-constructor.js +8 -0
  1125. package/modules/esnext.function.un-this.js +11 -0
  1126. package/modules/esnext.iterator.as-indexed-pairs.js +2 -1
  1127. package/modules/esnext.iterator.constructor.js +1 -1
  1128. package/modules/esnext.iterator.drop.js +4 -2
  1129. package/modules/esnext.iterator.filter.js +2 -1
  1130. package/modules/esnext.iterator.flat-map.js +7 -3
  1131. package/modules/esnext.iterator.from.js +4 -4
  1132. package/modules/esnext.iterator.map.js +2 -1
  1133. package/modules/esnext.iterator.reduce.js +3 -0
  1134. package/modules/esnext.iterator.take.js +2 -1
  1135. package/modules/esnext.iterator.to-async.js +10 -0
  1136. package/modules/esnext.map.delete-all.js +2 -4
  1137. package/modules/esnext.map.emplace.js +2 -2
  1138. package/modules/esnext.map.every.js +1 -1
  1139. package/modules/esnext.map.filter.js +5 -4
  1140. package/modules/esnext.map.find-key.js +1 -1
  1141. package/modules/esnext.map.find.js +1 -1
  1142. package/modules/esnext.map.group-by.js +6 -2
  1143. package/modules/esnext.map.includes.js +1 -1
  1144. package/modules/esnext.map.key-by.js +2 -1
  1145. package/modules/esnext.map.map-keys.js +5 -4
  1146. package/modules/esnext.map.map-values.js +5 -4
  1147. package/modules/esnext.map.merge.js +1 -1
  1148. package/modules/esnext.map.reduce.js +3 -0
  1149. package/modules/esnext.map.some.js +1 -1
  1150. package/modules/esnext.map.update-or-insert.js +2 -2
  1151. package/modules/esnext.map.update.js +11 -4
  1152. package/modules/esnext.map.upsert.js +2 -2
  1153. package/modules/esnext.math.seeded-prng.js +3 -1
  1154. package/modules/esnext.number.from-string.js +12 -3
  1155. package/modules/esnext.observable.js +82 -62
  1156. package/modules/esnext.reflect.get-metadata-keys.js +5 -10
  1157. package/modules/esnext.set.add-all.js +2 -4
  1158. package/modules/esnext.set.delete-all.js +2 -4
  1159. package/modules/esnext.set.difference.js +3 -2
  1160. package/modules/esnext.set.every.js +1 -1
  1161. package/modules/esnext.set.filter.js +4 -3
  1162. package/modules/esnext.set.find.js +1 -1
  1163. package/modules/esnext.set.intersection.js +3 -2
  1164. package/modules/esnext.set.is-disjoint-from.js +3 -2
  1165. package/modules/esnext.set.is-subset-of.js +3 -2
  1166. package/modules/esnext.set.is-superset-of.js +3 -2
  1167. package/modules/esnext.set.join.js +9 -4
  1168. package/modules/esnext.set.map.js +5 -4
  1169. package/modules/esnext.set.reduce.js +3 -0
  1170. package/modules/esnext.set.some.js +1 -1
  1171. package/modules/esnext.set.symmetric-difference.js +3 -2
  1172. package/modules/esnext.string.at.js +10 -3
  1173. package/modules/esnext.string.cooked.js +30 -0
  1174. package/modules/esnext.typed-array.from-async.js +1 -1
  1175. package/modules/esnext.typed-array.group-by.js +1 -0
  1176. package/modules/esnext.typed-array.to-reversed.js +13 -0
  1177. package/modules/esnext.typed-array.to-sorted.js +19 -0
  1178. package/modules/esnext.typed-array.to-spliced.js +15 -0
  1179. package/modules/esnext.typed-array.unique-by.js +4 -2
  1180. package/modules/esnext.typed-array.with.js +13 -0
  1181. package/modules/esnext.weak-map.delete-all.js +2 -4
  1182. package/modules/esnext.weak-map.emplace.js +2 -2
  1183. package/modules/esnext.weak-map.upsert.js +2 -2
  1184. package/modules/esnext.weak-set.add-all.js +2 -4
  1185. package/modules/esnext.weak-set.delete-all.js +2 -4
  1186. package/modules/web.dom-exception.constructor.js +141 -0
  1187. package/modules/web.dom-exception.stack.js +58 -0
  1188. package/modules/web.dom-exception.to-string-tag.js +6 -0
  1189. package/modules/web.structured-clone.js +461 -0
  1190. package/modules/web.timers.js +5 -4
  1191. package/modules/web.url-search-params.js +123 -105
  1192. package/modules/web.url.js +662 -626
  1193. package/modules/web.url.to-json.js +2 -1
  1194. package/package.json +2 -2
  1195. package/postinstall.js +1 -1
  1196. package/proposals/accessible-object-hasownproperty.js +0 -1
  1197. package/proposals/array-flat-map.js +5 -0
  1198. package/proposals/array-from-async.js +1 -0
  1199. package/proposals/array-grouping.js +2 -0
  1200. package/proposals/array-includes.js +3 -0
  1201. package/proposals/array-is-template-object.js +1 -0
  1202. package/proposals/array-last.js +1 -0
  1203. package/proposals/async-iteration.js +2 -0
  1204. package/proposals/change-array-by-copy.js +9 -0
  1205. package/proposals/collection-methods.js +1 -0
  1206. package/proposals/collection-of-from.js +1 -0
  1207. package/proposals/efficient-64-bit-arithmetic.js +1 -0
  1208. package/proposals/error-cause.js +3 -0
  1209. package/proposals/function-is-callable-is-constructor.js +3 -0
  1210. package/proposals/function-un-this.js +2 -0
  1211. package/proposals/global-this.js +1 -0
  1212. package/proposals/index.js +1 -0
  1213. package/proposals/iterator-helpers.js +2 -0
  1214. package/proposals/keys-composition.js +1 -0
  1215. package/proposals/map-update-or-insert.js +1 -0
  1216. package/proposals/map-upsert.js +1 -1
  1217. package/proposals/math-extensions.js +1 -0
  1218. package/proposals/math-signbit.js +1 -0
  1219. package/proposals/number-from-string.js +1 -0
  1220. package/proposals/object-from-entries.js +2 -0
  1221. package/proposals/object-getownpropertydescriptors.js +2 -0
  1222. package/proposals/object-iteration.js +1 -0
  1223. package/proposals/object-values-entries.js +3 -0
  1224. package/proposals/observable.js +1 -0
  1225. package/proposals/promise-all-settled.js +1 -1
  1226. package/proposals/promise-any.js +1 -0
  1227. package/proposals/promise-finally.js +2 -0
  1228. package/proposals/promise-try.js +1 -0
  1229. package/proposals/reflect-metadata.js +1 -0
  1230. package/proposals/regexp-dotall-flag.js +5 -0
  1231. package/proposals/regexp-named-groups.js +4 -0
  1232. package/proposals/relative-indexing-method.js +0 -1
  1233. package/proposals/seeded-random.js +1 -0
  1234. package/proposals/set-methods.js +1 -0
  1235. package/proposals/string-at.js +1 -0
  1236. package/proposals/string-code-points.js +1 -0
  1237. package/proposals/string-cooked.js +2 -0
  1238. package/proposals/string-left-right-trim.js +3 -0
  1239. package/proposals/string-match-all.js +1 -1
  1240. package/proposals/string-padding.js +3 -0
  1241. package/proposals/string-replace-all.js +1 -0
  1242. package/proposals/symbol-description.js +2 -0
  1243. package/proposals/url.js +1 -0
  1244. package/proposals/well-formed-stringify.js +2 -0
  1245. package/stable/dom-exception/constructor.js +6 -0
  1246. package/stable/dom-exception/index.js +7 -0
  1247. package/stable/dom-exception/to-string-tag.js +3 -0
  1248. package/stable/error/constructor.js +3 -0
  1249. package/stable/error/index.js +3 -0
  1250. package/stable/error/to-string.js +3 -0
  1251. package/stable/index.js +8 -0
  1252. package/stable/instance/entries.js +6 -4
  1253. package/stable/instance/for-each.js +6 -4
  1254. package/stable/instance/keys.js +6 -4
  1255. package/stable/instance/values.js +6 -4
  1256. package/stable/number/to-exponential.js +3 -0
  1257. package/stable/number/virtual/to-exponential.js +3 -0
  1258. package/stable/structured-clone.js +13 -0
  1259. package/stable/symbol/description.js +3 -1
  1260. package/stage/0.js +2 -0
  1261. package/stage/1.js +1 -2
  1262. package/stage/2.js +2 -0
  1263. package/stage/3.js +1 -0
  1264. package/stage/4.js +2 -0
  1265. package/web/dom-exception.js +7 -0
  1266. package/web/index.js +4 -0
  1267. package/web/structured-clone.js +8 -0
@@ -1,5 +1,6 @@
1
1
  'use strict';
2
2
  var $ = require('../internals/export');
3
+ var uncurryThis = require('../internals/function-uncurry-this');
3
4
  var aCallable = require('../internals/a-callable');
4
5
  var toObject = require('../internals/to-object');
5
6
  var lengthOfArrayLike = require('../internals/length-of-array-like');
@@ -13,7 +14,8 @@ var V8 = require('../internals/engine-v8-version');
13
14
  var WEBKIT = require('../internals/engine-webkit-version');
14
15
 
15
16
  var test = [];
16
- var nativeSort = test.sort;
17
+ var un$Sort = uncurryThis(test.sort);
18
+ var push = uncurryThis(test.push);
17
19
 
18
20
  // IE8-
19
21
  var FAILS_ON_UNDEFINED = fails(function () {
@@ -80,17 +82,18 @@ $({ target: 'Array', proto: true, forced: FORCED }, {
80
82
 
81
83
  var array = toObject(this);
82
84
 
83
- if (STABLE_SORT) return comparefn === undefined ? nativeSort.call(array) : nativeSort.call(array, comparefn);
85
+ if (STABLE_SORT) return comparefn === undefined ? un$Sort(array) : un$Sort(array, comparefn);
84
86
 
85
87
  var items = [];
86
88
  var arrayLength = lengthOfArrayLike(array);
87
89
  var itemsLength, index;
88
90
 
89
91
  for (index = 0; index < arrayLength; index++) {
90
- if (index in array) items.push(array[index]);
92
+ if (index in array) push(items, array[index]);
91
93
  }
92
94
 
93
- items = internalSort(items, getSortCompare(comparefn));
95
+ internalSort(items, getSortCompare(comparefn));
96
+
94
97
  itemsLength = items.length;
95
98
  index = 0;
96
99
 
@@ -1,5 +1,6 @@
1
1
  'use strict';
2
2
  var $ = require('../internals/export');
3
+ var global = require('../internals/global');
3
4
  var toAbsoluteIndex = require('../internals/to-absolute-index');
4
5
  var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
5
6
  var lengthOfArrayLike = require('../internals/length-of-array-like');
@@ -10,6 +11,7 @@ var arrayMethodHasSpeciesSupport = require('../internals/array-method-has-specie
10
11
 
11
12
  var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice');
12
13
 
14
+ var TypeError = global.TypeError;
13
15
  var max = Math.max;
14
16
  var min = Math.min;
15
17
  var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
@@ -1,17 +1,18 @@
1
1
  'use strict';
2
2
  var $ = require('../internals/export');
3
+ var uncurryThis = require('../internals/function-uncurry-this');
3
4
  var fails = require('../internals/fails');
4
5
 
5
6
  var FORCED = fails(function () {
6
7
  return new Date(16e11).getYear() !== 120;
7
8
  });
8
9
 
9
- var getFullYear = Date.prototype.getFullYear;
10
+ var getFullYear = uncurryThis(Date.prototype.getFullYear);
10
11
 
11
12
  // `Date.prototype.getYear` method
12
13
  // https://tc39.es/ecma262/#sec-date.prototype.getyear
13
14
  $({ target: 'Date', proto: true, forced: FORCED }, {
14
15
  getYear: function getYear() {
15
- return getFullYear.call(this) - 1900;
16
+ return getFullYear(this) - 1900;
16
17
  }
17
18
  });
@@ -1,9 +1,14 @@
1
1
  var $ = require('../internals/export');
2
+ var global = require('../internals/global');
3
+ var uncurryThis = require('../internals/function-uncurry-this');
4
+
5
+ var Date = global.Date;
6
+ var getTime = uncurryThis(Date.prototype.getTime);
2
7
 
3
8
  // `Date.now` method
4
9
  // https://tc39.es/ecma262/#sec-date.now
5
10
  $({ target: 'Date', stat: true }, {
6
11
  now: function now() {
7
- return new Date().getTime();
12
+ return getTime(new Date());
8
13
  }
9
14
  });
@@ -1,18 +1,20 @@
1
1
  'use strict';
2
2
  var $ = require('../internals/export');
3
+ var uncurryThis = require('../internals/function-uncurry-this');
3
4
  var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
4
5
 
5
- var getTime = Date.prototype.getTime;
6
- var setFullYear = Date.prototype.setFullYear;
6
+ var DatePrototype = Date.prototype;
7
+ var getTime = uncurryThis(DatePrototype.getTime);
8
+ var setFullYear = uncurryThis(DatePrototype.setFullYear);
7
9
 
8
10
  // `Date.prototype.setYear` method
9
11
  // https://tc39.es/ecma262/#sec-date.prototype.setyear
10
12
  $({ target: 'Date', proto: true }, {
11
13
  setYear: function setYear(year) {
12
14
  // validate
13
- getTime.call(this);
15
+ getTime(this);
14
16
  var yi = toIntegerOrInfinity(year);
15
17
  var yyyy = 0 <= yi && yi <= 99 ? yi + 1900 : yi;
16
- return setFullYear.call(this, yyyy);
18
+ return setFullYear(this, yyyy);
17
19
  }
18
20
  });
@@ -1,3 +1,4 @@
1
+ var hasOwn = require('../internals/has-own-property');
1
2
  var redefine = require('../internals/redefine');
2
3
  var dateToPrimitive = require('../internals/date-to-primitive');
3
4
  var wellKnownSymbol = require('../internals/well-known-symbol');
@@ -7,6 +8,6 @@ var DatePrototype = Date.prototype;
7
8
 
8
9
  // `Date.prototype[@@toPrimitive]` method
9
10
  // https://tc39.es/ecma262/#sec-date.prototype-@@toprimitive
10
- if (!(TO_PRIMITIVE in DatePrototype)) {
11
+ if (!hasOwn(DatePrototype, TO_PRIMITIVE)) {
11
12
  redefine(DatePrototype, TO_PRIMITIVE, dateToPrimitive);
12
13
  }
@@ -1,17 +1,18 @@
1
+ var uncurryThis = require('../internals/function-uncurry-this');
1
2
  var redefine = require('../internals/redefine');
2
3
 
3
4
  var DatePrototype = Date.prototype;
4
5
  var INVALID_DATE = 'Invalid Date';
5
6
  var TO_STRING = 'toString';
6
- var nativeDateToString = DatePrototype[TO_STRING];
7
- var getTime = DatePrototype.getTime;
7
+ var un$DateToString = uncurryThis(DatePrototype[TO_STRING]);
8
+ var getTime = uncurryThis(DatePrototype.getTime);
8
9
 
9
10
  // `Date.prototype.toString` method
10
11
  // https://tc39.es/ecma262/#sec-date.prototype.tostring
11
12
  if (String(new Date(NaN)) != INVALID_DATE) {
12
13
  redefine(DatePrototype, TO_STRING, function toString() {
13
- var value = getTime.call(this);
14
+ var value = getTime(this);
14
15
  // eslint-disable-next-line no-self-compare -- NaN check
15
- return value === value ? nativeDateToString.call(this) : INVALID_DATE;
16
+ return value === value ? un$DateToString(this) : INVALID_DATE;
16
17
  });
17
18
  }
@@ -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,11 +1,18 @@
1
1
  'use strict';
2
2
  var $ = require('../internals/export');
3
+ var uncurryThis = require('../internals/function-uncurry-this');
3
4
  var toString = require('../internals/to-string');
4
5
 
6
+ var charAt = uncurryThis(''.charAt);
7
+ var charCodeAt = uncurryThis(''.charCodeAt);
8
+ var exec = uncurryThis(/./.exec);
9
+ var numberToString = uncurryThis(1.0.toString);
10
+ var toUpperCase = uncurryThis(''.toUpperCase);
11
+
5
12
  var raw = /[\w*+\-./@]/;
6
13
 
7
14
  var hex = function (code, length) {
8
- var result = code.toString(16);
15
+ var result = numberToString(code, 16);
9
16
  while (result.length < length) result = '0' + result;
10
17
  return result;
11
18
  };
@@ -20,15 +27,15 @@ $({ global: true }, {
20
27
  var index = 0;
21
28
  var chr, code;
22
29
  while (index < length) {
23
- chr = str.charAt(index++);
24
- if (raw.test(chr)) {
30
+ chr = charAt(str, index++);
31
+ if (exec(raw, chr)) {
25
32
  result += chr;
26
33
  } else {
27
- code = chr.charCodeAt(0);
34
+ code = charCodeAt(chr, 0);
28
35
  if (code < 256) {
29
36
  result += '%' + hex(code, 2);
30
37
  } else {
31
- result += '%u' + hex(code, 4).toUpperCase();
38
+ result += '%u' + toUpperCase(hex(code, 4));
32
39
  }
33
40
  }
34
41
  } return result;
@@ -13,9 +13,10 @@ var FunctionPrototype = Function.prototype;
13
13
  if (!(HAS_INSTANCE in FunctionPrototype)) {
14
14
  definePropertyModule.f(FunctionPrototype, HAS_INSTANCE, { value: function (O) {
15
15
  if (!isCallable(this) || !isObject(O)) return false;
16
- if (!isObject(this.prototype)) return O instanceof this;
16
+ var P = this.prototype;
17
+ if (!isObject(P)) return O instanceof this;
17
18
  // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:
18
- while (O = getPrototypeOf(O)) if (this.prototype === O) return true;
19
+ while (O = getPrototypeOf(O)) if (P === O) return true;
19
20
  return false;
20
21
  } });
21
22
  }
@@ -1,10 +1,12 @@
1
1
  var DESCRIPTORS = require('../internals/descriptors');
2
2
  var FUNCTION_NAME_EXISTS = require('../internals/function-name').EXISTS;
3
+ var uncurryThis = require('../internals/function-uncurry-this');
3
4
  var defineProperty = require('../internals/object-define-property').f;
4
5
 
5
6
  var FunctionPrototype = Function.prototype;
6
- var FunctionPrototypeToString = FunctionPrototype.toString;
7
- var nameRE = /^\s*function ([^ (]*)/;
7
+ var functionToString = uncurryThis(FunctionPrototype.toString);
8
+ var nameRE = /function\b(?:\s|\/\*[\S\s]*?\*\/|\/\/[^\n\r]*[\n\r]+)*([^\s(/]*)/;
9
+ var regExpExec = uncurryThis(nameRE.exec);
8
10
  var NAME = 'name';
9
11
 
10
12
  // Function instances `.name` property
@@ -14,7 +16,7 @@ if (DESCRIPTORS && !FUNCTION_NAME_EXISTS) {
14
16
  configurable: true,
15
17
  get: function () {
16
18
  try {
17
- return FunctionPrototypeToString.call(this).match(nameRE)[1];
19
+ return regExpExec(nameRE, functionToString(this))[1];
18
20
  } catch (error) {
19
21
  return '';
20
22
  }
@@ -1,17 +1,27 @@
1
1
  var $ = require('../internals/export');
2
+ var global = require('../internals/global');
2
3
  var getBuiltIn = require('../internals/get-built-in');
4
+ var apply = require('../internals/function-apply');
5
+ var uncurryThis = require('../internals/function-uncurry-this');
3
6
  var fails = require('../internals/fails');
4
7
 
8
+ var Array = global.Array;
5
9
  var $stringify = getBuiltIn('JSON', 'stringify');
6
- var re = /[\uD800-\uDFFF]/g;
10
+ var exec = uncurryThis(/./.exec);
11
+ var charAt = uncurryThis(''.charAt);
12
+ var charCodeAt = uncurryThis(''.charCodeAt);
13
+ var replace = uncurryThis(''.replace);
14
+ var numberToString = uncurryThis(1.0.toString);
15
+
16
+ var tester = /[\uD800-\uDFFF]/g;
7
17
  var low = /^[\uD800-\uDBFF]$/;
8
18
  var hi = /^[\uDC00-\uDFFF]$/;
9
19
 
10
20
  var fix = function (match, offset, string) {
11
- var prev = string.charAt(offset - 1);
12
- var next = string.charAt(offset + 1);
13
- if ((low.test(match) && !hi.test(next)) || (hi.test(match) && !low.test(prev))) {
14
- return '\\u' + match.charCodeAt(0).toString(16);
21
+ var prev = charAt(string, offset - 1);
22
+ var next = charAt(string, offset + 1);
23
+ if ((exec(low, match) && !exec(hi, next)) || (exec(hi, match) && !exec(low, prev))) {
24
+ return '\\u' + numberToString(charCodeAt(match, 0), 16);
15
25
  } return match;
16
26
  };
17
27
 
@@ -27,8 +37,9 @@ if ($stringify) {
27
37
  $({ target: 'JSON', stat: true, forced: FORCED }, {
28
38
  // eslint-disable-next-line no-unused-vars -- required for `.length`
29
39
  stringify: function stringify(it, replacer, space) {
30
- var result = $stringify.apply(null, arguments);
31
- return typeof result == 'string' ? result.replace(re, fix) : result;
40
+ for (var i = 0, l = arguments.length, args = Array(l); i < l; i++) args[i] = arguments[i];
41
+ var result = apply($stringify, null, args);
42
+ return typeof result == 'string' ? replace(result, tester, fix) : result;
32
43
  }
33
44
  });
34
45
  }
package/modules/es.map.js CHANGED
@@ -4,6 +4,6 @@ var collectionStrong = require('../internals/collection-strong');
4
4
 
5
5
  // `Map` constructor
6
6
  // https://tc39.es/ecma262/#sec-map-objects
7
- module.exports = collection('Map', function (init) {
7
+ collection('Map', function (init) {
8
8
  return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };
9
9
  }, collectionStrong);
@@ -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
  });
@@ -1,10 +1,12 @@
1
1
  'use strict';
2
2
  var DESCRIPTORS = require('../internals/descriptors');
3
3
  var global = require('../internals/global');
4
+ var uncurryThis = require('../internals/function-uncurry-this');
4
5
  var isForced = require('../internals/is-forced');
5
6
  var redefine = require('../internals/redefine');
6
7
  var hasOwn = require('../internals/has-own-property');
7
8
  var inheritIfRequired = require('../internals/inherit-if-required');
9
+ var isPrototypeOf = require('../internals/object-is-prototype-of');
8
10
  var isSymbol = require('../internals/is-symbol');
9
11
  var toPrimitive = require('../internals/to-primitive');
10
12
  var fails = require('../internals/fails');
@@ -17,12 +19,15 @@ var trim = require('../internals/string-trim').trim;
17
19
  var NUMBER = 'Number';
18
20
  var NativeNumber = global[NUMBER];
19
21
  var NumberPrototype = NativeNumber.prototype;
22
+ var TypeError = global.TypeError;
23
+ var arraySlice = uncurryThis(''.slice);
24
+ var charCodeAt = uncurryThis(''.charCodeAt);
20
25
 
21
26
  // `ToNumeric` abstract operation
22
27
  // https://tc39.es/ecma262/#sec-tonumeric
23
28
  var toNumeric = function (value) {
24
29
  var primValue = toPrimitive(value, 'number');
25
- return typeof primValue === 'bigint' ? primValue : toNumber(primValue);
30
+ return typeof primValue == 'bigint' ? primValue : toNumber(primValue);
26
31
  };
27
32
 
28
33
  // `ToNumber` abstract operation
@@ -33,20 +38,20 @@ var toNumber = function (argument) {
33
38
  if (isSymbol(it)) throw TypeError('Cannot convert a Symbol value to a number');
34
39
  if (typeof it == 'string' && it.length > 2) {
35
40
  it = trim(it);
36
- first = it.charCodeAt(0);
41
+ first = charCodeAt(it, 0);
37
42
  if (first === 43 || first === 45) {
38
- third = it.charCodeAt(2);
43
+ third = charCodeAt(it, 2);
39
44
  if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix
40
45
  } else if (first === 48) {
41
- switch (it.charCodeAt(1)) {
46
+ switch (charCodeAt(it, 1)) {
42
47
  case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i
43
48
  case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i
44
49
  default: return +it;
45
50
  }
46
- digits = it.slice(2);
51
+ digits = arraySlice(it, 2);
47
52
  length = digits.length;
48
53
  for (index = 0; index < length; index++) {
49
- code = digits.charCodeAt(index);
54
+ code = charCodeAt(digits, index);
50
55
  // parseInt parses a string to a first unavailable symbol
51
56
  // but ToNumber should return NaN if a string contains unavailable symbols
52
57
  if (code < 48 || code > maxCode) return NaN;
@@ -62,7 +67,7 @@ if (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumb
62
67
  var n = arguments.length < 1 ? 0 : NativeNumber(toNumeric(value));
63
68
  var dummy = this;
64
69
  // check on 1..constructor(foo) case
65
- return dummy instanceof NumberWrapper && fails(function () { thisNumberValue(dummy); })
70
+ return isPrototypeOf(NumberPrototype, dummy) && fails(function () { thisNumberValue(dummy); })
66
71
  ? inheritIfRequired(Object(n), dummy, NumberWrapper) : n;
67
72
  };
68
73
  for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (
@@ -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
+ });
@@ -1,12 +1,18 @@
1
1
  'use strict';
2
2
  var $ = require('../internals/export');
3
+ var global = require('../internals/global');
4
+ var uncurryThis = require('../internals/function-uncurry-this');
3
5
  var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
4
6
  var thisNumberValue = require('../internals/this-number-value');
5
- var repeat = require('../internals/string-repeat');
7
+ var $repeat = require('../internals/string-repeat');
6
8
  var fails = require('../internals/fails');
7
9
 
8
- var nativeToFixed = 1.0.toFixed;
10
+ var RangeError = global.RangeError;
11
+ var String = global.String;
9
12
  var floor = Math.floor;
13
+ var repeat = uncurryThis($repeat);
14
+ var stringSlice = uncurryThis(''.slice);
15
+ var un$ToFixed = uncurryThis(1.0.toFixed);
10
16
 
11
17
  var pow = function (x, n, acc) {
12
18
  return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);
@@ -51,19 +57,19 @@ var dataToString = function (data) {
51
57
  while (--index >= 0) {
52
58
  if (s !== '' || index === 0 || data[index] !== 0) {
53
59
  var t = String(data[index]);
54
- s = s === '' ? t : s + repeat.call('0', 7 - t.length) + t;
60
+ s = s === '' ? t : s + repeat('0', 7 - t.length) + t;
55
61
  }
56
62
  } return s;
57
63
  };
58
64
 
59
- var FORCED = nativeToFixed && (
60
- 0.00008.toFixed(3) !== '0.000' ||
61
- 0.9.toFixed(0) !== '1' ||
62
- 1.255.toFixed(2) !== '1.25' ||
63
- 1000000000000000128.0.toFixed(0) !== '1000000000000000128'
64
- ) || !fails(function () {
65
+ var FORCED = fails(function () {
66
+ return un$ToFixed(0.00008, 3) !== '0.000' ||
67
+ un$ToFixed(0.9, 0) !== '1' ||
68
+ un$ToFixed(1.255, 2) !== '1.25' ||
69
+ un$ToFixed(1000000000000000128.0, 0) !== '1000000000000000128';
70
+ }) || !fails(function () {
65
71
  // V8 ~ Android 4.3-
66
- nativeToFixed.call({});
72
+ un$ToFixed({});
67
73
  });
68
74
 
69
75
  // `Number.prototype.toFixed` method
@@ -77,6 +83,7 @@ $({ target: 'Number', proto: true, forced: FORCED }, {
77
83
  var result = '0';
78
84
  var e, z, j, k;
79
85
 
86
+ // TODO: ES2018 increased the maximum number of fraction digits to 100, need to improve the implementation
80
87
  if (fractDigits < 0 || fractDigits > 20) throw RangeError('Incorrect fraction digits');
81
88
  // eslint-disable-next-line no-self-compare -- NaN check
82
89
  if (number != number) return 'NaN';
@@ -110,14 +117,14 @@ $({ target: 'Number', proto: true, forced: FORCED }, {
110
117
  } else {
111
118
  multiply(data, 0, z);
112
119
  multiply(data, 1 << -e, 0);
113
- result = dataToString(data) + repeat.call('0', fractDigits);
120
+ result = dataToString(data) + repeat('0', fractDigits);
114
121
  }
115
122
  }
116
123
  if (fractDigits > 0) {
117
124
  k = result.length;
118
125
  result = sign + (k <= fractDigits
119
- ? '0.' + repeat.call('0', fractDigits - k) + result
120
- : result.slice(0, k - fractDigits) + '.' + result.slice(k - fractDigits));
126
+ ? '0.' + repeat('0', fractDigits - k) + result
127
+ : stringSlice(result, 0, k - fractDigits) + '.' + stringSlice(result, k - fractDigits));
121
128
  } else {
122
129
  result = sign + result;
123
130
  } return result;
@@ -1,16 +1,17 @@
1
1
  'use strict';
2
2
  var $ = require('../internals/export');
3
+ var uncurryThis = require('../internals/function-uncurry-this');
3
4
  var fails = require('../internals/fails');
4
5
  var thisNumberValue = require('../internals/this-number-value');
5
6
 
6
- var nativeToPrecision = 1.0.toPrecision;
7
+ var un$ToPrecision = uncurryThis(1.0.toPrecision);
7
8
 
8
9
  var FORCED = fails(function () {
9
10
  // IE7-
10
- return nativeToPrecision.call(1, undefined) !== '1';
11
+ return un$ToPrecision(1, undefined) !== '1';
11
12
  }) || !fails(function () {
12
13
  // V8 ~ Android 4.3-
13
- nativeToPrecision.call({});
14
+ un$ToPrecision({});
14
15
  });
15
16
 
16
17
  // `Number.prototype.toPrecision` method
@@ -18,7 +19,7 @@ var FORCED = fails(function () {
18
19
  $({ target: 'Number', proto: true, forced: FORCED }, {
19
20
  toPrecision: function toPrecision(precision) {
20
21
  return precision === undefined
21
- ? nativeToPrecision.call(thisNumberValue(this))
22
- : nativeToPrecision.call(thisNumberValue(this), precision);
22
+ ? un$ToPrecision(thisNumberValue(this))
23
+ : un$ToPrecision(thisNumberValue(this), precision);
23
24
  }
24
25
  });
@@ -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
  });