core-js-pure 3.1.2 → 3.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (727) hide show
  1. package/README.md +3 -3
  2. package/es/array/concat.js +2 -1
  3. package/es/array/copy-within.js +2 -1
  4. package/es/array/entries.js +2 -1
  5. package/es/array/every.js +2 -1
  6. package/es/array/fill.js +2 -1
  7. package/es/array/filter.js +2 -1
  8. package/es/array/find-index.js +2 -1
  9. package/es/array/find.js +2 -1
  10. package/es/array/flat-map.js +2 -1
  11. package/es/array/flat.js +2 -1
  12. package/es/array/for-each.js +2 -1
  13. package/es/array/from.js +2 -1
  14. package/es/array/includes.js +2 -1
  15. package/es/array/index-of.js +2 -1
  16. package/es/array/index.js +2 -1
  17. package/es/array/is-array.js +2 -1
  18. package/es/array/iterator.js +2 -1
  19. package/es/array/join.js +2 -1
  20. package/es/array/keys.js +2 -1
  21. package/es/array/last-index-of.js +2 -1
  22. package/es/array/map.js +2 -1
  23. package/es/array/of.js +2 -1
  24. package/es/array/reduce-right.js +2 -1
  25. package/es/array/reduce.js +2 -1
  26. package/es/array/reverse.js +2 -1
  27. package/es/array/slice.js +2 -1
  28. package/es/array/some.js +2 -1
  29. package/es/array/sort.js +2 -1
  30. package/es/array/splice.js +2 -1
  31. package/es/array/values.js +2 -1
  32. package/es/array/virtual/concat.js +2 -1
  33. package/es/array/virtual/copy-within.js +2 -1
  34. package/es/array/virtual/entries.js +2 -1
  35. package/es/array/virtual/every.js +2 -1
  36. package/es/array/virtual/fill.js +2 -1
  37. package/es/array/virtual/filter.js +2 -1
  38. package/es/array/virtual/find-index.js +2 -1
  39. package/es/array/virtual/find.js +2 -1
  40. package/es/array/virtual/flat-map.js +2 -1
  41. package/es/array/virtual/flat.js +2 -1
  42. package/es/array/virtual/for-each.js +2 -1
  43. package/es/array/virtual/includes.js +2 -1
  44. package/es/array/virtual/index-of.js +2 -1
  45. package/es/array/virtual/index.js +2 -1
  46. package/es/array/virtual/iterator.js +2 -1
  47. package/es/array/virtual/join.js +2 -1
  48. package/es/array/virtual/keys.js +2 -1
  49. package/es/array/virtual/last-index-of.js +2 -1
  50. package/es/array/virtual/map.js +2 -1
  51. package/es/array/virtual/reduce-right.js +2 -1
  52. package/es/array/virtual/reduce.js +2 -1
  53. package/es/array/virtual/reverse.js +2 -1
  54. package/es/array/virtual/slice.js +2 -1
  55. package/es/array/virtual/some.js +2 -1
  56. package/es/array/virtual/sort.js +2 -1
  57. package/es/array/virtual/splice.js +2 -1
  58. package/es/array/virtual/values.js +2 -1
  59. package/es/array-buffer/constructor.js +2 -1
  60. package/es/array-buffer/index.js +2 -1
  61. package/es/array-buffer/is-view.js +2 -1
  62. package/es/data-view/index.js +2 -1
  63. package/es/date/index.js +2 -1
  64. package/es/date/now.js +2 -1
  65. package/es/date/to-iso-string.js +2 -1
  66. package/es/date/to-json.js +2 -1
  67. package/es/function/bind.js +2 -1
  68. package/es/function/has-instance.js +2 -1
  69. package/es/function/index.js +2 -1
  70. package/es/function/virtual/bind.js +2 -1
  71. package/es/function/virtual/index.js +2 -1
  72. package/es/index.js +1 -0
  73. package/es/instance/bind.js +1 -0
  74. package/es/instance/code-point-at.js +1 -0
  75. package/es/instance/concat.js +1 -0
  76. package/es/instance/copy-within.js +1 -0
  77. package/es/instance/ends-with.js +1 -0
  78. package/es/instance/entries.js +1 -0
  79. package/es/instance/every.js +1 -0
  80. package/es/instance/fill.js +1 -0
  81. package/es/instance/filter.js +1 -0
  82. package/es/instance/find-index.js +1 -0
  83. package/es/instance/find.js +1 -0
  84. package/es/instance/flags.js +1 -0
  85. package/es/instance/flat-map.js +1 -0
  86. package/es/instance/flat.js +1 -0
  87. package/es/instance/for-each.js +1 -0
  88. package/es/instance/includes.js +1 -0
  89. package/es/instance/index-of.js +1 -0
  90. package/es/instance/keys.js +1 -0
  91. package/es/instance/last-index-of.js +1 -0
  92. package/es/instance/map.js +1 -0
  93. package/es/instance/match-all.js +1 -0
  94. package/es/instance/pad-end.js +1 -0
  95. package/es/instance/pad-start.js +1 -0
  96. package/es/instance/reduce-right.js +1 -0
  97. package/es/instance/reduce.js +1 -0
  98. package/es/instance/repeat.js +1 -0
  99. package/es/instance/reverse.js +1 -0
  100. package/es/instance/slice.js +1 -0
  101. package/es/instance/some.js +1 -0
  102. package/es/instance/sort.js +1 -0
  103. package/es/instance/splice.js +1 -0
  104. package/es/instance/starts-with.js +1 -0
  105. package/es/instance/trim-end.js +1 -0
  106. package/es/instance/trim-left.js +1 -0
  107. package/es/instance/trim-right.js +1 -0
  108. package/es/instance/trim-start.js +1 -0
  109. package/es/instance/trim.js +1 -0
  110. package/es/instance/values.js +1 -0
  111. package/es/json/index.js +0 -1
  112. package/es/map/index.js +2 -1
  113. package/es/math/acosh.js +2 -1
  114. package/es/math/asinh.js +2 -1
  115. package/es/math/atanh.js +2 -1
  116. package/es/math/cbrt.js +2 -1
  117. package/es/math/clz32.js +2 -1
  118. package/es/math/cosh.js +2 -1
  119. package/es/math/expm1.js +2 -1
  120. package/es/math/fround.js +2 -1
  121. package/es/math/hypot.js +2 -1
  122. package/es/math/imul.js +2 -1
  123. package/es/math/index.js +2 -1
  124. package/es/math/log10.js +2 -1
  125. package/es/math/log1p.js +2 -1
  126. package/es/math/log2.js +2 -1
  127. package/es/math/sign.js +2 -1
  128. package/es/math/sinh.js +2 -1
  129. package/es/math/tanh.js +2 -1
  130. package/es/math/trunc.js +2 -1
  131. package/es/number/index.js +2 -1
  132. package/es/number/is-finite.js +2 -1
  133. package/es/number/is-integer.js +2 -1
  134. package/es/number/is-nan.js +2 -1
  135. package/es/number/is-safe-integer.js +2 -1
  136. package/es/number/parse-float.js +2 -1
  137. package/es/number/parse-int.js +2 -1
  138. package/es/number/to-fixed.js +2 -1
  139. package/es/number/to-precision.js +2 -1
  140. package/es/number/virtual/index.js +2 -1
  141. package/es/number/virtual/to-fixed.js +2 -1
  142. package/es/number/virtual/to-precision.js +2 -1
  143. package/es/object/assign.js +2 -1
  144. package/es/object/create.js +3 -1
  145. package/es/object/define-getter.js +2 -1
  146. package/es/object/define-properties.js +3 -1
  147. package/es/object/define-property.js +3 -1
  148. package/es/object/define-setter.js +2 -1
  149. package/es/object/entries.js +2 -1
  150. package/es/object/freeze.js +2 -1
  151. package/es/object/from-entries.js +2 -1
  152. package/es/object/get-own-property-descriptor.js +3 -1
  153. package/es/object/get-own-property-descriptors.js +2 -1
  154. package/es/object/get-own-property-names.js +3 -1
  155. package/es/object/get-own-property-symbols.js +2 -1
  156. package/es/object/get-prototype-of.js +2 -1
  157. package/es/object/index.js +2 -1
  158. package/es/object/is-extensible.js +2 -1
  159. package/es/object/is-frozen.js +2 -1
  160. package/es/object/is-sealed.js +2 -1
  161. package/es/object/is.js +2 -1
  162. package/es/object/keys.js +2 -1
  163. package/es/object/lookup-getter.js +2 -1
  164. package/es/object/lookup-setter.js +2 -1
  165. package/es/object/prevent-extensions.js +2 -1
  166. package/es/object/seal.js +2 -1
  167. package/es/object/set-prototype-of.js +2 -1
  168. package/es/object/values.js +2 -1
  169. package/es/parse-float.js +2 -1
  170. package/es/parse-int.js +2 -1
  171. package/es/promise/all-settled.js +11 -0
  172. package/es/promise/finally.js +2 -1
  173. package/es/promise/index.js +3 -1
  174. package/es/reflect/apply.js +2 -1
  175. package/es/reflect/construct.js +2 -1
  176. package/es/reflect/define-property.js +2 -1
  177. package/es/reflect/delete-property.js +2 -1
  178. package/es/reflect/get-own-property-descriptor.js +2 -1
  179. package/es/reflect/get-prototype-of.js +2 -1
  180. package/es/reflect/get.js +2 -1
  181. package/es/reflect/has.js +2 -1
  182. package/es/reflect/index.js +2 -1
  183. package/es/reflect/is-extensible.js +2 -1
  184. package/es/reflect/own-keys.js +2 -1
  185. package/es/reflect/prevent-extensions.js +2 -1
  186. package/es/reflect/set-prototype-of.js +2 -1
  187. package/es/reflect/set.js +2 -1
  188. package/es/regexp/match.js +3 -1
  189. package/es/regexp/replace.js +3 -1
  190. package/es/regexp/search.js +3 -1
  191. package/es/regexp/split.js +3 -1
  192. package/es/set/index.js +2 -1
  193. package/es/string/anchor.js +2 -1
  194. package/es/string/big.js +2 -1
  195. package/es/string/blink.js +2 -1
  196. package/es/string/bold.js +2 -1
  197. package/es/string/code-point-at.js +2 -1
  198. package/es/string/ends-with.js +2 -1
  199. package/es/string/fixed.js +2 -1
  200. package/es/string/fontcolor.js +2 -1
  201. package/es/string/fontsize.js +2 -1
  202. package/es/string/from-code-point.js +2 -1
  203. package/es/string/includes.js +2 -1
  204. package/es/string/index.js +2 -1
  205. package/es/string/italics.js +2 -1
  206. package/es/string/iterator.js +3 -1
  207. package/es/string/link.js +2 -1
  208. package/es/string/match-all.js +2 -1
  209. package/es/string/match.js +2 -1
  210. package/es/string/pad-end.js +2 -1
  211. package/es/string/pad-start.js +2 -1
  212. package/es/string/raw.js +2 -1
  213. package/es/string/repeat.js +2 -1
  214. package/es/string/replace.js +2 -1
  215. package/es/string/search.js +2 -1
  216. package/es/string/small.js +2 -1
  217. package/es/string/split.js +2 -1
  218. package/es/string/starts-with.js +2 -1
  219. package/es/string/strike.js +2 -1
  220. package/es/string/sub.js +2 -1
  221. package/es/string/sup.js +2 -1
  222. package/es/string/trim-end.js +2 -1
  223. package/es/string/trim-left.js +2 -1
  224. package/es/string/trim-right.js +2 -1
  225. package/es/string/trim-start.js +2 -1
  226. package/es/string/trim.js +2 -1
  227. package/es/string/virtual/anchor.js +2 -1
  228. package/es/string/virtual/big.js +2 -1
  229. package/es/string/virtual/blink.js +2 -1
  230. package/es/string/virtual/bold.js +2 -1
  231. package/es/string/virtual/code-point-at.js +2 -1
  232. package/es/string/virtual/ends-with.js +2 -1
  233. package/es/string/virtual/fixed.js +2 -1
  234. package/es/string/virtual/fontcolor.js +2 -1
  235. package/es/string/virtual/fontsize.js +2 -1
  236. package/es/string/virtual/includes.js +2 -1
  237. package/es/string/virtual/index.js +2 -1
  238. package/es/string/virtual/italics.js +2 -1
  239. package/es/string/virtual/iterator.js +2 -1
  240. package/es/string/virtual/link.js +2 -1
  241. package/es/string/virtual/match-all.js +2 -1
  242. package/es/string/virtual/pad-end.js +2 -1
  243. package/es/string/virtual/pad-start.js +2 -1
  244. package/es/string/virtual/repeat.js +2 -1
  245. package/es/string/virtual/small.js +2 -1
  246. package/es/string/virtual/starts-with.js +2 -1
  247. package/es/string/virtual/strike.js +2 -1
  248. package/es/string/virtual/sub.js +2 -1
  249. package/es/string/virtual/sup.js +2 -1
  250. package/es/string/virtual/trim-end.js +2 -1
  251. package/es/string/virtual/trim-left.js +2 -1
  252. package/es/string/virtual/trim-right.js +2 -1
  253. package/es/string/virtual/trim-start.js +2 -1
  254. package/es/string/virtual/trim.js +2 -1
  255. package/es/symbol/async-iterator.js +2 -1
  256. package/es/symbol/for.js +2 -1
  257. package/es/symbol/has-instance.js +2 -1
  258. package/es/symbol/index.js +2 -1
  259. package/es/symbol/is-concat-spreadable.js +2 -1
  260. package/es/symbol/iterator.js +2 -1
  261. package/es/symbol/key-for.js +2 -1
  262. package/es/symbol/match-all.js +2 -1
  263. package/es/symbol/match.js +2 -1
  264. package/es/symbol/replace.js +2 -1
  265. package/es/symbol/search.js +2 -1
  266. package/es/symbol/species.js +3 -1
  267. package/es/symbol/split.js +2 -1
  268. package/es/symbol/to-primitive.js +2 -1
  269. package/es/symbol/to-string-tag.js +2 -1
  270. package/es/symbol/unscopables.js +2 -1
  271. package/es/typed-array/float32-array.js +2 -1
  272. package/es/typed-array/float64-array.js +2 -1
  273. package/es/typed-array/int16-array.js +2 -1
  274. package/es/typed-array/int32-array.js +2 -1
  275. package/es/typed-array/int8-array.js +2 -1
  276. package/es/typed-array/uint16-array.js +2 -1
  277. package/es/typed-array/uint32-array.js +2 -1
  278. package/es/typed-array/uint8-array.js +2 -1
  279. package/es/typed-array/uint8-clamped-array.js +2 -1
  280. package/es/weak-map/index.js +2 -1
  281. package/es/weak-set/index.js +2 -1
  282. package/features/aggregate-error.js +2 -1
  283. package/features/array/index.js +1 -0
  284. package/features/array/is-template-object.js +4 -0
  285. package/features/composite-key.js +2 -1
  286. package/features/composite-symbol.js +2 -1
  287. package/features/dom-collections/for-each.js +1 -3
  288. package/features/dom-collections/index.js +1 -11
  289. package/features/dom-collections/iterator.js +1 -3
  290. package/features/global-this.js +1 -1
  291. package/features/instance/at.js +1 -0
  292. package/features/instance/code-points.js +1 -0
  293. package/features/instance/replace-all.js +1 -0
  294. package/features/map/delete-all.js +2 -1
  295. package/features/map/every.js +2 -1
  296. package/features/map/filter.js +2 -1
  297. package/features/map/find-key.js +2 -1
  298. package/features/map/find.js +2 -1
  299. package/features/map/from.js +5 -1
  300. package/features/map/group-by.js +3 -1
  301. package/features/map/includes.js +2 -1
  302. package/features/map/index.js +1 -0
  303. package/features/map/key-by.js +3 -1
  304. package/features/map/key-of.js +2 -1
  305. package/features/map/map-keys.js +2 -1
  306. package/features/map/map-values.js +2 -1
  307. package/features/map/merge.js +2 -1
  308. package/features/map/of.js +5 -1
  309. package/features/map/reduce.js +2 -1
  310. package/features/map/some.js +2 -1
  311. package/features/map/update-or-insert.js +5 -0
  312. package/features/map/update.js +2 -1
  313. package/features/math/clamp.js +2 -1
  314. package/features/math/degrees.js +2 -1
  315. package/features/math/fscale.js +2 -1
  316. package/features/math/iaddh.js +2 -1
  317. package/features/math/imulh.js +2 -1
  318. package/features/math/isubh.js +2 -1
  319. package/features/math/radians.js +2 -1
  320. package/features/math/scale.js +2 -1
  321. package/features/math/seeded-prng.js +2 -1
  322. package/features/math/signbit.js +2 -1
  323. package/features/math/umulh.js +2 -1
  324. package/features/number/from-string.js +2 -1
  325. package/features/observable/index.js +2 -1
  326. package/features/promise/all-settled.js +2 -7
  327. package/features/promise/any.js +3 -1
  328. package/features/promise/index.js +1 -0
  329. package/features/promise/try.js +3 -1
  330. package/features/reflect/define-metadata.js +2 -1
  331. package/features/reflect/delete-metadata.js +4 -1
  332. package/features/reflect/get-metadata-keys.js +2 -1
  333. package/features/reflect/get-metadata.js +2 -1
  334. package/features/reflect/get-own-metadata-keys.js +2 -1
  335. package/features/reflect/get-own-metadata.js +2 -1
  336. package/features/reflect/has-metadata.js +2 -1
  337. package/features/reflect/has-own-metadata.js +2 -1
  338. package/features/reflect/metadata.js +2 -1
  339. package/features/set/add-all.js +2 -1
  340. package/features/set/delete-all.js +2 -1
  341. package/features/set/difference.js +4 -1
  342. package/features/set/every.js +2 -1
  343. package/features/set/filter.js +2 -1
  344. package/features/set/find.js +2 -1
  345. package/features/set/from.js +5 -1
  346. package/features/set/intersection.js +2 -1
  347. package/features/set/is-disjoint-from.js +2 -1
  348. package/features/set/is-subset-of.js +4 -1
  349. package/features/set/is-superset-of.js +2 -1
  350. package/features/set/join.js +2 -1
  351. package/features/set/map.js +2 -1
  352. package/features/set/of.js +5 -1
  353. package/features/set/reduce.js +2 -1
  354. package/features/set/some.js +2 -1
  355. package/features/set/symmetric-difference.js +4 -1
  356. package/features/set/union.js +4 -1
  357. package/features/string/at.js +2 -1
  358. package/features/string/replace-all.js +2 -1
  359. package/features/string/virtual/at.js +2 -1
  360. package/features/string/virtual/replace-all.js +2 -1
  361. package/features/symbol/async-dispose.js +4 -0
  362. package/features/symbol/dispose.js +2 -1
  363. package/features/symbol/index.js +1 -0
  364. package/features/symbol/observable.js +2 -1
  365. package/features/symbol/pattern-match.js +2 -1
  366. package/features/symbol/replace-all.js +2 -1
  367. package/features/url/index.js +1 -5
  368. package/features/url/to-json.js +1 -1
  369. package/features/url-search-params/index.js +1 -3
  370. package/features/weak-map/delete-all.js +2 -1
  371. package/features/weak-map/from.js +5 -1
  372. package/features/weak-map/of.js +5 -1
  373. package/features/weak-set/add-all.js +2 -1
  374. package/features/weak-set/delete-all.js +2 -1
  375. package/features/weak-set/from.js +5 -1
  376. package/features/weak-set/of.js +5 -1
  377. package/internals/a-possible-prototype.js +7 -0
  378. package/internals/advance-string-index.js +2 -2
  379. package/internals/array-copy-within.js +3 -1
  380. package/internals/array-for-each.js +5 -7
  381. package/internals/array-from.js +1 -1
  382. package/internals/array-includes.js +12 -7
  383. package/internals/{array-methods.js → array-iteration.js} +30 -18
  384. package/internals/array-last-index-of.js +6 -4
  385. package/internals/array-method-has-species-support.js +3 -1
  386. package/internals/array-reduce.js +30 -21
  387. package/internals/array-species-create.js +3 -1
  388. package/internals/check-correctness-of-iteration.js +3 -1
  389. package/internals/classof.js +3 -1
  390. package/internals/collection-delete-all.js +3 -1
  391. package/internals/collection-from.js +3 -2
  392. package/internals/collection-strong.js +1 -0
  393. package/internals/collection-weak.js +6 -5
  394. package/internals/collection.js +5 -4
  395. package/internals/composite-key.js +1 -0
  396. package/internals/correct-is-regexp-logic.js +3 -1
  397. package/internals/correct-prototype-getter.js +3 -1
  398. package/internals/create-html.js +1 -0
  399. package/internals/date-to-iso-string.js +12 -13
  400. package/internals/define-iterator.js +5 -3
  401. package/internals/descriptors.js +3 -1
  402. package/internals/document-create-element.js +5 -3
  403. package/internals/forced-string-trim-method.js +1 -0
  404. package/internals/freezing.js +3 -1
  405. package/internals/function-bind.js +4 -3
  406. package/internals/function-to-string.js +3 -1
  407. package/internals/get-iterator-method.js +3 -1
  408. package/internals/html.js +2 -2
  409. package/internals/indexed-object.js +2 -1
  410. package/internals/inherit-if-required.js +13 -6
  411. package/internals/internal-metadata.js +4 -2
  412. package/internals/internal-state.js +3 -1
  413. package/internals/is-array-iterator-method.js +4 -2
  414. package/internals/is-forced.js +1 -0
  415. package/internals/is-integer.js +1 -0
  416. package/internals/is-iterable.js +3 -1
  417. package/internals/is-regexp.js +3 -1
  418. package/internals/iterate.js +19 -10
  419. package/internals/iterators-core.js +3 -1
  420. package/internals/math-expm1.js +2 -1
  421. package/internals/math-fround.js +3 -1
  422. package/internals/math-log1p.js +3 -1
  423. package/internals/microtask.js +4 -2
  424. package/internals/native-promise-constructor.js +3 -0
  425. package/internals/native-url.js +4 -2
  426. package/internals/native-weak-map.js +3 -1
  427. package/internals/new-promise-capability.js +1 -1
  428. package/internals/not-a-regexp.js +7 -0
  429. package/internals/number-is-finite.js +3 -1
  430. package/internals/object-assign.js +3 -1
  431. package/internals/object-create.js +5 -2
  432. package/internals/object-define-properties.js +4 -2
  433. package/internals/object-define-property.js +3 -0
  434. package/internals/object-get-own-property-descriptor.js +3 -0
  435. package/internals/object-get-own-property-names-external.js +2 -1
  436. package/internals/object-get-own-property-names.js +5 -2
  437. package/internals/object-get-prototype-of.js +5 -2
  438. package/internals/object-keys-internal.js +2 -2
  439. package/internals/object-keys.js +2 -1
  440. package/internals/object-property-is-enumerable.js +5 -3
  441. package/internals/object-set-prototype-of.js +10 -6
  442. package/internals/object-to-array.js +25 -15
  443. package/internals/object-to-string.js +3 -1
  444. package/internals/own-keys.js +2 -2
  445. package/internals/parse-float.js +10 -6
  446. package/internals/parse-int.js +9 -5
  447. package/internals/punycode-to-ascii.js +2 -4
  448. package/internals/reflect-metadata.js +5 -2
  449. package/internals/regexp-flags.js +1 -0
  450. package/internals/set-species.js +11 -6
  451. package/internals/set-to-string-tag.js +3 -1
  452. package/internals/shared-key.js +4 -2
  453. package/internals/shared.js +2 -1
  454. package/internals/species-constructor.js +3 -1
  455. package/internals/string-multibyte.js +27 -0
  456. package/internals/string-pad.js +25 -11
  457. package/internals/string-trim.js +23 -9
  458. package/internals/task.js +1 -0
  459. package/internals/to-absolute-index.js +1 -0
  460. package/internals/to-length.js +1 -0
  461. package/internals/to-primitive.js +8 -6
  462. package/internals/typed-arrays-constructors-requires-wrappers.js +1 -0
  463. package/internals/uid.js +1 -1
  464. package/internals/user-agent.js +2 -3
  465. package/internals/well-known-symbol.js +5 -2
  466. package/modules/es.array.concat.js +9 -4
  467. package/modules/es.array.copy-within.js +7 -3
  468. package/modules/es.array.every.js +5 -5
  469. package/modules/es.array.fill.js +8 -2
  470. package/modules/es.array.filter.js +5 -5
  471. package/modules/es.array.find-index.js +7 -4
  472. package/modules/es.array.find.js +7 -4
  473. package/modules/es.array.flat-map.js +3 -2
  474. package/modules/es.array.flat.js +3 -2
  475. package/modules/es.array.for-each.js +4 -1
  476. package/modules/es.array.from.js +7 -3
  477. package/modules/es.array.includes.js +6 -4
  478. package/modules/es.array.index-of.js +7 -4
  479. package/modules/es.array.is-array.js +6 -1
  480. package/modules/es.array.iterator.js +1 -0
  481. package/modules/es.array.join.js +7 -3
  482. package/modules/es.array.last-index-of.js +4 -3
  483. package/modules/es.array.map.js +5 -5
  484. package/modules/es.array.of.js +4 -2
  485. package/modules/es.array.reduce-right.js +5 -5
  486. package/modules/es.array.reduce.js +5 -5
  487. package/modules/es.array.reverse.js +3 -1
  488. package/modules/es.array.slice.js +6 -4
  489. package/modules/es.array.some.js +5 -5
  490. package/modules/es.array.sort.js +5 -2
  491. package/modules/es.array.species.js +3 -1
  492. package/modules/es.array.splice.js +4 -3
  493. package/modules/es.array.unscopables.flat-map.js +3 -1
  494. package/modules/es.array.unscopables.flat.js +3 -1
  495. package/modules/es.date.now.js +3 -1
  496. package/modules/es.date.to-iso-string.js +2 -1
  497. package/modules/es.date.to-json.js +4 -2
  498. package/modules/es.function.bind.js +5 -2
  499. package/modules/es.function.has-instance.js +3 -1
  500. package/modules/es.json.to-string-tag.js +4 -1
  501. package/modules/es.map.js +6 -3
  502. package/modules/es.math.acosh.js +3 -1
  503. package/modules/es.math.asinh.js +3 -1
  504. package/modules/es.math.atanh.js +3 -1
  505. package/modules/es.math.cbrt.js +3 -1
  506. package/modules/es.math.clz32.js +3 -1
  507. package/modules/es.math.cosh.js +3 -1
  508. package/modules/es.math.expm1.js +3 -4
  509. package/modules/es.math.fround.js +4 -1
  510. package/modules/es.math.hypot.js +8 -1
  511. package/modules/es.math.imul.js +5 -2
  512. package/modules/es.math.log10.js +3 -1
  513. package/modules/es.math.log1p.js +4 -1
  514. package/modules/es.math.log2.js +3 -1
  515. package/modules/es.math.sign.js +6 -1
  516. package/modules/es.math.sinh.js +5 -2
  517. package/modules/es.math.tanh.js +3 -1
  518. package/modules/es.math.to-string-tag.js +3 -1
  519. package/modules/es.math.trunc.js +3 -1
  520. package/modules/es.number.epsilon.js +5 -1
  521. package/modules/es.number.is-finite.js +4 -3
  522. package/modules/es.number.is-integer.js +5 -2
  523. package/modules/es.number.is-nan.js +3 -1
  524. package/modules/es.number.is-safe-integer.js +3 -1
  525. package/modules/es.number.max-safe-integer.js +5 -1
  526. package/modules/es.number.min-safe-integer.js +5 -1
  527. package/modules/es.number.parse-float.js +2 -1
  528. package/modules/es.number.parse-int.js +2 -1
  529. package/modules/es.number.to-fixed.js +67 -58
  530. package/modules/es.number.to-precision.js +8 -4
  531. package/modules/es.object.assign.js +4 -1
  532. package/modules/es.object.create.js +7 -3
  533. package/modules/es.object.define-getter.js +5 -3
  534. package/modules/es.object.define-properties.js +4 -2
  535. package/modules/es.object.define-property.js +4 -2
  536. package/modules/es.object.define-setter.js +5 -3
  537. package/modules/es.object.entries.js +4 -3
  538. package/modules/es.object.freeze.js +6 -3
  539. package/modules/es.object.from-entries.js +2 -1
  540. package/modules/es.object.get-own-property-descriptor.js +5 -2
  541. package/modules/es.object.get-own-property-descriptors.js +5 -4
  542. package/modules/es.object.get-own-property-names.js +5 -2
  543. package/modules/es.object.get-prototype-of.js +5 -4
  544. package/modules/es.object.is-extensible.js +5 -2
  545. package/modules/es.object.is-frozen.js +5 -2
  546. package/modules/es.object.is-sealed.js +5 -2
  547. package/modules/es.object.is.js +6 -1
  548. package/modules/es.object.keys.js +5 -2
  549. package/modules/es.object.lookup-getter.js +5 -3
  550. package/modules/es.object.lookup-setter.js +5 -3
  551. package/modules/es.object.prevent-extensions.js +6 -3
  552. package/modules/es.object.seal.js +6 -3
  553. package/modules/es.object.set-prototype-of.js +5 -2
  554. package/modules/es.object.values.js +4 -3
  555. package/modules/es.parse-float.js +2 -1
  556. package/modules/es.parse-int.js +2 -1
  557. package/modules/es.promise.all-settled.js +43 -0
  558. package/modules/es.promise.finally.js +10 -1
  559. package/modules/es.promise.js +48 -25
  560. package/modules/es.reflect.apply.js +7 -3
  561. package/modules/es.reflect.construct.js +7 -4
  562. package/modules/es.reflect.define-property.js +8 -6
  563. package/modules/es.reflect.delete-property.js +3 -2
  564. package/modules/es.reflect.get-own-property-descriptor.js +4 -3
  565. package/modules/es.reflect.get-prototype-of.js +3 -2
  566. package/modules/es.reflect.get.js +7 -4
  567. package/modules/es.reflect.has.js +3 -1
  568. package/modules/es.reflect.is-extensible.js +3 -1
  569. package/modules/es.reflect.own-keys.js +6 -1
  570. package/modules/es.reflect.prevent-extensions.js +2 -1
  571. package/modules/es.reflect.set-prototype-of.js +6 -3
  572. package/modules/es.reflect.set.js +7 -4
  573. package/modules/es.regexp.constructor.js +3 -1
  574. package/modules/es.set.js +6 -3
  575. package/modules/es.string.anchor.js +3 -2
  576. package/modules/es.string.big.js +3 -2
  577. package/modules/es.string.blink.js +3 -2
  578. package/modules/es.string.bold.js +3 -2
  579. package/modules/es.string.code-point-at.js +4 -3
  580. package/modules/es.string.ends-with.js +9 -7
  581. package/modules/es.string.fixed.js +3 -2
  582. package/modules/es.string.fontcolor.js +3 -2
  583. package/modules/es.string.fontsize.js +3 -2
  584. package/modules/es.string.from-code-point.js +3 -1
  585. package/modules/es.string.includes.js +7 -7
  586. package/modules/es.string.italics.js +3 -2
  587. package/modules/es.string.iterator.js +3 -2
  588. package/modules/es.string.link.js +3 -2
  589. package/modules/es.string.match-all.js +6 -3
  590. package/modules/es.string.pad-end.js +4 -3
  591. package/modules/es.string.pad-start.js +4 -3
  592. package/modules/es.string.raw.js +2 -1
  593. package/modules/es.string.repeat.js +5 -2
  594. package/modules/es.string.small.js +3 -2
  595. package/modules/es.string.starts-with.js +11 -7
  596. package/modules/es.string.strike.js +3 -2
  597. package/modules/es.string.sub.js +3 -2
  598. package/modules/es.string.sup.js +3 -2
  599. package/modules/es.string.trim-end.js +7 -4
  600. package/modules/es.string.trim-start.js +7 -4
  601. package/modules/es.string.trim.js +5 -4
  602. package/modules/es.symbol.async-iterator.js +3 -1
  603. package/modules/es.symbol.has-instance.js +3 -1
  604. package/modules/es.symbol.is-concat-spreadable.js +3 -1
  605. package/modules/es.symbol.iterator.js +3 -1
  606. package/modules/es.symbol.js +107 -95
  607. package/modules/es.symbol.match-all.js +3 -1
  608. package/modules/es.symbol.match.js +3 -1
  609. package/modules/es.symbol.replace.js +3 -1
  610. package/modules/es.symbol.search.js +3 -1
  611. package/modules/es.symbol.species.js +3 -1
  612. package/modules/es.symbol.split.js +3 -1
  613. package/modules/es.symbol.to-primitive.js +3 -1
  614. package/modules/es.symbol.to-string-tag.js +3 -1
  615. package/modules/es.symbol.unscopables.js +3 -1
  616. package/modules/es.weak-map.js +6 -4
  617. package/modules/es.weak-set.js +6 -3
  618. package/modules/esnext.aggregate-error.js +6 -4
  619. package/modules/esnext.array.is-template-object.js +28 -0
  620. package/modules/esnext.composite-key.js +2 -1
  621. package/modules/esnext.composite-symbol.js +2 -1
  622. package/modules/esnext.global-this.js +6 -1
  623. package/modules/esnext.map.delete-all.js +3 -3
  624. package/modules/esnext.map.every.js +7 -6
  625. package/modules/esnext.map.filter.js +7 -6
  626. package/modules/esnext.map.find-key.js +7 -6
  627. package/modules/esnext.map.find.js +7 -6
  628. package/modules/esnext.map.from.js +5 -2
  629. package/modules/esnext.map.group-by.js +2 -1
  630. package/modules/esnext.map.includes.js +7 -8
  631. package/modules/esnext.map.key-by.js +2 -1
  632. package/modules/esnext.map.key-of.js +7 -8
  633. package/modules/esnext.map.map-keys.js +7 -6
  634. package/modules/esnext.map.map-values.js +7 -6
  635. package/modules/esnext.map.merge.js +3 -1
  636. package/modules/esnext.map.of.js +5 -2
  637. package/modules/esnext.map.reduce.js +8 -6
  638. package/modules/esnext.map.some.js +7 -6
  639. package/modules/esnext.map.update-or-insert.js +18 -0
  640. package/modules/esnext.map.update.js +6 -3
  641. package/modules/esnext.math.clamp.js +3 -1
  642. package/modules/esnext.math.deg-per-rad.js +5 -1
  643. package/modules/esnext.math.degrees.js +5 -3
  644. package/modules/esnext.math.fscale.js +3 -1
  645. package/modules/esnext.math.iaddh.js +3 -1
  646. package/modules/esnext.math.imulh.js +3 -1
  647. package/modules/esnext.math.isubh.js +3 -1
  648. package/modules/esnext.math.rad-per-deg.js +5 -1
  649. package/modules/esnext.math.radians.js +3 -1
  650. package/modules/esnext.math.scale.js +6 -1
  651. package/modules/esnext.math.seeded-prng.js +4 -2
  652. package/modules/esnext.math.signbit.js +8 -4
  653. package/modules/esnext.math.umulh.js +3 -1
  654. package/modules/esnext.number.from-string.js +3 -1
  655. package/modules/esnext.observable.js +33 -26
  656. package/modules/esnext.promise.all-settled.js +2 -42
  657. package/modules/esnext.promise.any.js +5 -3
  658. package/modules/esnext.promise.try.js +4 -3
  659. package/modules/esnext.reflect.define-metadata.js +3 -1
  660. package/modules/esnext.reflect.delete-metadata.js +3 -1
  661. package/modules/esnext.reflect.get-metadata-keys.js +4 -1
  662. package/modules/esnext.reflect.get-metadata.js +3 -1
  663. package/modules/esnext.reflect.get-own-metadata-keys.js +3 -1
  664. package/modules/esnext.reflect.get-own-metadata.js +3 -1
  665. package/modules/esnext.reflect.has-metadata.js +3 -1
  666. package/modules/esnext.reflect.has-own-metadata.js +3 -1
  667. package/modules/esnext.reflect.metadata.js +3 -1
  668. package/modules/esnext.set.add-all.js +3 -1
  669. package/modules/esnext.set.delete-all.js +3 -1
  670. package/modules/esnext.set.difference.js +3 -1
  671. package/modules/esnext.set.every.js +7 -5
  672. package/modules/esnext.set.filter.js +7 -5
  673. package/modules/esnext.set.find.js +7 -5
  674. package/modules/esnext.set.from.js +5 -2
  675. package/modules/esnext.set.intersection.js +3 -1
  676. package/modules/esnext.set.is-disjoint-from.js +6 -5
  677. package/modules/esnext.set.is-subset-of.js +6 -5
  678. package/modules/esnext.set.is-superset-of.js +6 -5
  679. package/modules/esnext.set.join.js +5 -3
  680. package/modules/esnext.set.map.js +7 -5
  681. package/modules/esnext.set.of.js +5 -2
  682. package/modules/esnext.set.reduce.js +8 -5
  683. package/modules/esnext.set.some.js +7 -5
  684. package/modules/esnext.set.symmetric-difference.js +3 -1
  685. package/modules/esnext.set.union.js +3 -1
  686. package/modules/esnext.string.at.js +4 -3
  687. package/modules/esnext.string.code-points.js +8 -4
  688. package/modules/esnext.string.replace-all.js +9 -6
  689. package/modules/esnext.symbol.async-dispose.js +5 -0
  690. package/modules/esnext.symbol.dispose.js +4 -2
  691. package/modules/esnext.symbol.observable.js +4 -1
  692. package/modules/esnext.symbol.pattern-match.js +3 -1
  693. package/modules/esnext.symbol.replace-all.js +3 -1
  694. package/modules/esnext.weak-map.delete-all.js +3 -3
  695. package/modules/esnext.weak-map.from.js +5 -2
  696. package/modules/esnext.weak-map.of.js +5 -2
  697. package/modules/esnext.weak-set.add-all.js +3 -2
  698. package/modules/esnext.weak-set.delete-all.js +3 -2
  699. package/modules/esnext.weak-set.from.js +5 -2
  700. package/modules/esnext.weak-set.of.js +5 -2
  701. package/modules/web.dom-collections.iterator.js +3 -1
  702. package/modules/web.immediate.js +6 -0
  703. package/modules/web.queue-microtask.js +9 -5
  704. package/modules/web.timers.js +15 -9
  705. package/modules/web.url-search-params.js +59 -42
  706. package/modules/web.url.js +53 -47
  707. package/package.json +2 -2
  708. package/proposals/array-is-template-object.js +1 -0
  709. package/proposals/map-update-or-insert.js +1 -0
  710. package/proposals/promise-all-settled.js +1 -0
  711. package/proposals/string-match-all.js +0 -2
  712. package/proposals/using-statement.js +1 -0
  713. package/scripts/postinstall.js +20 -8
  714. package/stable/dom-collections/index.js +2 -1
  715. package/stable/dom-collections/iterator.js +2 -1
  716. package/stable/promise/all-settled.js +1 -0
  717. package/stage/1.js +2 -3
  718. package/stage/2.js +3 -0
  719. package/stage/3.js +0 -1
  720. package/stage/4.js +1 -0
  721. package/web/queue-microtask.js +2 -1
  722. package/web/url-search-params.js +2 -1
  723. package/web/url.js +2 -1
  724. package/internals/enum-keys.js +0 -16
  725. package/internals/string-at.js +0 -16
  726. package/internals/validate-set-prototype-of-arguments.js +0 -9
  727. package/internals/validate-string-method-arguments.js +0 -9
@@ -1,9 +1,11 @@
1
- var METADATA = require('../internals/uid')('meta');
2
- var FREEZING = require('../internals/freezing');
3
1
  var hiddenKeys = require('../internals/hidden-keys');
4
2
  var isObject = require('../internals/is-object');
5
3
  var has = require('../internals/has');
6
4
  var defineProperty = require('../internals/object-define-property').f;
5
+ var uid = require('../internals/uid');
6
+ var FREEZING = require('../internals/freezing');
7
+
8
+ var METADATA = uid('meta');
7
9
  var id = 0;
8
10
 
9
11
  var isExtensible = Object.isExtensible || function () {
@@ -1,10 +1,12 @@
1
1
  var NATIVE_WEAK_MAP = require('../internals/native-weak-map');
2
+ var global = require('../internals/global');
2
3
  var isObject = require('../internals/is-object');
3
4
  var hide = require('../internals/hide');
4
5
  var objectHas = require('../internals/has');
5
6
  var sharedKey = require('../internals/shared-key');
6
7
  var hiddenKeys = require('../internals/hidden-keys');
7
- var WeakMap = require('../internals/global').WeakMap;
8
+
9
+ var WeakMap = global.WeakMap;
8
10
  var set, get, has;
9
11
 
10
12
  var enforce = function (it) {
@@ -1,8 +1,10 @@
1
- // check on default Array iterator
1
+ var wellKnownSymbol = require('../internals/well-known-symbol');
2
2
  var Iterators = require('../internals/iterators');
3
- var ITERATOR = require('../internals/well-known-symbol')('iterator');
3
+
4
+ var ITERATOR = wellKnownSymbol('iterator');
4
5
  var ArrayPrototype = Array.prototype;
5
6
 
7
+ // check on default Array iterator
6
8
  module.exports = function (it) {
7
9
  return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);
8
10
  };
@@ -1,4 +1,5 @@
1
1
  var fails = require('../internals/fails');
2
+
2
3
  var replacement = /#|\.prototype\./;
3
4
 
4
5
  var isForced = function (feature, detection) {
@@ -1,4 +1,5 @@
1
1
  var isObject = require('../internals/is-object');
2
+
2
3
  var floor = Math.floor;
3
4
 
4
5
  // `Number.isInteger` method implementation
@@ -1,7 +1,9 @@
1
1
  var classof = require('../internals/classof');
2
- var ITERATOR = require('../internals/well-known-symbol')('iterator');
2
+ var wellKnownSymbol = require('../internals/well-known-symbol');
3
3
  var Iterators = require('../internals/iterators');
4
4
 
5
+ var ITERATOR = wellKnownSymbol('iterator');
6
+
5
7
  module.exports = function (it) {
6
8
  var O = Object(it);
7
9
  return O[ITERATOR] !== undefined
@@ -1,6 +1,8 @@
1
1
  var isObject = require('../internals/is-object');
2
2
  var classof = require('../internals/classof-raw');
3
- var MATCH = require('../internals/well-known-symbol')('match');
3
+ var wellKnownSymbol = require('../internals/well-known-symbol');
4
+
5
+ var MATCH = wellKnownSymbol('match');
4
6
 
5
7
  // `IsRegExp` abstract operation
6
8
  // https://tc39.github.io/ecma262/#sec-isregexp
@@ -4,13 +4,17 @@ var toLength = require('../internals/to-length');
4
4
  var bind = require('../internals/bind-context');
5
5
  var getIteratorMethod = require('../internals/get-iterator-method');
6
6
  var callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');
7
- var BREAK = {};
8
7
 
9
- var exports = module.exports = function (iterable, fn, that, ENTRIES, ITERATOR) {
10
- var boundFunction = bind(fn, that, ENTRIES ? 2 : 1);
8
+ var Result = function (stopped, result) {
9
+ this.stopped = stopped;
10
+ this.result = result;
11
+ };
12
+
13
+ var iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) {
14
+ var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1);
11
15
  var iterator, iterFn, index, length, result, step;
12
16
 
13
- if (ITERATOR) {
17
+ if (IS_ITERATOR) {
14
18
  iterator = iterable;
15
19
  } else {
16
20
  iterFn = getIteratorMethod(iterable);
@@ -18,16 +22,21 @@ var exports = module.exports = function (iterable, fn, that, ENTRIES, ITERATOR)
18
22
  // optimisation for array iterators
19
23
  if (isArrayIteratorMethod(iterFn)) {
20
24
  for (index = 0, length = toLength(iterable.length); length > index; index++) {
21
- result = ENTRIES ? boundFunction(anObject(step = iterable[index])[0], step[1]) : boundFunction(iterable[index]);
22
- if (result === BREAK) return BREAK;
23
- } return;
25
+ result = AS_ENTRIES
26
+ ? boundFunction(anObject(step = iterable[index])[0], step[1])
27
+ : boundFunction(iterable[index]);
28
+ if (result && result instanceof Result) return result;
29
+ } return new Result(false);
24
30
  }
25
31
  iterator = iterFn.call(iterable);
26
32
  }
27
33
 
28
34
  while (!(step = iterator.next()).done) {
29
- if (callWithSafeIterationClosing(iterator, boundFunction, step.value, ENTRIES) === BREAK) return BREAK;
30
- }
35
+ result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);
36
+ if (result && result instanceof Result) return result;
37
+ } return new Result(false);
31
38
  };
32
39
 
33
- exports.BREAK = BREAK;
40
+ iterate.stop = function (result) {
41
+ return new Result(true, result);
42
+ };
@@ -2,8 +2,10 @@
2
2
  var getPrototypeOf = require('../internals/object-get-prototype-of');
3
3
  var hide = require('../internals/hide');
4
4
  var has = require('../internals/has');
5
+ var wellKnownSymbol = require('../internals/well-known-symbol');
5
6
  var IS_PURE = require('../internals/is-pure');
6
- var ITERATOR = require('../internals/well-known-symbol')('iterator');
7
+
8
+ var ITERATOR = wellKnownSymbol('iterator');
7
9
  var BUGGY_SAFARI_ITERATORS = false;
8
10
 
9
11
  var returnThis = function () { return this; };
@@ -1,4 +1,5 @@
1
1
  var nativeExpm1 = Math.expm1;
2
+ var exp = Math.exp;
2
3
 
3
4
  // `Math.expm1` method implementation
4
5
  // https://tc39.github.io/ecma262/#sec-math.expm1
@@ -8,5 +9,5 @@ module.exports = (!nativeExpm1
8
9
  // Tor Browser bug
9
10
  || nativeExpm1(-2e-17) != -2e-17
10
11
  ) ? function expm1(x) {
11
- return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1;
12
+ return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : exp(x) - 1;
12
13
  } : nativeExpm1;
@@ -1,4 +1,6 @@
1
1
  var sign = require('../internals/math-sign');
2
+
3
+ var abs = Math.abs;
2
4
  var pow = Math.pow;
3
5
  var EPSILON = pow(2, -52);
4
6
  var EPSILON32 = pow(2, -23);
@@ -12,7 +14,7 @@ var roundTiesToEven = function (n) {
12
14
  // `Math.fround` method implementation
13
15
  // https://tc39.github.io/ecma262/#sec-math.fround
14
16
  module.exports = Math.fround || function fround(x) {
15
- var $abs = Math.abs(x);
17
+ var $abs = abs(x);
16
18
  var $sign = sign(x);
17
19
  var a, result;
18
20
  if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;
@@ -1,5 +1,7 @@
1
+ var log = Math.log;
2
+
1
3
  // `Math.log1p` method implementation
2
4
  // https://tc39.github.io/ecma262/#sec-math.log1p
3
5
  module.exports = Math.log1p || function log1p(x) {
4
- return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x);
6
+ return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : log(1 + x);
5
7
  };
@@ -3,6 +3,7 @@ var getOwnPropertyDescriptor = require('../internals/object-get-own-property-des
3
3
  var classof = require('../internals/classof-raw');
4
4
  var macrotask = require('../internals/task').set;
5
5
  var userAgent = require('../internals/user-agent');
6
+
6
7
  var MutationObserver = global.MutationObserver || global.WebKitMutationObserver;
7
8
  var process = global.process;
8
9
  var Promise = global.Promise;
@@ -11,7 +12,7 @@ var IS_NODE = classof(process) == 'process';
11
12
  var queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');
12
13
  var queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;
13
14
 
14
- var flush, head, last, notify, toggle, node, promise;
15
+ var flush, head, last, notify, toggle, node, promise, then;
15
16
 
16
17
  // modern engines have queueMicrotask method
17
18
  if (!queueMicrotask) {
@@ -49,8 +50,9 @@ if (!queueMicrotask) {
49
50
  } else if (Promise && Promise.resolve) {
50
51
  // Promise.resolve without an argument throws an error in LG WebOS 2
51
52
  promise = Promise.resolve(undefined);
53
+ then = promise.then;
52
54
  notify = function () {
53
- promise.then(flush);
55
+ then.call(promise, flush);
54
56
  };
55
57
  // for other environments - macrotask based on:
56
58
  // - setImmediate
@@ -0,0 +1,3 @@
1
+ var global = require('../internals/global');
2
+
3
+ module.exports = global.Promise;
@@ -1,6 +1,8 @@
1
- var IS_PURE = require('../internals/is-pure');
2
- var ITERATOR = require('../internals/well-known-symbol')('iterator');
3
1
  var fails = require('../internals/fails');
2
+ var wellKnownSymbol = require('../internals/well-known-symbol');
3
+ var IS_PURE = require('../internals/is-pure');
4
+
5
+ var ITERATOR = wellKnownSymbol('iterator');
4
6
 
5
7
  module.exports = !fails(function () {
6
8
  var url = new URL('b?e=1', 'http://a');
@@ -1,4 +1,6 @@
1
+ var global = require('../internals/global');
1
2
  var nativeFunctionToString = require('../internals/function-to-string');
2
- var WeakMap = require('../internals/global').WeakMap;
3
+
4
+ var WeakMap = global.WeakMap;
3
5
 
4
6
  module.exports = typeof WeakMap === 'function' && /native code/.test(nativeFunctionToString.call(WeakMap));
@@ -1,5 +1,4 @@
1
1
  'use strict';
2
- // 25.4.1.5 NewPromiseCapability(C)
3
2
  var aFunction = require('../internals/a-function');
4
3
 
5
4
  var PromiseCapability = function (C) {
@@ -13,6 +12,7 @@ var PromiseCapability = function (C) {
13
12
  this.reject = aFunction(reject);
14
13
  };
15
14
 
15
+ // 25.4.1.5 NewPromiseCapability(C)
16
16
  module.exports.f = function (C) {
17
17
  return new PromiseCapability(C);
18
18
  };
@@ -0,0 +1,7 @@
1
+ var isRegExp = require('../internals/is-regexp');
2
+
3
+ module.exports = function (it) {
4
+ if (isRegExp(it)) {
5
+ throw TypeError("The method doesn't accept regular expressions");
6
+ } return it;
7
+ };
@@ -1,4 +1,6 @@
1
- var globalIsFinite = require('../internals/global').isFinite;
1
+ var global = require('../internals/global');
2
+
3
+ var globalIsFinite = global.isFinite;
2
4
 
3
5
  // `Number.isFinite` method
4
6
  // https://tc39.github.io/ecma262/#sec-number.isfinite
@@ -1,5 +1,4 @@
1
1
  'use strict';
2
- // 19.1.2.1 Object.assign(target, source, ...)
3
2
  var DESCRIPTORS = require('../internals/descriptors');
4
3
  var fails = require('../internals/fails');
5
4
  var objectKeys = require('../internals/object-keys');
@@ -7,8 +6,11 @@ var getOwnPropertySymbolsModule = require('../internals/object-get-own-property-
7
6
  var propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');
8
7
  var toObject = require('../internals/to-object');
9
8
  var IndexedObject = require('../internals/indexed-object');
9
+
10
10
  var nativeAssign = Object.assign;
11
11
 
12
+ // `Object.assign` method
13
+ // https://tc39.github.io/ecma262/#sec-object.assign
12
14
  // should work with symbols and should have deterministic property order (V8 bug)
13
15
  module.exports = !nativeAssign || fails(function () {
14
16
  var A = {};
@@ -1,11 +1,12 @@
1
- // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
2
1
  var anObject = require('../internals/an-object');
3
2
  var defineProperties = require('../internals/object-define-properties');
4
3
  var enumBugKeys = require('../internals/enum-bug-keys');
5
4
  var hiddenKeys = require('../internals/hidden-keys');
6
5
  var html = require('../internals/html');
7
6
  var documentCreateElement = require('../internals/document-create-element');
8
- var IE_PROTO = require('../internals/shared-key')('IE_PROTO');
7
+ var sharedKey = require('../internals/shared-key');
8
+ var IE_PROTO = sharedKey('IE_PROTO');
9
+
9
10
  var PROTOTYPE = 'prototype';
10
11
  var Empty = function () { /* empty */ };
11
12
 
@@ -31,6 +32,8 @@ var createDict = function () {
31
32
  return createDict();
32
33
  };
33
34
 
35
+ // `Object.create` method
36
+ // https://tc39.github.io/ecma262/#sec-object.create
34
37
  module.exports = Object.create || function create(O, Properties) {
35
38
  var result;
36
39
  if (O !== null) {
@@ -3,12 +3,14 @@ var definePropertyModule = require('../internals/object-define-property');
3
3
  var anObject = require('../internals/an-object');
4
4
  var objectKeys = require('../internals/object-keys');
5
5
 
6
+ // `Object.defineProperties` method
7
+ // https://tc39.github.io/ecma262/#sec-object.defineproperties
6
8
  module.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {
7
9
  anObject(O);
8
10
  var keys = objectKeys(Properties);
9
11
  var length = keys.length;
10
- var i = 0;
12
+ var index = 0;
11
13
  var key;
12
- while (length > i) definePropertyModule.f(O, key = keys[i++], Properties[key]);
14
+ while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);
13
15
  return O;
14
16
  };
@@ -2,8 +2,11 @@ var DESCRIPTORS = require('../internals/descriptors');
2
2
  var IE8_DOM_DEFINE = require('../internals/ie8-dom-define');
3
3
  var anObject = require('../internals/an-object');
4
4
  var toPrimitive = require('../internals/to-primitive');
5
+
5
6
  var nativeDefineProperty = Object.defineProperty;
6
7
 
8
+ // `Object.defineProperty` method
9
+ // https://tc39.github.io/ecma262/#sec-object.defineproperty
7
10
  exports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
8
11
  anObject(O);
9
12
  P = toPrimitive(P, true);
@@ -5,8 +5,11 @@ var toIndexedObject = require('../internals/to-indexed-object');
5
5
  var toPrimitive = require('../internals/to-primitive');
6
6
  var has = require('../internals/has');
7
7
  var IE8_DOM_DEFINE = require('../internals/ie8-dom-define');
8
+
8
9
  var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
9
10
 
11
+ // `Object.getOwnPropertyDescriptor` method
12
+ // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
10
13
  exports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
11
14
  O = toIndexedObject(O);
12
15
  P = toPrimitive(P, true);
@@ -1,6 +1,6 @@
1
- // fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
2
1
  var toIndexedObject = require('../internals/to-indexed-object');
3
2
  var nativeGetOwnPropertyNames = require('../internals/object-get-own-property-names').f;
3
+
4
4
  var toString = {}.toString;
5
5
 
6
6
  var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames
@@ -14,6 +14,7 @@ var getWindowNames = function (it) {
14
14
  }
15
15
  };
16
16
 
17
+ // fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
17
18
  module.exports.f = function getOwnPropertyNames(it) {
18
19
  return windowNames && toString.call(it) == '[object Window]'
19
20
  ? getWindowNames(it)
@@ -1,7 +1,10 @@
1
- // 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)
2
1
  var internalObjectKeys = require('../internals/object-keys-internal');
3
- var hiddenKeys = require('../internals/enum-bug-keys').concat('length', 'prototype');
2
+ var enumBugKeys = require('../internals/enum-bug-keys');
4
3
 
4
+ var hiddenKeys = enumBugKeys.concat('length', 'prototype');
5
+
6
+ // `Object.getOwnPropertyNames` method
7
+ // https://tc39.github.io/ecma262/#sec-object.getownpropertynames
5
8
  exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
6
9
  return internalObjectKeys(O, hiddenKeys);
7
10
  };
@@ -1,10 +1,13 @@
1
- // 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)
2
1
  var has = require('../internals/has');
3
2
  var toObject = require('../internals/to-object');
4
- var IE_PROTO = require('../internals/shared-key')('IE_PROTO');
3
+ var sharedKey = require('../internals/shared-key');
5
4
  var CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');
5
+
6
+ var IE_PROTO = sharedKey('IE_PROTO');
6
7
  var ObjectPrototype = Object.prototype;
7
8
 
9
+ // `Object.getPrototypeOf` method
10
+ // https://tc39.github.io/ecma262/#sec-object.getprototypeof
8
11
  module.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {
9
12
  O = toObject(O);
10
13
  if (has(O, IE_PROTO)) return O[IE_PROTO];
@@ -1,6 +1,6 @@
1
1
  var has = require('../internals/has');
2
2
  var toIndexedObject = require('../internals/to-indexed-object');
3
- var arrayIndexOf = require('../internals/array-includes')(false);
3
+ var indexOf = require('../internals/array-includes').indexOf;
4
4
  var hiddenKeys = require('../internals/hidden-keys');
5
5
 
6
6
  module.exports = function (object, names) {
@@ -11,7 +11,7 @@ module.exports = function (object, names) {
11
11
  for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);
12
12
  // Don't enum bug & hidden keys
13
13
  while (names.length > i) if (has(O, key = names[i++])) {
14
- ~arrayIndexOf(result, key) || result.push(key);
14
+ ~indexOf(result, key) || result.push(key);
15
15
  }
16
16
  return result;
17
17
  };
@@ -1,7 +1,8 @@
1
- // 19.1.2.14 / 15.2.3.14 Object.keys(O)
2
1
  var internalObjectKeys = require('../internals/object-keys-internal');
3
2
  var enumBugKeys = require('../internals/enum-bug-keys');
4
3
 
4
+ // `Object.keys` method
5
+ // https://tc39.github.io/ecma262/#sec-object.keys
5
6
  module.exports = Object.keys || function keys(O) {
6
7
  return internalObjectKeys(O, enumBugKeys);
7
8
  };
@@ -1,11 +1,13 @@
1
1
  'use strict';
2
2
  var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
3
- var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
3
+ var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
4
4
 
5
5
  // Nashorn ~ JDK8 bug
6
- var NASHORN_BUG = nativeGetOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
6
+ var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
7
7
 
8
+ // `Object.prototype.propertyIsEnumerable` method implementation
9
+ // https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
8
10
  exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
9
- var descriptor = nativeGetOwnPropertyDescriptor(this, V);
11
+ var descriptor = getOwnPropertyDescriptor(this, V);
10
12
  return !!descriptor && descriptor.enumerable;
11
13
  } : nativePropertyIsEnumerable;
@@ -1,19 +1,23 @@
1
+ var anObject = require('../internals/an-object');
2
+ var aPossiblePrototype = require('../internals/a-possible-prototype');
3
+
4
+ // `Object.setPrototypeOf` method
5
+ // https://tc39.github.io/ecma262/#sec-object.setprototypeof
1
6
  // Works with __proto__ only. Old v8 can't work with null proto objects.
2
7
  /* eslint-disable no-proto */
3
- var validateSetPrototypeOfArguments = require('../internals/validate-set-prototype-of-arguments');
4
-
5
8
  module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {
6
- var correctSetter = false;
9
+ var CORRECT_SETTER = false;
7
10
  var test = {};
8
11
  var setter;
9
12
  try {
10
13
  setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;
11
14
  setter.call(test, []);
12
- correctSetter = test instanceof Array;
15
+ CORRECT_SETTER = test instanceof Array;
13
16
  } catch (error) { /* empty */ }
14
17
  return function setPrototypeOf(O, proto) {
15
- validateSetPrototypeOfArguments(O, proto);
16
- if (correctSetter) setter.call(O, proto);
18
+ anObject(O);
19
+ aPossiblePrototype(proto);
20
+ if (CORRECT_SETTER) setter.call(O, proto);
17
21
  else O.__proto__ = proto;
18
22
  return O;
19
23
  };
@@ -3,20 +3,30 @@ var objectKeys = require('../internals/object-keys');
3
3
  var toIndexedObject = require('../internals/to-indexed-object');
4
4
  var propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;
5
5
 
6
- // TO_ENTRIES: true -> Object.entries
7
- // TO_ENTRIES: false -> Object.values
8
- module.exports = function (it, TO_ENTRIES) {
9
- var O = toIndexedObject(it);
10
- var keys = objectKeys(O);
11
- var length = keys.length;
12
- var i = 0;
13
- var result = [];
14
- var key;
15
- while (length > i) {
16
- key = keys[i++];
17
- if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) {
18
- result.push(TO_ENTRIES ? [key, O[key]] : O[key]);
6
+ // `Object.{ entries, values }` methods implementation
7
+ var createMethod = function (TO_ENTRIES) {
8
+ return function (it) {
9
+ var O = toIndexedObject(it);
10
+ var keys = objectKeys(O);
11
+ var length = keys.length;
12
+ var i = 0;
13
+ var result = [];
14
+ var key;
15
+ while (length > i) {
16
+ key = keys[i++];
17
+ if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) {
18
+ result.push(TO_ENTRIES ? [key, O[key]] : O[key]);
19
+ }
19
20
  }
20
- }
21
- return result;
21
+ return result;
22
+ };
23
+ };
24
+
25
+ module.exports = {
26
+ // `Object.entries` method
27
+ // https://tc39.github.io/ecma262/#sec-object.entries
28
+ entries: createMethod(true),
29
+ // `Object.values` method
30
+ // https://tc39.github.io/ecma262/#sec-object.values
31
+ values: createMethod(false)
22
32
  };
@@ -1,6 +1,8 @@
1
1
  'use strict';
2
2
  var classof = require('../internals/classof');
3
- var TO_STRING_TAG = require('../internals/well-known-symbol')('toStringTag');
3
+ var wellKnownSymbol = require('../internals/well-known-symbol');
4
+
5
+ var TO_STRING_TAG = wellKnownSymbol('toStringTag');
4
6
  var test = {};
5
7
 
6
8
  test[TO_STRING_TAG] = 'z';
@@ -1,10 +1,10 @@
1
+ var getBuiltIn = require('../internals/get-built-in');
1
2
  var getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');
2
3
  var getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');
3
4
  var anObject = require('../internals/an-object');
4
- var Reflect = require('../internals/global').Reflect;
5
5
 
6
6
  // all object keys, includes non-enumerable and symbols
7
- module.exports = Reflect && Reflect.ownKeys || function ownKeys(it) {
7
+ module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
8
8
  var keys = getOwnPropertyNamesModule.f(anObject(it));
9
9
  var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
10
10
  return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
@@ -1,10 +1,14 @@
1
- var nativeParseFloat = require('../internals/global').parseFloat;
2
- var internalStringTrim = require('../internals/string-trim');
1
+ var global = require('../internals/global');
2
+ var trim = require('../internals/string-trim').trim;
3
3
  var whitespaces = require('../internals/whitespaces');
4
+
5
+ var nativeParseFloat = global.parseFloat;
4
6
  var FORCED = 1 / nativeParseFloat(whitespaces + '-0') !== -Infinity;
5
7
 
6
- module.exports = FORCED ? function parseFloat(str) {
7
- var string = internalStringTrim(String(str), 3);
8
- var result = nativeParseFloat(string);
9
- return result === 0 && string.charAt(0) == '-' ? -0 : result;
8
+ // `parseFloat` method
9
+ // https://tc39.github.io/ecma262/#sec-parsefloat-string
10
+ module.exports = FORCED ? function parseFloat(string) {
11
+ var trimmedString = trim(String(string));
12
+ var result = nativeParseFloat(trimmedString);
13
+ return result === 0 && trimmedString.charAt(0) == '-' ? -0 : result;
10
14
  } : nativeParseFloat;
@@ -1,10 +1,14 @@
1
- var nativeParseInt = require('../internals/global').parseInt;
2
- var internalStringTrim = require('../internals/string-trim');
1
+ var global = require('../internals/global');
2
+ var trim = require('../internals/string-trim').trim;
3
3
  var whitespaces = require('../internals/whitespaces');
4
+
5
+ var nativeParseInt = global.parseInt;
4
6
  var hex = /^[+-]?0[Xx]/;
5
7
  var FORCED = nativeParseInt(whitespaces + '08') !== 8 || nativeParseInt(whitespaces + '0x16') !== 22;
6
8
 
7
- module.exports = FORCED ? function parseInt(str, radix) {
8
- var string = internalStringTrim(String(str), 3);
9
- return nativeParseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10));
9
+ // `parseInt` method
10
+ // https://tc39.github.io/ecma262/#sec-parseint-string-radix
11
+ module.exports = FORCED ? function parseInt(string, radix) {
12
+ var S = trim(String(string));
13
+ return nativeParseInt(S, (radix >>> 0) || (hex.test(S) ? 16 : 10));
10
14
  } : nativeParseInt;
@@ -64,7 +64,7 @@ var adapt = function (delta, numPoints, firstTime) {
64
64
  var k = 0;
65
65
  delta = firstTime ? floor(delta / damp) : delta >> 1;
66
66
  delta += floor(delta / numPoints);
67
- for (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {
67
+ for (; delta > baseMinusTMin * tMax >> 1; k += base) {
68
68
  delta = floor(delta / baseMinusTMin);
69
69
  }
70
70
  return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));
@@ -136,9 +136,7 @@ var encode = function (input) {
136
136
  var q = delta;
137
137
  for (var k = base; /* no condition */; k += base) {
138
138
  var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);
139
- if (q < t) {
140
- break;
141
- }
139
+ if (q < t) break;
142
140
  var qMinusT = q - t;
143
141
  var baseMinusT = base - t;
144
142
  output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT)));
@@ -1,7 +1,10 @@
1
+ // TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`
1
2
  var Map = require('../modules/es.map');
2
3
  var WeakMap = require('../modules/es.weak-map');
3
- var shared = require('../internals/shared')('metadata');
4
- var store = shared.store || (shared.store = new WeakMap());
4
+ var shared = require('../internals/shared');
5
+
6
+ var metadata = shared('metadata');
7
+ var store = metadata.store || (metadata.store = new WeakMap());
5
8
 
6
9
  var getOrCreateMetadataMap = function (target, targetKey, create) {
7
10
  var targetMetadata = store.get(target);