core-js 3.0.0-beta.6 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (696) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +19 -1
  3. package/es/array/flat-map.js +4 -0
  4. package/es/array/flat.js +4 -0
  5. package/es/array/index.js +21 -17
  6. package/es/array/virtual/flat-map.js +4 -0
  7. package/es/array/virtual/flat.js +4 -0
  8. package/es/array/virtual/index.js +7 -2
  9. package/es/index.js +8 -0
  10. package/es/instance/bind.js +7 -0
  11. package/es/instance/code-point-at.js +8 -0
  12. package/es/instance/concat.js +7 -0
  13. package/es/instance/copy-within.js +7 -0
  14. package/es/instance/ends-with.js +8 -0
  15. package/es/instance/entries.js +7 -0
  16. package/es/instance/every.js +7 -0
  17. package/es/instance/fill.js +7 -0
  18. package/es/instance/filter.js +7 -0
  19. package/es/instance/find-index.js +7 -0
  20. package/es/instance/find.js +7 -0
  21. package/es/instance/flags.js +6 -0
  22. package/es/instance/flat-map.js +7 -0
  23. package/es/instance/flat.js +7 -0
  24. package/es/instance/for-each.js +7 -0
  25. package/es/instance/includes.js +12 -0
  26. package/es/instance/index-of.js +7 -0
  27. package/es/instance/keys.js +7 -0
  28. package/es/instance/last-index-of.js +7 -0
  29. package/es/instance/map.js +7 -0
  30. package/es/instance/pad-end.js +8 -0
  31. package/es/instance/pad-start.js +8 -0
  32. package/es/instance/reduce-right.js +7 -0
  33. package/es/instance/reduce.js +7 -0
  34. package/es/instance/repeat.js +8 -0
  35. package/es/instance/reverse.js +7 -0
  36. package/es/instance/slice.js +7 -0
  37. package/es/instance/some.js +7 -0
  38. package/es/instance/sort.js +7 -0
  39. package/es/instance/splice.js +7 -0
  40. package/es/instance/starts-with.js +8 -0
  41. package/es/instance/trim-end.js +8 -0
  42. package/es/instance/trim-left.js +8 -0
  43. package/es/instance/trim-right.js +8 -0
  44. package/es/instance/trim-start.js +8 -0
  45. package/es/instance/trim.js +8 -0
  46. package/es/instance/values.js +7 -0
  47. package/es/object/from-entries.js +4 -0
  48. package/es/object/index.js +1 -0
  49. package/es/string/index.js +2 -0
  50. package/es/string/trim-end.js +3 -0
  51. package/es/string/trim-left.js +3 -0
  52. package/es/string/trim-right.js +3 -0
  53. package/es/string/trim-start.js +3 -0
  54. package/es/string/virtual/index.js +2 -0
  55. package/es/string/virtual/trim-end.js +3 -0
  56. package/es/string/virtual/trim-left.js +3 -0
  57. package/es/string/virtual/trim-right.js +3 -0
  58. package/es/string/virtual/trim-start.js +3 -0
  59. package/features/aggregate-error.js +5 -0
  60. package/features/array/flat-map.js +1 -3
  61. package/features/array/flat.js +1 -3
  62. package/features/array/index.js +0 -2
  63. package/features/array/virtual/flat-map.js +1 -3
  64. package/features/array/virtual/flat.js +1 -3
  65. package/features/array/virtual/index.js +0 -3
  66. package/features/clear-immediate.js +1 -3
  67. package/features/index.js +1 -0
  68. package/features/instance/at.js +8 -0
  69. package/features/instance/bind.js +1 -0
  70. package/features/instance/code-point-at.js +1 -0
  71. package/features/instance/code-points.js +8 -0
  72. package/features/instance/concat.js +1 -0
  73. package/features/instance/copy-within.js +1 -0
  74. package/features/instance/ends-with.js +1 -0
  75. package/features/instance/entries.js +1 -0
  76. package/features/instance/every.js +1 -0
  77. package/features/instance/fill.js +1 -0
  78. package/features/instance/filter.js +1 -0
  79. package/features/instance/find-index.js +1 -0
  80. package/features/instance/find.js +1 -0
  81. package/features/instance/flags.js +1 -0
  82. package/features/instance/flat-map.js +1 -0
  83. package/features/instance/flat.js +1 -0
  84. package/features/instance/for-each.js +1 -0
  85. package/features/instance/includes.js +1 -0
  86. package/features/instance/index-of.js +1 -0
  87. package/features/instance/keys.js +1 -0
  88. package/features/instance/last-index-of.js +1 -0
  89. package/features/instance/map.js +1 -0
  90. package/features/instance/match-all.js +8 -0
  91. package/features/instance/pad-end.js +1 -0
  92. package/features/instance/pad-start.js +1 -0
  93. package/features/instance/reduce-right.js +1 -0
  94. package/features/instance/reduce.js +1 -0
  95. package/features/instance/repeat.js +1 -0
  96. package/features/instance/replace-all.js +8 -0
  97. package/features/instance/reverse.js +1 -0
  98. package/features/instance/slice.js +1 -0
  99. package/features/instance/some.js +1 -0
  100. package/features/instance/sort.js +1 -0
  101. package/features/instance/splice.js +1 -0
  102. package/features/instance/starts-with.js +1 -0
  103. package/features/instance/trim-end.js +1 -0
  104. package/features/instance/trim-left.js +1 -0
  105. package/features/instance/trim-right.js +1 -0
  106. package/features/instance/trim-start.js +1 -0
  107. package/features/instance/trim.js +1 -0
  108. package/features/instance/values.js +1 -0
  109. package/features/map/index.js +1 -0
  110. package/features/map/update.js +4 -0
  111. package/features/object/from-entries.js +1 -4
  112. package/features/object/index.js +0 -2
  113. package/features/promise/any.js +10 -0
  114. package/features/promise/index.js +2 -0
  115. package/features/queue-microtask.js +1 -3
  116. package/features/reflect/delete-property.js +1 -3
  117. package/features/set/index.js +1 -1
  118. package/features/set/{is-disjoint-with.js → is-disjoint-from.js} +2 -2
  119. package/features/set-immediate.js +1 -3
  120. package/features/set-interval.js +1 -3
  121. package/features/set-timeout.js +1 -3
  122. package/features/string/index.js +0 -2
  123. package/features/string/trim-end.js +1 -3
  124. package/features/string/trim-left.js +1 -3
  125. package/features/string/trim-right.js +1 -3
  126. package/features/string/trim-start.js +1 -3
  127. package/features/string/virtual/index.js +0 -2
  128. package/features/string/virtual/trim-end.js +1 -3
  129. package/features/string/virtual/trim-left.js +1 -3
  130. package/features/string/virtual/trim-right.js +1 -3
  131. package/features/string/virtual/trim-start.js +1 -3
  132. package/index.js +4 -285
  133. package/internals/a-function.js +3 -2
  134. package/internals/add-to-unscopables.js +3 -1
  135. package/internals/advance-string-index.js +2 -2
  136. package/internals/an-instance.js +1 -1
  137. package/internals/an-object.js +3 -2
  138. package/internals/array-buffer-view-core.js +12 -6
  139. package/internals/array-buffer.js +4 -4
  140. package/internals/array-for-each.js +5 -3
  141. package/internals/array-from.js +5 -2
  142. package/internals/array-last-index-of.js +2 -1
  143. package/internals/{check-array-species-create.js → array-method-has-species-support.js} +2 -2
  144. package/internals/array-reduce.js +2 -2
  145. package/internals/collection-delete-all.js +3 -3
  146. package/internals/collection-from.js +25 -0
  147. package/internals/collection-of.js +8 -0
  148. package/internals/collection-strong.js +9 -9
  149. package/internals/collection-weak.js +4 -4
  150. package/internals/collection.js +9 -9
  151. package/internals/create-html.js +11 -0
  152. package/internals/date-to-primitive.js +3 -2
  153. package/internals/export.js +18 -13
  154. package/internals/fix-regexp-well-known-symbol-logic.js +17 -22
  155. package/internals/{object-forced-pam.js → forced-object-prototype-accessors-methods.js} +4 -4
  156. package/internals/forced-string-html-method.js +10 -0
  157. package/internals/forced-string-trim-method.js +11 -0
  158. package/internals/function-bind.js +5 -5
  159. package/internals/get-built-in.js +11 -0
  160. package/internals/get-iterator.js +3 -2
  161. package/internals/get-map-iterator.js +2 -2
  162. package/internals/get-set-iterator.js +2 -2
  163. package/internals/global.js +2 -2
  164. package/internals/internal-state.js +4 -5
  165. package/internals/iterate.js +1 -1
  166. package/internals/math-scale.js +2 -5
  167. package/internals/microtask.js +11 -8
  168. package/internals/native-weak-map.js +4 -0
  169. package/internals/object-assign.js +5 -5
  170. package/internals/object-create.js +4 -2
  171. package/internals/object-define-property.js +1 -1
  172. package/internals/object-set-prototype-of.js +2 -2
  173. package/internals/object-to-array.js +12 -12
  174. package/internals/parse-float.js +1 -1
  175. package/internals/parse-int.js +1 -1
  176. package/internals/punycode-to-ascii.js +2 -2
  177. package/internals/redefine.js +4 -2
  178. package/internals/reflect-metadata.js +10 -10
  179. package/internals/regexp-exec-abstract.js +2 -2
  180. package/internals/regexp-exec.js +3 -5
  181. package/internals/require-object-coercible.js +1 -1
  182. package/internals/set-species.js +5 -4
  183. package/internals/shared.js +2 -2
  184. package/internals/sloppy-array-method.js +10 -0
  185. package/internals/string-at.js +13 -15
  186. package/internals/string-pad.js +3 -2
  187. package/internals/string-repeat.js +1 -1
  188. package/internals/string-trim.js +6 -20
  189. package/internals/this-number-value.js +3 -1
  190. package/internals/to-index.js +1 -1
  191. package/internals/to-offset.js +1 -1
  192. package/internals/typed-array-constructor.js +9 -9
  193. package/internals/typed-array-from.js +12 -6
  194. package/internals/typed-arrays-constructors-requires-wrappers.js +6 -5
  195. package/internals/validate-set-prototype-of-arguments.js +3 -1
  196. package/internals/validate-string-method-arguments.js +3 -2
  197. package/internals/well-known-symbol.js +3 -2
  198. package/modules/es.array-buffer.is-view.js +4 -3
  199. package/modules/es.array.concat.js +11 -8
  200. package/modules/es.array.every.js +1 -1
  201. package/modules/es.array.filter.js +1 -3
  202. package/modules/{esnext.array.flat-map.js → es.array.flat-map.js} +0 -2
  203. package/modules/{esnext.array.flat.js → es.array.flat.js} +0 -2
  204. package/modules/es.array.index-of.js +1 -1
  205. package/modules/es.array.join.js +1 -1
  206. package/modules/es.array.map.js +1 -3
  207. package/modules/es.array.reduce-right.js +1 -1
  208. package/modules/es.array.reduce.js +1 -1
  209. package/modules/es.array.slice.js +4 -4
  210. package/modules/es.array.some.js +1 -1
  211. package/modules/es.array.sort.js +7 -7
  212. package/modules/es.array.splice.js +9 -5
  213. package/modules/es.array.unscopables.flat-map.js +3 -0
  214. package/modules/es.array.unscopables.flat.js +3 -0
  215. package/modules/es.date.to-json.js +6 -4
  216. package/modules/es.function.name.js +12 -9
  217. package/modules/es.math.acosh.js +7 -6
  218. package/modules/es.math.asinh.js +3 -3
  219. package/modules/es.math.imul.js +5 -3
  220. package/modules/es.math.sinh.js +5 -3
  221. package/modules/es.number.constructor.js +7 -5
  222. package/modules/es.number.to-fixed.js +1 -1
  223. package/modules/es.object.define-getter.js +2 -1
  224. package/modules/es.object.define-setter.js +2 -1
  225. package/modules/es.object.entries.js +2 -2
  226. package/modules/es.object.freeze.js +6 -4
  227. package/modules/{esnext.object.from-entries.js → es.object.from-entries.js} +0 -0
  228. package/modules/es.object.get-own-property-descriptor.js +7 -5
  229. package/modules/es.object.get-own-property-names.js +5 -2
  230. package/modules/es.object.get-prototype-of.js +8 -4
  231. package/modules/es.object.is-extensible.js +5 -3
  232. package/modules/es.object.is-frozen.js +5 -3
  233. package/modules/es.object.is-sealed.js +5 -3
  234. package/modules/es.object.keys.js +4 -3
  235. package/modules/es.object.lookup-getter.js +5 -4
  236. package/modules/es.object.lookup-setter.js +5 -4
  237. package/modules/es.object.prevent-extensions.js +6 -4
  238. package/modules/es.object.seal.js +6 -4
  239. package/modules/es.object.to-string.js +3 -2
  240. package/modules/es.object.values.js +2 -2
  241. package/modules/es.promise.finally.js +15 -14
  242. package/modules/es.promise.js +15 -4
  243. package/modules/es.reflect.apply.js +5 -3
  244. package/modules/es.reflect.get.js +3 -3
  245. package/modules/es.reflect.prevent-extensions.js +3 -2
  246. package/modules/es.regexp.constructor.js +9 -5
  247. package/modules/es.regexp.exec.js +1 -5
  248. package/modules/es.string.anchor.js +6 -3
  249. package/modules/es.string.big.js +6 -3
  250. package/modules/es.string.blink.js +6 -3
  251. package/modules/es.string.bold.js +6 -3
  252. package/modules/es.string.code-point-at.js +1 -1
  253. package/modules/es.string.fixed.js +6 -3
  254. package/modules/es.string.fontcolor.js +6 -3
  255. package/modules/es.string.fontsize.js +6 -3
  256. package/modules/es.string.italics.js +6 -3
  257. package/modules/es.string.iterator.js +2 -2
  258. package/modules/es.string.link.js +6 -3
  259. package/modules/es.string.match.js +3 -2
  260. package/modules/es.string.replace.js +6 -5
  261. package/modules/es.string.search.js +3 -2
  262. package/modules/es.string.small.js +6 -3
  263. package/modules/es.string.split.js +27 -24
  264. package/modules/es.string.strike.js +6 -3
  265. package/modules/es.string.sub.js +6 -3
  266. package/modules/es.string.sup.js +6 -3
  267. package/modules/es.string.trim-end.js +14 -0
  268. package/modules/es.string.trim-start.js +14 -0
  269. package/modules/es.string.trim.js +7 -4
  270. package/modules/es.symbol.js +11 -11
  271. package/modules/es.typed-array.fill.js +2 -1
  272. package/modules/es.typed-array.join.js +2 -1
  273. package/modules/es.typed-array.set.js +1 -1
  274. package/modules/es.weak-map.js +8 -6
  275. package/modules/esnext.aggregate-error.js +27 -0
  276. package/modules/esnext.array.last-index.js +2 -0
  277. package/modules/esnext.array.last-item.js +2 -0
  278. package/modules/esnext.composite-key.js +3 -3
  279. package/modules/esnext.composite-symbol.js +4 -9
  280. package/modules/esnext.map.delete-all.js +1 -1
  281. package/modules/esnext.map.every.js +1 -1
  282. package/modules/esnext.map.filter.js +3 -3
  283. package/modules/esnext.map.find-key.js +1 -1
  284. package/modules/esnext.map.find.js +1 -1
  285. package/modules/esnext.map.from.js +3 -1
  286. package/modules/esnext.map.group-by.js +8 -3
  287. package/modules/esnext.map.includes.js +1 -1
  288. package/modules/esnext.map.key-by.js +5 -2
  289. package/modules/esnext.map.key-of.js +1 -1
  290. package/modules/esnext.map.map-keys.js +3 -3
  291. package/modules/esnext.map.map-values.js +3 -3
  292. package/modules/esnext.map.merge.js +9 -9
  293. package/modules/esnext.map.of.js +3 -1
  294. package/modules/esnext.map.reduce.js +2 -2
  295. package/modules/esnext.map.some.js +1 -1
  296. package/modules/esnext.map.update.js +19 -0
  297. package/modules/esnext.number.from-string.js +8 -8
  298. package/modules/esnext.promise.all-settled.js +3 -3
  299. package/modules/esnext.promise.any.js +42 -0
  300. package/modules/esnext.reflect.define-metadata.js +7 -4
  301. package/modules/esnext.reflect.delete-metadata.js +13 -11
  302. package/modules/esnext.reflect.get-metadata-keys.js +7 -4
  303. package/modules/esnext.reflect.get-metadata.js +7 -4
  304. package/modules/esnext.reflect.get-own-metadata-keys.js +7 -4
  305. package/modules/esnext.reflect.get-own-metadata.js +7 -5
  306. package/modules/esnext.reflect.has-metadata.js +7 -4
  307. package/modules/esnext.reflect.has-own-metadata.js +7 -5
  308. package/modules/esnext.reflect.metadata.js +8 -11
  309. package/modules/esnext.set.add-all.js +1 -1
  310. package/modules/esnext.set.delete-all.js +1 -1
  311. package/modules/esnext.set.difference.js +2 -3
  312. package/modules/esnext.set.every.js +1 -1
  313. package/modules/esnext.set.filter.js +3 -3
  314. package/modules/esnext.set.find.js +1 -1
  315. package/modules/esnext.set.from.js +3 -1
  316. package/modules/esnext.set.intersection.js +2 -3
  317. package/modules/esnext.set.is-disjoint-from.js +17 -0
  318. package/modules/esnext.set.is-subset-of.js +16 -2
  319. package/modules/esnext.set.is-superset-of.js +0 -2
  320. package/modules/esnext.set.join.js +1 -1
  321. package/modules/esnext.set.map.js +3 -3
  322. package/modules/esnext.set.of.js +3 -1
  323. package/modules/esnext.set.reduce.js +2 -2
  324. package/modules/esnext.set.some.js +1 -1
  325. package/modules/esnext.set.symmetric-difference.js +2 -3
  326. package/modules/esnext.set.union.js +2 -3
  327. package/modules/esnext.string.at.js +2 -2
  328. package/modules/esnext.string.code-points.js +3 -5
  329. package/modules/esnext.string.match-all.js +3 -3
  330. package/modules/esnext.string.replace-all.js +14 -5
  331. package/modules/esnext.weak-map.delete-all.js +1 -1
  332. package/modules/esnext.weak-map.from.js +3 -1
  333. package/modules/esnext.weak-map.of.js +3 -1
  334. package/modules/esnext.weak-set.add-all.js +1 -1
  335. package/modules/esnext.weak-set.delete-all.js +1 -1
  336. package/modules/esnext.weak-set.from.js +3 -1
  337. package/modules/esnext.weak-set.of.js +3 -1
  338. package/modules/web.immediate.js +2 -1
  339. package/modules/web.queue-microtask.js +1 -1
  340. package/modules/web.url-search-params.js +2 -2
  341. package/modules/web.url.js +5 -5
  342. package/package.json +6 -1
  343. package/proposals/collection-methods.js +1 -0
  344. package/proposals/{richer-keys.js → keys-composition.js} +0 -0
  345. package/proposals/promise-any.js +2 -0
  346. package/proposals/set-methods.js +1 -1
  347. package/stable/README.md +1 -0
  348. package/stable/array/concat.js +1 -0
  349. package/stable/array/copy-within.js +1 -0
  350. package/stable/array/entries.js +1 -0
  351. package/stable/array/every.js +1 -0
  352. package/stable/array/fill.js +1 -0
  353. package/stable/array/filter.js +1 -0
  354. package/stable/array/find-index.js +1 -0
  355. package/stable/array/find.js +1 -0
  356. package/stable/array/flat-map.js +1 -0
  357. package/stable/array/flat.js +1 -0
  358. package/stable/array/for-each.js +1 -0
  359. package/stable/array/from.js +1 -0
  360. package/stable/array/includes.js +1 -0
  361. package/stable/array/index-of.js +1 -0
  362. package/stable/array/index.js +1 -0
  363. package/stable/array/is-array.js +1 -0
  364. package/stable/array/iterator.js +1 -0
  365. package/stable/array/join.js +1 -0
  366. package/stable/array/keys.js +1 -0
  367. package/stable/array/last-index-of.js +1 -0
  368. package/stable/array/map.js +1 -0
  369. package/stable/array/of.js +1 -0
  370. package/stable/array/reduce-right.js +1 -0
  371. package/stable/array/reduce.js +1 -0
  372. package/stable/array/reverse.js +1 -0
  373. package/stable/array/slice.js +1 -0
  374. package/stable/array/some.js +1 -0
  375. package/stable/array/sort.js +1 -0
  376. package/stable/array/splice.js +1 -0
  377. package/stable/array/values.js +1 -0
  378. package/stable/array/virtual/concat.js +1 -0
  379. package/stable/array/virtual/copy-within.js +1 -0
  380. package/stable/array/virtual/entries.js +1 -0
  381. package/stable/array/virtual/every.js +1 -0
  382. package/stable/array/virtual/fill.js +1 -0
  383. package/stable/array/virtual/filter.js +1 -0
  384. package/stable/array/virtual/find-index.js +1 -0
  385. package/stable/array/virtual/find.js +1 -0
  386. package/stable/array/virtual/flat-map.js +1 -0
  387. package/stable/array/virtual/flat.js +1 -0
  388. package/stable/array/virtual/for-each.js +1 -0
  389. package/stable/array/virtual/includes.js +1 -0
  390. package/stable/array/virtual/index-of.js +1 -0
  391. package/stable/array/virtual/index.js +1 -0
  392. package/stable/array/virtual/iterator.js +1 -0
  393. package/stable/array/virtual/join.js +1 -0
  394. package/stable/array/virtual/keys.js +1 -0
  395. package/stable/array/virtual/last-index-of.js +1 -0
  396. package/stable/array/virtual/map.js +1 -0
  397. package/stable/array/virtual/reduce-right.js +1 -0
  398. package/stable/array/virtual/reduce.js +1 -0
  399. package/stable/array/virtual/reverse.js +1 -0
  400. package/stable/array/virtual/slice.js +1 -0
  401. package/stable/array/virtual/some.js +1 -0
  402. package/stable/array/virtual/sort.js +1 -0
  403. package/stable/array/virtual/splice.js +1 -0
  404. package/stable/array/virtual/values.js +1 -0
  405. package/stable/array-buffer/constructor.js +1 -0
  406. package/stable/array-buffer/index.js +1 -0
  407. package/stable/array-buffer/is-view.js +1 -0
  408. package/stable/array-buffer/slice.js +1 -0
  409. package/stable/clear-immediate.js +3 -0
  410. package/stable/data-view/index.js +1 -0
  411. package/stable/date/index.js +1 -0
  412. package/stable/date/now.js +1 -0
  413. package/stable/date/to-iso-string.js +1 -0
  414. package/stable/date/to-json.js +1 -0
  415. package/stable/date/to-primitive.js +1 -0
  416. package/stable/date/to-string.js +1 -0
  417. package/stable/dom-collections/for-each.js +3 -0
  418. package/stable/dom-collections/index.js +11 -0
  419. package/stable/dom-collections/iterator.js +3 -0
  420. package/stable/function/bind.js +1 -0
  421. package/stable/function/has-instance.js +1 -0
  422. package/stable/function/index.js +1 -0
  423. package/stable/function/name.js +1 -0
  424. package/stable/function/virtual/bind.js +1 -0
  425. package/stable/function/virtual/index.js +1 -0
  426. package/stable/global-this.js +3 -0
  427. package/stable/index.js +4 -0
  428. package/stable/instance/bind.js +1 -0
  429. package/stable/instance/code-point-at.js +1 -0
  430. package/stable/instance/concat.js +1 -0
  431. package/stable/instance/copy-within.js +1 -0
  432. package/stable/instance/ends-with.js +1 -0
  433. package/stable/instance/entries.js +16 -0
  434. package/stable/instance/every.js +1 -0
  435. package/stable/instance/fill.js +1 -0
  436. package/stable/instance/filter.js +1 -0
  437. package/stable/instance/find-index.js +1 -0
  438. package/stable/instance/find.js +1 -0
  439. package/stable/instance/flags.js +1 -0
  440. package/stable/instance/flat-map.js +1 -0
  441. package/stable/instance/flat.js +1 -0
  442. package/stable/instance/for-each.js +16 -0
  443. package/stable/instance/includes.js +1 -0
  444. package/stable/instance/index-of.js +1 -0
  445. package/stable/instance/keys.js +16 -0
  446. package/stable/instance/last-index-of.js +1 -0
  447. package/stable/instance/map.js +1 -0
  448. package/stable/instance/pad-end.js +1 -0
  449. package/stable/instance/pad-start.js +1 -0
  450. package/stable/instance/reduce-right.js +1 -0
  451. package/stable/instance/reduce.js +1 -0
  452. package/stable/instance/repeat.js +1 -0
  453. package/stable/instance/reverse.js +1 -0
  454. package/stable/instance/slice.js +1 -0
  455. package/stable/instance/some.js +1 -0
  456. package/stable/instance/sort.js +1 -0
  457. package/stable/instance/splice.js +1 -0
  458. package/stable/instance/starts-with.js +1 -0
  459. package/stable/instance/trim-end.js +1 -0
  460. package/stable/instance/trim-left.js +1 -0
  461. package/stable/instance/trim-right.js +1 -0
  462. package/stable/instance/trim-start.js +1 -0
  463. package/stable/instance/trim.js +1 -0
  464. package/stable/instance/values.js +16 -0
  465. package/stable/json/index.js +1 -0
  466. package/stable/json/stringify.js +1 -0
  467. package/stable/json/to-string-tag.js +1 -0
  468. package/stable/map/index.js +1 -0
  469. package/stable/math/acosh.js +1 -0
  470. package/stable/math/asinh.js +1 -0
  471. package/stable/math/atanh.js +1 -0
  472. package/stable/math/cbrt.js +1 -0
  473. package/stable/math/clz32.js +1 -0
  474. package/stable/math/cosh.js +1 -0
  475. package/stable/math/expm1.js +1 -0
  476. package/stable/math/fround.js +1 -0
  477. package/stable/math/hypot.js +1 -0
  478. package/stable/math/imul.js +1 -0
  479. package/stable/math/index.js +1 -0
  480. package/stable/math/log10.js +1 -0
  481. package/stable/math/log1p.js +1 -0
  482. package/stable/math/log2.js +1 -0
  483. package/stable/math/sign.js +1 -0
  484. package/stable/math/sinh.js +1 -0
  485. package/stable/math/tanh.js +1 -0
  486. package/stable/math/to-string-tag.js +1 -0
  487. package/stable/math/trunc.js +1 -0
  488. package/stable/number/constructor.js +1 -0
  489. package/stable/number/epsilon.js +1 -0
  490. package/stable/number/index.js +1 -0
  491. package/stable/number/is-finite.js +1 -0
  492. package/stable/number/is-integer.js +1 -0
  493. package/stable/number/is-nan.js +1 -0
  494. package/stable/number/is-safe-integer.js +1 -0
  495. package/stable/number/max-safe-integer.js +1 -0
  496. package/stable/number/min-safe-integer.js +1 -0
  497. package/stable/number/parse-float.js +1 -0
  498. package/stable/number/parse-int.js +1 -0
  499. package/stable/number/to-fixed.js +1 -0
  500. package/stable/number/to-precision.js +1 -0
  501. package/stable/number/virtual/index.js +1 -0
  502. package/stable/number/virtual/to-fixed.js +1 -0
  503. package/stable/number/virtual/to-precision.js +1 -0
  504. package/stable/object/assign.js +1 -0
  505. package/stable/object/create.js +1 -0
  506. package/stable/object/define-getter.js +1 -0
  507. package/stable/object/define-properties.js +1 -0
  508. package/stable/object/define-property.js +1 -0
  509. package/stable/object/define-setter.js +1 -0
  510. package/stable/object/entries.js +1 -0
  511. package/stable/object/freeze.js +1 -0
  512. package/stable/object/from-entries.js +1 -0
  513. package/stable/object/get-own-property-descriptor.js +1 -0
  514. package/stable/object/get-own-property-descriptors.js +1 -0
  515. package/stable/object/get-own-property-names.js +1 -0
  516. package/stable/object/get-own-property-symbols.js +1 -0
  517. package/stable/object/get-prototype-of.js +1 -0
  518. package/stable/object/index.js +1 -0
  519. package/stable/object/is-extensible.js +1 -0
  520. package/stable/object/is-frozen.js +1 -0
  521. package/stable/object/is-sealed.js +1 -0
  522. package/stable/object/is.js +1 -0
  523. package/stable/object/keys.js +1 -0
  524. package/stable/object/lookup-getter.js +1 -0
  525. package/stable/object/lookup-setter.js +1 -0
  526. package/stable/object/prevent-extensions.js +1 -0
  527. package/stable/object/seal.js +1 -0
  528. package/stable/object/set-prototype-of.js +1 -0
  529. package/stable/object/to-string.js +1 -0
  530. package/stable/object/values.js +1 -0
  531. package/stable/parse-float.js +1 -0
  532. package/stable/parse-int.js +1 -0
  533. package/stable/promise/finally.js +1 -0
  534. package/stable/promise/index.js +1 -0
  535. package/stable/queue-microtask.js +1 -0
  536. package/stable/reflect/apply.js +1 -0
  537. package/stable/reflect/construct.js +1 -0
  538. package/stable/reflect/define-property.js +1 -0
  539. package/stable/reflect/delete-property.js +1 -0
  540. package/stable/reflect/get-own-property-descriptor.js +1 -0
  541. package/stable/reflect/get-prototype-of.js +1 -0
  542. package/stable/reflect/get.js +1 -0
  543. package/stable/reflect/has.js +1 -0
  544. package/stable/reflect/index.js +1 -0
  545. package/stable/reflect/is-extensible.js +1 -0
  546. package/stable/reflect/own-keys.js +1 -0
  547. package/stable/reflect/prevent-extensions.js +1 -0
  548. package/stable/reflect/set-prototype-of.js +1 -0
  549. package/stable/reflect/set.js +1 -0
  550. package/stable/regexp/constructor.js +1 -0
  551. package/stable/regexp/flags.js +1 -0
  552. package/stable/regexp/index.js +1 -0
  553. package/stable/regexp/match.js +1 -0
  554. package/stable/regexp/replace.js +1 -0
  555. package/stable/regexp/search.js +1 -0
  556. package/stable/regexp/split.js +1 -0
  557. package/stable/regexp/to-string.js +1 -0
  558. package/stable/set/index.js +1 -0
  559. package/stable/set-immediate.js +3 -0
  560. package/stable/set-interval.js +3 -0
  561. package/stable/set-timeout.js +3 -0
  562. package/stable/string/anchor.js +1 -0
  563. package/stable/string/big.js +1 -0
  564. package/stable/string/blink.js +1 -0
  565. package/stable/string/bold.js +1 -0
  566. package/stable/string/code-point-at.js +1 -0
  567. package/stable/string/ends-with.js +1 -0
  568. package/stable/string/fixed.js +1 -0
  569. package/stable/string/fontcolor.js +1 -0
  570. package/stable/string/fontsize.js +1 -0
  571. package/stable/string/from-code-point.js +1 -0
  572. package/stable/string/includes.js +1 -0
  573. package/stable/string/index.js +1 -0
  574. package/stable/string/italics.js +1 -0
  575. package/stable/string/iterator.js +1 -0
  576. package/stable/string/link.js +1 -0
  577. package/stable/string/match.js +1 -0
  578. package/stable/string/pad-end.js +1 -0
  579. package/stable/string/pad-start.js +1 -0
  580. package/stable/string/raw.js +1 -0
  581. package/stable/string/repeat.js +1 -0
  582. package/stable/string/replace.js +1 -0
  583. package/stable/string/search.js +1 -0
  584. package/stable/string/small.js +1 -0
  585. package/stable/string/split.js +1 -0
  586. package/stable/string/starts-with.js +1 -0
  587. package/stable/string/strike.js +1 -0
  588. package/stable/string/sub.js +1 -0
  589. package/stable/string/sup.js +1 -0
  590. package/stable/string/trim-end.js +1 -0
  591. package/stable/string/trim-left.js +1 -0
  592. package/stable/string/trim-right.js +1 -0
  593. package/stable/string/trim-start.js +1 -0
  594. package/stable/string/trim.js +1 -0
  595. package/stable/string/virtual/anchor.js +1 -0
  596. package/stable/string/virtual/big.js +1 -0
  597. package/stable/string/virtual/blink.js +1 -0
  598. package/stable/string/virtual/bold.js +1 -0
  599. package/stable/string/virtual/code-point-at.js +1 -0
  600. package/stable/string/virtual/ends-with.js +1 -0
  601. package/stable/string/virtual/fixed.js +1 -0
  602. package/stable/string/virtual/fontcolor.js +1 -0
  603. package/stable/string/virtual/fontsize.js +1 -0
  604. package/stable/string/virtual/includes.js +1 -0
  605. package/stable/string/virtual/index.js +1 -0
  606. package/stable/string/virtual/italics.js +1 -0
  607. package/stable/string/virtual/iterator.js +1 -0
  608. package/stable/string/virtual/link.js +1 -0
  609. package/stable/string/virtual/pad-end.js +1 -0
  610. package/stable/string/virtual/pad-start.js +1 -0
  611. package/stable/string/virtual/repeat.js +1 -0
  612. package/stable/string/virtual/small.js +1 -0
  613. package/stable/string/virtual/starts-with.js +1 -0
  614. package/stable/string/virtual/strike.js +1 -0
  615. package/stable/string/virtual/sub.js +1 -0
  616. package/stable/string/virtual/sup.js +1 -0
  617. package/stable/string/virtual/trim-end.js +1 -0
  618. package/stable/string/virtual/trim-left.js +1 -0
  619. package/stable/string/virtual/trim-right.js +1 -0
  620. package/stable/string/virtual/trim-start.js +1 -0
  621. package/stable/string/virtual/trim.js +1 -0
  622. package/stable/symbol/async-iterator.js +1 -0
  623. package/stable/symbol/description.js +1 -0
  624. package/stable/symbol/for.js +1 -0
  625. package/stable/symbol/has-instance.js +1 -0
  626. package/stable/symbol/index.js +1 -0
  627. package/stable/symbol/is-concat-spreadable.js +1 -0
  628. package/stable/symbol/iterator.js +1 -0
  629. package/stable/symbol/key-for.js +1 -0
  630. package/stable/symbol/match.js +1 -0
  631. package/stable/symbol/replace.js +1 -0
  632. package/stable/symbol/search.js +1 -0
  633. package/stable/symbol/species.js +1 -0
  634. package/stable/symbol/split.js +1 -0
  635. package/stable/symbol/to-primitive.js +1 -0
  636. package/stable/symbol/to-string-tag.js +1 -0
  637. package/stable/symbol/unscopables.js +1 -0
  638. package/stable/typed-array/copy-within.js +1 -0
  639. package/stable/typed-array/entries.js +1 -0
  640. package/stable/typed-array/every.js +1 -0
  641. package/stable/typed-array/fill.js +1 -0
  642. package/stable/typed-array/filter.js +1 -0
  643. package/stable/typed-array/find-index.js +1 -0
  644. package/stable/typed-array/find.js +1 -0
  645. package/stable/typed-array/float32-array.js +1 -0
  646. package/stable/typed-array/float64-array.js +1 -0
  647. package/stable/typed-array/for-each.js +1 -0
  648. package/stable/typed-array/from.js +1 -0
  649. package/stable/typed-array/includes.js +1 -0
  650. package/stable/typed-array/index-of.js +1 -0
  651. package/stable/typed-array/index.js +1 -0
  652. package/stable/typed-array/int16-array.js +1 -0
  653. package/stable/typed-array/int32-array.js +1 -0
  654. package/stable/typed-array/int8-array.js +1 -0
  655. package/stable/typed-array/iterator.js +1 -0
  656. package/stable/typed-array/join.js +1 -0
  657. package/stable/typed-array/keys.js +1 -0
  658. package/stable/typed-array/last-index-of.js +1 -0
  659. package/stable/typed-array/map.js +1 -0
  660. package/stable/typed-array/of.js +1 -0
  661. package/stable/typed-array/reduce-right.js +1 -0
  662. package/stable/typed-array/reduce.js +1 -0
  663. package/stable/typed-array/reverse.js +1 -0
  664. package/stable/typed-array/set.js +1 -0
  665. package/stable/typed-array/slice.js +1 -0
  666. package/stable/typed-array/some.js +1 -0
  667. package/stable/typed-array/sort.js +1 -0
  668. package/stable/typed-array/subarray.js +1 -0
  669. package/stable/typed-array/to-locale-string.js +1 -0
  670. package/stable/typed-array/to-string.js +1 -0
  671. package/stable/typed-array/uint16-array.js +1 -0
  672. package/stable/typed-array/uint32-array.js +1 -0
  673. package/stable/typed-array/uint8-array.js +1 -0
  674. package/stable/typed-array/uint8-clamped-array.js +1 -0
  675. package/stable/typed-array/values.js +1 -0
  676. package/stable/url/index.js +1 -0
  677. package/stable/url/to-json.js +1 -0
  678. package/stable/url-search-params/index.js +1 -0
  679. package/stable/weak-map/index.js +1 -0
  680. package/stable/weak-set/index.js +1 -0
  681. package/stage/0.js +1 -0
  682. package/stage/1.js +1 -2
  683. package/stage/2.js +1 -0
  684. package/stage/3.js +0 -3
  685. package/internals/object-statics-accept-primitives.js +0 -11
  686. package/internals/set-collection-from.js +0 -28
  687. package/internals/set-collection-of.js +0 -12
  688. package/internals/set-is-disjoint-or-subset.js +0 -16
  689. package/internals/strict-method.js +0 -9
  690. package/internals/string-html.js +0 -21
  691. package/modules/esnext.set.is-disjoint-with.js +0 -10
  692. package/modules/esnext.string.trim-left.js +0 -8
  693. package/modules/esnext.string.trim-right.js +0 -8
  694. package/proposals/array-flat-and-flat-map.js +0 -2
  695. package/proposals/object-from-entries.js +0 -2
  696. package/proposals/string-trim-start-end.js +0 -2
@@ -3,24 +3,24 @@ var aFunction = require('../internals/a-function');
3
3
  var toObject = require('../internals/to-object');
4
4
  var fails = require('../internals/fails');
5
5
  var nativeSort = [].sort;
6
- var testData = [1, 2, 3];
6
+ var test = [1, 2, 3];
7
7
 
8
8
  // IE8-
9
9
  var FAILS_ON_UNDEFINED = fails(function () {
10
- testData.sort(undefined);
10
+ test.sort(undefined);
11
11
  });
12
12
  // V8 bug
13
13
  var FAILS_ON_NULL = fails(function () {
14
- testData.sort(null);
14
+ test.sort(null);
15
15
  });
16
16
  // Old WebKit
17
- var SLOPPY_METHOD = !require('../internals/strict-method')(nativeSort);
17
+ var SLOPPY_METHOD = require('../internals/sloppy-array-method')('sort');
18
+
19
+ var FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || SLOPPY_METHOD;
18
20
 
19
21
  // `Array.prototype.sort` method
20
22
  // https://tc39.github.io/ecma262/#sec-array.prototype.sort
21
- require('../internals/export')({
22
- target: 'Array', proto: true, forced: FAILS_ON_UNDEFINED || !FAILS_ON_NULL || SLOPPY_METHOD
23
- }, {
23
+ require('../internals/export')({ target: 'Array', proto: true, forced: FORCED }, {
24
24
  sort: function sort(comparefn) {
25
25
  return comparefn === undefined
26
26
  ? nativeSort.call(toObject(this))
@@ -7,10 +7,10 @@ var arraySpeciesCreate = require('../internals/array-species-create');
7
7
  var createProperty = require('../internals/create-property');
8
8
  var max = Math.max;
9
9
  var min = Math.min;
10
+ var MAX_SAFE_INTEGER = 0x1fffffffffffff;
11
+ var MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded';
10
12
 
11
- var SPECIES_SUPPORT = require('../internals/check-array-species-create')(function (array) {
12
- return array.splice();
13
- });
13
+ var SPECIES_SUPPORT = require('../internals/array-method-has-species-support')('splice');
14
14
 
15
15
  // `Array.prototype.splice` method
16
16
  // https://tc39.github.io/ecma262/#sec-array.prototype.splice
@@ -31,7 +31,9 @@ require('../internals/export')({ target: 'Array', proto: true, forced: !SPECIES_
31
31
  insertCount = argumentsLength - 2;
32
32
  actualDeleteCount = min(max(toInteger(deleteCount), 0), len - actualStart);
33
33
  }
34
- if (len + insertCount - actualDeleteCount > 9007199254740991) throw TypeError('Incorrect length!');
34
+ if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER) {
35
+ throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED);
36
+ }
35
37
  A = arraySpeciesCreate(O, actualDeleteCount);
36
38
  for (k = 0; k < actualDeleteCount; k++) {
37
39
  from = actualStart + k;
@@ -54,7 +56,9 @@ require('../internals/export')({ target: 'Array', proto: true, forced: !SPECIES_
54
56
  else delete O[to];
55
57
  }
56
58
  }
57
- for (k = 0; k < insertCount; k++) O[k + actualStart] = arguments[k + 2];
59
+ for (k = 0; k < insertCount; k++) {
60
+ O[k + actualStart] = arguments[k + 2];
61
+ }
58
62
  O.length = len - actualDeleteCount + insertCount;
59
63
  return A;
60
64
  }
@@ -0,0 +1,3 @@
1
+ // this method was added to unscopables after implementation
2
+ // in popular engines, so it's moved to a separate module
3
+ require('../internals/add-to-unscopables')('flatMap');
@@ -0,0 +1,3 @@
1
+ // this method was added to unscopables after implementation
2
+ // in popular engines, so it's moved to a separate module
3
+ require('../internals/add-to-unscopables')('flat');
@@ -2,12 +2,14 @@
2
2
  var toObject = require('../internals/to-object');
3
3
  var toPrimitive = require('../internals/to-primitive');
4
4
 
5
- // `Date.prototype.toJSON` method
6
- // https://tc39.github.io/ecma262/#sec-date.prototype.tojson
7
- require('../internals/export')({ target: 'Date', proto: true, forced: require('../internals/fails')(function () {
5
+ var FORCED = require('../internals/fails')(function () {
8
6
  return new Date(NaN).toJSON() !== null
9
7
  || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1;
10
- }) }, {
8
+ });
9
+
10
+ // `Date.prototype.toJSON` method
11
+ // https://tc39.github.io/ecma262/#sec-date.prototype.tojson
12
+ require('../internals/export')({ target: 'Date', proto: true, forced: FORCED }, {
11
13
  // eslint-disable-next-line no-unused-vars
12
14
  toJSON: function toJSON(key) {
13
15
  var O = toObject(this);
@@ -1,3 +1,4 @@
1
+ var DESCRIPTORS = require('../internals/descriptors');
1
2
  var defineProperty = require('../internals/object-define-property').f;
2
3
  var FunctionPrototype = Function.prototype;
3
4
  var FunctionPrototypeToString = FunctionPrototype.toString;
@@ -6,13 +7,15 @@ var NAME = 'name';
6
7
 
7
8
  // Function instances `.name` property
8
9
  // https://tc39.github.io/ecma262/#sec-function-instances-name
9
- NAME in FunctionPrototype || require('../internals/descriptors') && defineProperty(FunctionPrototype, NAME, {
10
- configurable: true,
11
- get: function () {
12
- try {
13
- return FunctionPrototypeToString.call(this).match(nameRE)[1];
14
- } catch (e) {
15
- return '';
10
+ if (DESCRIPTORS && !(NAME in FunctionPrototype)) {
11
+ defineProperty(FunctionPrototype, NAME, {
12
+ configurable: true,
13
+ get: function () {
14
+ try {
15
+ return FunctionPrototypeToString.call(this).match(nameRE)[1];
16
+ } catch (e) {
17
+ return '';
18
+ }
16
19
  }
17
- }
18
- });
20
+ });
21
+ }
@@ -4,14 +4,15 @@ var log = Math.log;
4
4
  var sqrt = Math.sqrt;
5
5
  var LN2 = Math.LN2;
6
6
 
7
- // `Math.acosh` method
8
- // https://tc39.github.io/ecma262/#sec-math.acosh
9
- require('../internals/export')({ target: 'Math', stat: true, forced: !(nativeAcosh
7
+ var FORCED = !nativeAcosh
10
8
  // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509
11
- && Math.floor(nativeAcosh(Number.MAX_VALUE)) == 710
9
+ || Math.floor(nativeAcosh(Number.MAX_VALUE)) != 710
12
10
  // Tor Browser bug: Math.acosh(Infinity) -> NaN
13
- && nativeAcosh(Infinity) == Infinity
14
- ) }, {
11
+ || nativeAcosh(Infinity) != Infinity;
12
+
13
+ // `Math.acosh` method
14
+ // https://tc39.github.io/ecma262/#sec-math.acosh
15
+ require('../internals/export')({ target: 'Math', stat: true, forced: FORCED }, {
15
16
  acosh: function acosh(x) {
16
17
  return (x = +x) < 1 ? NaN : x > 94906265.62425156
17
18
  ? log(x) + LN2
@@ -9,6 +9,6 @@ function asinh(x) {
9
9
  // `Math.asinh` method
10
10
  // https://tc39.github.io/ecma262/#sec-math.asinh
11
11
  // Tor Browser bug: Math.asinh(0) -> -0
12
- require('../internals/export')({ target: 'Math', stat: true, forced: !(
13
- nativeAsinh && 1 / nativeAsinh(0) > 0
14
- ) }, { asinh: asinh });
12
+ require('../internals/export')({ target: 'Math', stat: true, forced: !(nativeAsinh && 1 / nativeAsinh(0) > 0) }, {
13
+ asinh: asinh
14
+ });
@@ -1,11 +1,13 @@
1
1
  var nativeImul = Math.imul;
2
2
 
3
+ var FORCED = require('../internals/fails')(function () {
4
+ return nativeImul(0xffffffff, 5) != -5 || nativeImul.length != 2;
5
+ });
6
+
3
7
  // `Math.imul` method
4
8
  // https://tc39.github.io/ecma262/#sec-math.imul
5
9
  // some WebKit versions fails with big numbers, some has wrong arity
6
- require('../internals/export')({ target: 'Math', stat: true, forced: require('../internals/fails')(function () {
7
- return nativeImul(0xffffffff, 5) != -5 || nativeImul.length != 2;
8
- }) }, {
10
+ require('../internals/export')({ target: 'Math', stat: true, forced: FORCED }, {
9
11
  imul: function imul(x, y) {
10
12
  var UINT16 = 0xffff;
11
13
  var xn = +x;
@@ -3,12 +3,14 @@ var abs = Math.abs;
3
3
  var exp = Math.exp;
4
4
  var E = Math.E;
5
5
 
6
+ var FORCED = require('../internals/fails')(function () {
7
+ return Math.sinh(-2e-17) != -2e-17;
8
+ });
9
+
6
10
  // `Math.sinh` method
7
11
  // https://tc39.github.io/ecma262/#sec-math.sinh
8
12
  // V8 near Chromium 38 has a problem with very small numbers
9
- require('../internals/export')({ target: 'Math', stat: true, forced: require('../internals/fails')(function () {
10
- return !Math.sinh(-2e-17) != -2e-17;
11
- }) }, {
13
+ require('../internals/export')({ target: 'Math', stat: true, forced: FORCED }, {
12
14
  sinh: function sinh(x) {
13
15
  return abs(x = +x) < 1 ? (expm1(x) - expm1(-x)) / 2 : (exp(x - 1) - exp(-x - 1)) * (E / 2);
14
16
  }
@@ -9,7 +9,7 @@ var fails = require('../internals/fails');
9
9
  var getOwnPropertyNames = require('../internals/object-get-own-property-names').f;
10
10
  var getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;
11
11
  var defineProperty = require('../internals/object-define-property').f;
12
- var internalTrim = require('../internals/string-trim').trim;
12
+ var internalStringTrim = require('../internals/string-trim');
13
13
  var NUMBER = 'Number';
14
14
  var NativeNumber = global[NUMBER];
15
15
  var NumberPrototype = NativeNumber.prototype;
@@ -22,10 +22,10 @@ var NATIVE_TRIM = 'trim' in String.prototype;
22
22
  // https://tc39.github.io/ecma262/#sec-tonumber
23
23
  var toNumber = function (argument) {
24
24
  var it = toPrimitive(argument, false);
25
+ var first, third, radix, maxCode, digits, length, i, code;
25
26
  if (typeof it == 'string' && it.length > 2) {
26
- it = NATIVE_TRIM ? it.trim() : internalTrim(it, 3);
27
- var first = it.charCodeAt(0);
28
- var third, radix, maxCode;
27
+ it = NATIVE_TRIM ? it.trim() : internalStringTrim(it, 3);
28
+ first = it.charCodeAt(0);
29
29
  if (first === 43 || first === 45) {
30
30
  third = it.charCodeAt(2);
31
31
  if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix
@@ -35,7 +35,9 @@ var toNumber = function (argument) {
35
35
  case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i
36
36
  default: return +it;
37
37
  }
38
- for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {
38
+ digits = it.slice(2);
39
+ length = digits.length;
40
+ for (i = 0; i < length; i++) {
39
41
  code = digits.charCodeAt(i);
40
42
  // parseInt parses a string to a first unavailable symbol
41
43
  // but ToNumber should return NaN if a string contains unavailable symbols
@@ -71,7 +71,7 @@ require('../internals/export')({ target: 'Number', proto: true, forced: nativeTo
71
71
  var s = '';
72
72
  var m = '0';
73
73
  var e, z, j, k;
74
- if (f < 0 || f > 20) throw RangeError('Incorrect fraction digits!');
74
+ if (f < 0 || f > 20) throw RangeError('Incorrect fraction digits');
75
75
  // eslint-disable-next-line no-self-compare
76
76
  if (x != x) return 'NaN';
77
77
  if (x <= -1e21 || x >= 1e21) return String(x);
@@ -2,11 +2,12 @@
2
2
  var toObject = require('../internals/to-object');
3
3
  var aFunction = require('../internals/a-function');
4
4
  var definePropertyModule = require('../internals/object-define-property');
5
+ var FORCED = require('../internals/forced-object-prototype-accessors-methods');
5
6
 
6
7
  // `Object.prototype.__defineGetter__` method
7
8
  // https://tc39.github.io/ecma262/#sec-object.prototype.__defineGetter__
8
9
  if (require('../internals/descriptors')) {
9
- require('../internals/export')({ target: 'Object', proto: true, forced: require('../internals/object-forced-pam') }, {
10
+ require('../internals/export')({ target: 'Object', proto: true, forced: FORCED }, {
10
11
  __defineGetter__: function __defineGetter__(P, getter) {
11
12
  definePropertyModule.f(toObject(this), P, { get: aFunction(getter), enumerable: true, configurable: true });
12
13
  }
@@ -2,11 +2,12 @@
2
2
  var toObject = require('../internals/to-object');
3
3
  var aFunction = require('../internals/a-function');
4
4
  var definePropertyModule = require('../internals/object-define-property');
5
+ var FORCED = require('../internals/forced-object-prototype-accessors-methods');
5
6
 
6
7
  // `Object.prototype.__defineSetter__` method
7
8
  // https://tc39.github.io/ecma262/#sec-object.prototype.__defineSetter__
8
9
  if (require('../internals/descriptors')) {
9
- require('../internals/export')({ target: 'Object', proto: true, forced: require('../internals/object-forced-pam') }, {
10
+ require('../internals/export')({ target: 'Object', proto: true, forced: FORCED }, {
10
11
  __defineSetter__: function __defineSetter__(P, setter) {
11
12
  definePropertyModule.f(toObject(this), P, { set: aFunction(setter), enumerable: true, configurable: true });
12
13
  }
@@ -1,9 +1,9 @@
1
- var internalEntries = require('../internals/object-to-array')(true);
1
+ var objectToArray = require('../internals/object-to-array');
2
2
 
3
3
  // `Object.entries` method
4
4
  // https://tc39.github.io/ecma262/#sec-object.entries
5
5
  require('../internals/export')({ target: 'Object', stat: true }, {
6
6
  entries: function entries(O) {
7
- return internalEntries(O);
7
+ return objectToArray(O, true);
8
8
  }
9
9
  });
@@ -1,11 +1,13 @@
1
1
  var isObject = require('../internals/is-object');
2
2
  var onFreeze = require('../internals/internal-metadata').onFreeze;
3
+ var nativeFreeze = Object.freeze;
3
4
  var FREEZING = require('../internals/freezing');
5
+ var FAILS_ON_PRIMITIVES = require('../internals/fails')(function () { nativeFreeze(1); });
4
6
 
5
7
  // `Object.freeze` method
6
8
  // https://tc39.github.io/ecma262/#sec-object.freeze
7
- require('../internals/object-statics-accept-primitives')('freeze', function (nativeFreeze) {
8
- return function freeze(it) {
9
+ require('../internals/export')({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, {
10
+ freeze: function freeze(it) {
9
11
  return nativeFreeze && isObject(it) ? nativeFreeze(onFreeze(it)) : it;
10
- };
11
- }, !FREEZING);
12
+ }
13
+ });
@@ -1,11 +1,13 @@
1
- var DESCRIPTORS = require('../internals/descriptors');
2
1
  var toIndexedObject = require('../internals/to-indexed-object');
3
2
  var nativeGetOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;
3
+ var DESCRIPTORS = require('../internals/descriptors');
4
+ var FAILS_ON_PRIMITIVES = require('../internals/fails')(function () { nativeGetOwnPropertyDescriptor(1); });
5
+ var FORCED = !DESCRIPTORS || FAILS_ON_PRIMITIVES;
4
6
 
5
7
  // `Object.getOwnPropertyDescriptor` method
6
8
  // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
7
- require('../internals/object-statics-accept-primitives')('getOwnPropertyDescriptor', function () {
8
- return function getOwnPropertyDescriptor(it, key) {
9
+ require('../internals/export')({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, {
10
+ getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {
9
11
  return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key);
10
- };
11
- }, !DESCRIPTORS);
12
+ }
13
+ });
@@ -1,5 +1,8 @@
1
+ var nativeGetOwnPropertyNames = require('../internals/object-get-own-property-names-external').f;
2
+ var FAILS_ON_PRIMITIVES = require('../internals/fails')(function () { Object.getOwnPropertyNames(1); });
3
+
1
4
  // `Object.getOwnPropertyNames` method
2
5
  // https://tc39.github.io/ecma262/#sec-object.getownpropertynames
3
- require('../internals/object-statics-accept-primitives')('getOwnPropertyNames', function () {
4
- return require('../internals/object-get-own-property-names-external').f;
6
+ require('../internals/export')({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {
7
+ getOwnPropertyNames: nativeGetOwnPropertyNames
5
8
  });
@@ -1,11 +1,15 @@
1
1
  var toObject = require('../internals/to-object');
2
2
  var nativeGetPrototypeOf = require('../internals/object-get-prototype-of');
3
3
  var CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');
4
+ var FAILS_ON_PRIMITIVES = require('../internals/fails')(function () { nativeGetPrototypeOf(1); });
4
5
 
5
6
  // `Object.getPrototypeOf` method
6
7
  // https://tc39.github.io/ecma262/#sec-object.getprototypeof
7
- require('../internals/object-statics-accept-primitives')('getPrototypeOf', function () {
8
- return function getPrototypeOf(it) {
8
+ require('../internals/export')({
9
+ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PROTOTYPE_GETTER
10
+ }, {
11
+ getPrototypeOf: function getPrototypeOf(it) {
9
12
  return nativeGetPrototypeOf(toObject(it));
10
- };
11
- }, !CORRECT_PROTOTYPE_GETTER);
13
+ }
14
+ });
15
+
@@ -1,9 +1,11 @@
1
1
  var isObject = require('../internals/is-object');
2
+ var nativeIsExtensible = Object.isExtensible;
3
+ var FAILS_ON_PRIMITIVES = require('../internals/fails')(function () { nativeIsExtensible(1); });
2
4
 
3
5
  // `Object.isExtensible` method
4
6
  // https://tc39.github.io/ecma262/#sec-object.isextensible
5
- require('../internals/object-statics-accept-primitives')('isExtensible', function (nativeIsExtensible) {
6
- return function isExtensible(it) {
7
+ require('../internals/export')({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {
8
+ isExtensible: function isExtensible(it) {
7
9
  return isObject(it) ? nativeIsExtensible ? nativeIsExtensible(it) : true : false;
8
- };
10
+ }
9
11
  });
@@ -1,9 +1,11 @@
1
1
  var isObject = require('../internals/is-object');
2
+ var nativeIsFrozen = Object.isFrozen;
3
+ var FAILS_ON_PRIMITIVES = require('../internals/fails')(function () { nativeIsFrozen(1); });
2
4
 
3
5
  // `Object.isFrozen` method
4
6
  // https://tc39.github.io/ecma262/#sec-object.isfrozen
5
- require('../internals/object-statics-accept-primitives')('isFrozen', function (nativeIsFrozen) {
6
- return function isFrozen(it) {
7
+ require('../internals/export')({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {
8
+ isFrozen: function isFrozen(it) {
7
9
  return isObject(it) ? nativeIsFrozen ? nativeIsFrozen(it) : false : true;
8
- };
10
+ }
9
11
  });
@@ -1,9 +1,11 @@
1
1
  var isObject = require('../internals/is-object');
2
+ var nativeIsSealed = Object.isSealed;
3
+ var FAILS_ON_PRIMITIVES = require('../internals/fails')(function () { nativeIsSealed(1); });
2
4
 
3
5
  // `Object.isSealed` method
4
6
  // https://tc39.github.io/ecma262/#sec-object.issealed
5
- require('../internals/object-statics-accept-primitives')('isSealed', function (nativeIsSealed) {
6
- return function isSealed(it) {
7
+ require('../internals/export')({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {
8
+ isSealed: function isSealed(it) {
7
9
  return isObject(it) ? nativeIsSealed ? nativeIsSealed(it) : false : true;
8
- };
10
+ }
9
11
  });
@@ -1,10 +1,11 @@
1
1
  var toObject = require('../internals/to-object');
2
2
  var nativeKeys = require('../internals/object-keys');
3
+ var FAILS_ON_PRIMITIVES = require('../internals/fails')(function () { nativeKeys(1); });
3
4
 
4
5
  // `Object.keys` method
5
6
  // https://tc39.github.io/ecma262/#sec-object.keys
6
- require('../internals/object-statics-accept-primitives')('keys', function () {
7
- return function keys(it) {
7
+ require('../internals/export')({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {
8
+ keys: function keys(it) {
8
9
  return nativeKeys(toObject(it));
9
- };
10
+ }
10
11
  });
@@ -3,17 +3,18 @@ var toObject = require('../internals/to-object');
3
3
  var toPrimitive = require('../internals/to-primitive');
4
4
  var getPrototypeOf = require('../internals/object-get-prototype-of');
5
5
  var getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;
6
+ var FORCED = require('../internals/forced-object-prototype-accessors-methods');
6
7
 
7
8
  // `Object.prototype.__lookupGetter__` method
8
9
  // https://tc39.github.io/ecma262/#sec-object.prototype.__lookupGetter__
9
10
  if (require('../internals/descriptors')) {
10
- require('../internals/export')({ target: 'Object', proto: true, forced: require('../internals/object-forced-pam') }, {
11
+ require('../internals/export')({ target: 'Object', proto: true, forced: FORCED }, {
11
12
  __lookupGetter__: function __lookupGetter__(P) {
12
13
  var O = toObject(this);
13
- var K = toPrimitive(P, true);
14
- var descriptor;
14
+ var key = toPrimitive(P, true);
15
+ var desc;
15
16
  do {
16
- if (descriptor = getOwnPropertyDescriptor(O, K)) return descriptor.get;
17
+ if (desc = getOwnPropertyDescriptor(O, key)) return desc.get;
17
18
  } while (O = getPrototypeOf(O));
18
19
  }
19
20
  });
@@ -3,17 +3,18 @@ var toObject = require('../internals/to-object');
3
3
  var toPrimitive = require('../internals/to-primitive');
4
4
  var getPrototypeOf = require('../internals/object-get-prototype-of');
5
5
  var getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;
6
+ var FORCED = require('../internals/forced-object-prototype-accessors-methods');
6
7
 
7
8
  // `Object.prototype.__lookupSetter__` method
8
9
  // https://tc39.github.io/ecma262/#sec-object.prototype.__lookupSetter__
9
10
  if (require('../internals/descriptors')) {
10
- require('../internals/export')({ target: 'Object', proto: true, forced: require('../internals/object-forced-pam') }, {
11
+ require('../internals/export')({ target: 'Object', proto: true, forced: FORCED }, {
11
12
  __lookupSetter__: function __lookupSetter__(P) {
12
13
  var O = toObject(this);
13
- var K = toPrimitive(P, true);
14
- var descriptor;
14
+ var key = toPrimitive(P, true);
15
+ var desc;
15
16
  do {
16
- if (descriptor = getOwnPropertyDescriptor(O, K)) return descriptor.set;
17
+ if (desc = getOwnPropertyDescriptor(O, key)) return desc.set;
17
18
  } while (O = getPrototypeOf(O));
18
19
  }
19
20
  });
@@ -1,11 +1,13 @@
1
1
  var isObject = require('../internals/is-object');
2
2
  var onFreeze = require('../internals/internal-metadata').onFreeze;
3
+ var nativePreventExtensions = Object.preventExtensions;
3
4
  var FREEZING = require('../internals/freezing');
5
+ var FAILS_ON_PRIMITIVES = require('../internals/fails')(function () { nativePreventExtensions(1); });
4
6
 
5
7
  // `Object.preventExtensions` method
6
8
  // https://tc39.github.io/ecma262/#sec-object.preventextensions
7
- require('../internals/object-statics-accept-primitives')('preventExtensions', function (nativePreventExtensions) {
8
- return function preventExtensions(it) {
9
+ require('../internals/export')({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, {
10
+ preventExtensions: function preventExtensions(it) {
9
11
  return nativePreventExtensions && isObject(it) ? nativePreventExtensions(onFreeze(it)) : it;
10
- };
11
- }, !FREEZING);
12
+ }
13
+ });
@@ -1,11 +1,13 @@
1
1
  var isObject = require('../internals/is-object');
2
2
  var onFreeze = require('../internals/internal-metadata').onFreeze;
3
+ var nativeSeal = Object.seal;
3
4
  var FREEZING = require('../internals/freezing');
5
+ var FAILS_ON_PRIMITIVES = require('../internals/fails')(function () { nativeSeal(1); });
4
6
 
5
7
  // `Object.seal` method
6
8
  // https://tc39.github.io/ecma262/#sec-object.seal
7
- require('../internals/object-statics-accept-primitives')('seal', function (nativeSeal) {
8
- return function seal(it) {
9
+ require('../internals/export')({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, {
10
+ seal: function seal(it) {
9
11
  return nativeSeal && isObject(it) ? nativeSeal(onFreeze(it)) : it;
10
- };
11
- }, !FREEZING);
12
+ }
13
+ });
@@ -1,7 +1,8 @@
1
1
  var toString = require('../internals/object-to-string');
2
+ var ObjectPrototype = Object.prototype;
2
3
 
3
4
  // `Object.prototype.toString` method
4
5
  // https://tc39.github.io/ecma262/#sec-object.prototype.tostring
5
- if (toString !== ({}).toString) {
6
- require('../internals/redefine')(Object.prototype, 'toString', toString, { unsafe: true });
6
+ if (toString !== ObjectPrototype.toString) {
7
+ require('../internals/redefine')(ObjectPrototype, 'toString', toString, { unsafe: true });
7
8
  }
@@ -1,9 +1,9 @@
1
- var internalValues = require('../internals/object-to-array')(false);
1
+ var objectToArray = require('../internals/object-to-array');
2
2
 
3
3
  // `Object.values` method
4
4
  // https://tc39.github.io/ecma262/#sec-object.values
5
5
  require('../internals/export')({ target: 'Object', stat: true }, {
6
6
  values: function values(O) {
7
- return internalValues(O);
7
+ return objectToArray(O);
8
8
  }
9
9
  });
@@ -1,20 +1,21 @@
1
1
  'use strict';
2
- var path = require('../internals/path');
3
- var global = require('../internals/global');
2
+ var getBuiltIn = require('../internals/get-built-in');
4
3
  var speciesConstructor = require('../internals/species-constructor');
5
4
  var promiseResolve = require('../internals/promise-resolve');
6
5
 
7
6
  // `Promise.prototype.finally` method
8
7
  // https://tc39.github.io/ecma262/#sec-promise.prototype.finally
9
- require('../internals/export')({ target: 'Promise', proto: true, real: true }, { 'finally': function (onFinally) {
10
- var C = speciesConstructor(this, typeof path.Promise == 'function' ? path.Promise : global.Promise);
11
- var isFunction = typeof onFinally == 'function';
12
- return this.then(
13
- isFunction ? function (x) {
14
- return promiseResolve(C, onFinally()).then(function () { return x; });
15
- } : onFinally,
16
- isFunction ? function (e) {
17
- return promiseResolve(C, onFinally()).then(function () { throw e; });
18
- } : onFinally
19
- );
20
- } });
8
+ require('../internals/export')({ target: 'Promise', proto: true, real: true }, {
9
+ 'finally': function (onFinally) {
10
+ var C = speciesConstructor(this, getBuiltIn('Promise'));
11
+ var isFunction = typeof onFinally == 'function';
12
+ return this.then(
13
+ isFunction ? function (x) {
14
+ return promiseResolve(C, onFinally()).then(function () { return x; });
15
+ } : onFinally,
16
+ isFunction ? function (e) {
17
+ return promiseResolve(C, onFinally()).then(function () { throw e; });
18
+ } : onFinally
19
+ );
20
+ }
21
+ });
@@ -27,6 +27,7 @@ var PromiseConstructor = global[PROMISE];
27
27
  var TypeError = global.TypeError;
28
28
  var document = global.document;
29
29
  var process = global.process;
30
+ var $fetch = global.fetch;
30
31
  var versions = process && process.versions;
31
32
  var v8 = versions && versions.v8 || '';
32
33
  var newPromiseCapability = newPromiseCapabilityModule.f;
@@ -60,6 +61,10 @@ var FORCED = isForced(PROMISE, function () {
60
61
  && userAgent.indexOf('Chrome/66') === -1);
61
62
  });
62
63
 
64
+ var INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {
65
+ PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });
66
+ });
67
+
63
68
  // helpers
64
69
  var isThenable = function (it) {
65
70
  var then;
@@ -176,7 +181,7 @@ var internalResolve = function (promise, state, value, unwrap) {
176
181
  state.done = true;
177
182
  if (unwrap) state = unwrap;
178
183
  try {
179
- if (promise === value) throw TypeError("Promise can't be resolved itself!");
184
+ if (promise === value) throw TypeError("Promise can't be resolved itself");
180
185
  var then = isThenable(value);
181
186
  if (then) {
182
187
  microtask(function () {
@@ -259,6 +264,14 @@ if (FORCED) {
259
264
  ? new OwnPromiseCapability(C)
260
265
  : newGenericPromiseCapability(C);
261
266
  };
267
+
268
+ // wrap fetch result
269
+ if (!IS_PURE && typeof $fetch == 'function') $export({ global: true, enumerable: true, forced: true }, {
270
+ // eslint-disable-next-line no-unused-vars
271
+ fetch: function fetch(input) {
272
+ return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));
273
+ }
274
+ });
262
275
  }
263
276
 
264
277
  $export({ global: true, wrap: true, forced: FORCED }, { Promise: PromiseConstructor });
@@ -287,9 +300,7 @@ $export({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, {
287
300
  }
288
301
  });
289
302
 
290
- $export({ target: PROMISE, stat: true, forced: FORCED || !checkCorrectnessOfIteration(function (iterable) {
291
- PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });
292
- }) }, {
303
+ $export({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {
293
304
  // `Promise.all` method
294
305
  // https://tc39.github.io/ecma262/#sec-promise.all
295
306
  all: function all(iterable) {