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
@@ -12,8 +12,10 @@ var OPTIONAL_ARGUMENTS_LIST = !require('../internals/fails')(function () {
12
12
  // https://tc39.github.io/ecma262/#sec-reflect.apply
13
13
  require('../internals/export')({ target: 'Reflect', stat: true, forced: OPTIONAL_ARGUMENTS_LIST }, {
14
14
  apply: function apply(target, thisArgument, argumentsList) {
15
- var T = aFunction(target);
16
- var L = anObject(argumentsList);
17
- return nativeApply ? nativeApply(T, thisArgument, L) : functionApply.call(T, thisArgument, L);
15
+ aFunction(target);
16
+ anObject(argumentsList);
17
+ return nativeApply
18
+ ? nativeApply(target, thisArgument, argumentsList)
19
+ : functionApply.call(target, thisArgument, argumentsList);
18
20
  }
19
21
  });
@@ -12,9 +12,9 @@ function get(target, propertyKey /* , receiver */) {
12
12
  if (anObject(target) === receiver) return target[propertyKey];
13
13
  if (descriptor = getOwnPropertyDescriptorModule.f(target, propertyKey)) return has(descriptor, 'value')
14
14
  ? descriptor.value
15
- : descriptor.get !== undefined
16
- ? descriptor.get.call(receiver)
17
- : undefined;
15
+ : descriptor.get === undefined
16
+ ? undefined
17
+ : descriptor.get.call(receiver);
18
18
  if (isObject(prototype = getPrototypeOf(target))) return get(prototype, propertyKey, receiver);
19
19
  }
20
20
 
@@ -1,6 +1,6 @@
1
- var FREEZING = require('../internals/freezing');
1
+ var getBuiltIn = require('../internals/get-built-in');
2
2
  var anObject = require('../internals/an-object');
3
- var objectPreventExtensions = Object.preventExtensions;
3
+ var FREEZING = require('../internals/freezing');
4
4
 
5
5
  // `Reflect.preventExtensions` method
6
6
  // https://tc39.github.io/ecma262/#sec-reflect.preventextensions
@@ -8,6 +8,7 @@ require('../internals/export')({ target: 'Reflect', stat: true, sham: !FREEZING
8
8
  preventExtensions: function preventExtensions(target) {
9
9
  anObject(target);
10
10
  try {
11
+ var objectPreventExtensions = getBuiltIn('Object', 'preventExtensions');
11
12
  if (objectPreventExtensions) objectPreventExtensions(target);
12
13
  return true;
13
14
  } catch (e) {
@@ -17,13 +17,15 @@ var re2 = /a/g;
17
17
  // "new" should create a new object, old webkit bug
18
18
  var CORRECT_NEW = new NativeRegExp(re1) !== re1;
19
19
 
20
- // `RegExp` constructor
21
- // https://tc39.github.io/ecma262/#sec-regexp-constructor
22
- if (isForced('RegExp', DESCRIPTORS && (!CORRECT_NEW || fails(function () {
20
+ var FORCED = isForced('RegExp', DESCRIPTORS && (!CORRECT_NEW || fails(function () {
23
21
  re2[MATCH] = false;
24
22
  // RegExp constructor can alter flags and IsRegExp works correct with @@match
25
23
  return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';
26
- })))) {
24
+ })));
25
+
26
+ // `RegExp` constructor
27
+ // https://tc39.github.io/ecma262/#sec-regexp-constructor
28
+ if (FORCED) {
27
29
  var RegExpWrapper = function RegExp(pattern, flags) {
28
30
  var thisIsRegExp = this instanceof RegExpWrapper;
29
31
  var patternIsRegExp = isRegExp(pattern);
@@ -43,7 +45,9 @@ if (isForced('RegExp', DESCRIPTORS && (!CORRECT_NEW || fails(function () {
43
45
  set: function (it) { NativeRegExp[key] = it; }
44
46
  });
45
47
  };
46
- for (var keys = getOwnPropertyNames(NativeRegExp), i = 0; keys.length > i;) proxy(keys[i++]);
48
+ var keys = getOwnPropertyNames(NativeRegExp);
49
+ var i = 0;
50
+ while (i < keys.length) proxy(keys[i++]);
47
51
  RegExpPrototype.constructor = RegExpWrapper;
48
52
  RegExpWrapper.prototype = RegExpPrototype;
49
53
  redefine(global, 'RegExp', RegExpWrapper);
@@ -2,10 +2,6 @@
2
2
 
3
3
  var regexpExec = require('../internals/regexp-exec');
4
4
 
5
- require('../internals/export')({
6
- target: 'RegExp',
7
- proto: true,
8
- forced: regexpExec !== /./.exec
9
- }, {
5
+ require('../internals/export')({ target: 'RegExp', proto: true, forced: /./.exec !== regexpExec }, {
10
6
  exec: regexpExec
11
7
  });
@@ -1,8 +1,11 @@
1
1
  'use strict';
2
+ var createHTML = require('../internals/create-html');
3
+ var FORCED = require('../internals/forced-string-html-method')('anchor');
4
+
2
5
  // `String.prototype.anchor` method
3
6
  // https://tc39.github.io/ecma262/#sec-string.prototype.anchor
4
- require('../internals/string-html')('anchor', function (createHTML) {
5
- return function anchor(name) {
7
+ require('../internals/export')({ target: 'String', proto: true, forced: FORCED }, {
8
+ anchor: function anchor(name) {
6
9
  return createHTML(this, 'a', 'name', name);
7
- };
10
+ }
8
11
  });
@@ -1,8 +1,11 @@
1
1
  'use strict';
2
+ var createHTML = require('../internals/create-html');
3
+ var FORCED = require('../internals/forced-string-html-method')('big');
4
+
2
5
  // `String.prototype.big` method
3
6
  // https://tc39.github.io/ecma262/#sec-string.prototype.big
4
- require('../internals/string-html')('big', function (createHTML) {
5
- return function big() {
7
+ require('../internals/export')({ target: 'String', proto: true, forced: FORCED }, {
8
+ big: function big() {
6
9
  return createHTML(this, 'big', '', '');
7
- };
10
+ }
8
11
  });
@@ -1,8 +1,11 @@
1
1
  'use strict';
2
+ var createHTML = require('../internals/create-html');
3
+ var FORCED = require('../internals/forced-string-html-method')('blink');
4
+
2
5
  // `String.prototype.blink` method
3
6
  // https://tc39.github.io/ecma262/#sec-string.prototype.blink
4
- require('../internals/string-html')('blink', function (createHTML) {
5
- return function blink() {
7
+ require('../internals/export')({ target: 'String', proto: true, forced: FORCED }, {
8
+ blink: function blink() {
6
9
  return createHTML(this, 'blink', '', '');
7
- };
10
+ }
8
11
  });
@@ -1,8 +1,11 @@
1
1
  'use strict';
2
+ var createHTML = require('../internals/create-html');
3
+ var FORCED = require('../internals/forced-string-html-method')('bold');
4
+
2
5
  // `String.prototype.bold` method
3
6
  // https://tc39.github.io/ecma262/#sec-string.prototype.bold
4
- require('../internals/string-html')('bold', function (createHTML) {
5
- return function bold() {
7
+ require('../internals/export')({ target: 'String', proto: true, forced: FORCED }, {
8
+ bold: function bold() {
6
9
  return createHTML(this, 'b', '', '');
7
- };
10
+ }
8
11
  });
@@ -1,5 +1,5 @@
1
1
  'use strict';
2
- var internalCodePointAt = require('../internals/string-at')(false);
2
+ var internalCodePointAt = require('../internals/string-at');
3
3
 
4
4
  // `String.prototype.codePointAt` method
5
5
  // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat
@@ -1,8 +1,11 @@
1
1
  'use strict';
2
+ var createHTML = require('../internals/create-html');
3
+ var FORCED = require('../internals/forced-string-html-method')('fixed');
4
+
2
5
  // `String.prototype.fixed` method
3
6
  // https://tc39.github.io/ecma262/#sec-string.prototype.fixed
4
- require('../internals/string-html')('fixed', function (createHTML) {
5
- return function fixed() {
7
+ require('../internals/export')({ target: 'String', proto: true, forced: FORCED }, {
8
+ fixed: function fixed() {
6
9
  return createHTML(this, 'tt', '', '');
7
- };
10
+ }
8
11
  });
@@ -1,8 +1,11 @@
1
1
  'use strict';
2
+ var createHTML = require('../internals/create-html');
3
+ var FORCED = require('../internals/forced-string-html-method')('fontcolor');
4
+
2
5
  // `String.prototype.fontcolor` method
3
6
  // https://tc39.github.io/ecma262/#sec-string.prototype.fontcolor
4
- require('../internals/string-html')('fontcolor', function (createHTML) {
5
- return function fontcolor(color) {
7
+ require('../internals/export')({ target: 'String', proto: true, forced: FORCED }, {
8
+ fontcolor: function fontcolor(color) {
6
9
  return createHTML(this, 'font', 'color', color);
7
- };
10
+ }
8
11
  });
@@ -1,8 +1,11 @@
1
1
  'use strict';
2
+ var createHTML = require('../internals/create-html');
3
+ var FORCED = require('../internals/forced-string-html-method')('fontsize');
4
+
2
5
  // `String.prototype.fontsize` method
3
6
  // https://tc39.github.io/ecma262/#sec-string.prototype.fontsize
4
- require('../internals/string-html')('fontsize', function (createHTML) {
5
- return function fontsize(size) {
7
+ require('../internals/export')({ target: 'String', proto: true, forced: FORCED }, {
8
+ fontsize: function fontsize(size) {
6
9
  return createHTML(this, 'font', 'size', size);
7
- };
10
+ }
8
11
  });
@@ -1,8 +1,11 @@
1
1
  'use strict';
2
+ var createHTML = require('../internals/create-html');
3
+ var FORCED = require('../internals/forced-string-html-method')('italics');
4
+
2
5
  // `String.prototype.italics` method
3
6
  // https://tc39.github.io/ecma262/#sec-string.prototype.italics
4
- require('../internals/string-html')('italics', function (createHTML) {
5
- return function italics() {
7
+ require('../internals/export')({ target: 'String', proto: true, forced: FORCED }, {
8
+ italics: function italics() {
6
9
  return createHTML(this, 'i', '', '');
7
- };
10
+ }
8
11
  });
@@ -1,5 +1,5 @@
1
1
  'use strict';
2
- var at = require('../internals/string-at')(true);
2
+ var codePointAt = require('../internals/string-at');
3
3
  var InternalStateModule = require('../internals/internal-state');
4
4
  var defineIterator = require('../internals/define-iterator');
5
5
  var STRING_ITERATOR = 'String Iterator';
@@ -22,7 +22,7 @@ defineIterator(String, 'String', function (iterated) {
22
22
  var index = state.index;
23
23
  var point;
24
24
  if (index >= string.length) return { value: undefined, done: true };
25
- point = at(string, index);
25
+ point = codePointAt(string, index, true);
26
26
  state.index += point.length;
27
27
  return { value: point, done: false };
28
28
  });
@@ -1,8 +1,11 @@
1
1
  'use strict';
2
+ var createHTML = require('../internals/create-html');
3
+ var FORCED = require('../internals/forced-string-html-method')('link');
4
+
2
5
  // `String.prototype.link` method
3
6
  // https://tc39.github.io/ecma262/#sec-string.prototype.link
4
- require('../internals/string-html')('link', function (createHTML) {
5
- return function link(url) {
7
+ require('../internals/export')({ target: 'String', proto: true, forced: FORCED }, {
8
+ link: function link(url) {
6
9
  return createHTML(this, 'a', 'href', url);
7
- };
10
+ }
8
11
  });
@@ -2,6 +2,7 @@
2
2
 
3
3
  var anObject = require('../internals/an-object');
4
4
  var toLength = require('../internals/to-length');
5
+ var requireObjectCoercible = require('../internals/require-object-coercible');
5
6
  var advanceStringIndex = require('../internals/advance-string-index');
6
7
  var regExpExec = require('../internals/regexp-exec-abstract');
7
8
 
@@ -9,12 +10,12 @@ var regExpExec = require('../internals/regexp-exec-abstract');
9
10
  require('../internals/fix-regexp-well-known-symbol-logic')(
10
11
  'match',
11
12
  1,
12
- function (defined, MATCH, nativeMatch, maybeCallNative) {
13
+ function (MATCH, nativeMatch, maybeCallNative) {
13
14
  return [
14
15
  // `String.prototype.match` method
15
16
  // https://tc39.github.io/ecma262/#sec-string.prototype.match
16
17
  function match(regexp) {
17
- var O = defined(this);
18
+ var O = requireObjectCoercible(this);
18
19
  var matcher = regexp == undefined ? undefined : regexp[MATCH];
19
20
  return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));
20
21
  },
@@ -4,6 +4,7 @@ var anObject = require('../internals/an-object');
4
4
  var toObject = require('../internals/to-object');
5
5
  var toLength = require('../internals/to-length');
6
6
  var toInteger = require('../internals/to-integer');
7
+ var requireObjectCoercible = require('../internals/require-object-coercible');
7
8
  var advanceStringIndex = require('../internals/advance-string-index');
8
9
  var regExpExec = require('../internals/regexp-exec-abstract');
9
10
  var max = Math.max;
@@ -20,12 +21,12 @@ var maybeToString = function (it) {
20
21
  require('../internals/fix-regexp-well-known-symbol-logic')(
21
22
  'replace',
22
23
  2,
23
- function (defined, REPLACE, nativeReplace, maybeCallNative) {
24
+ function (REPLACE, nativeReplace, maybeCallNative) {
24
25
  return [
25
26
  // `String.prototype.replace` method
26
27
  // https://tc39.github.io/ecma262/#sec-string.prototype.replace
27
28
  function replace(searchValue, replaceValue) {
28
- var O = defined(this);
29
+ var O = requireObjectCoercible(this);
29
30
  var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];
30
31
  return replacer !== undefined
31
32
  ? replacer.call(searchValue, O, replaceValue)
@@ -112,12 +113,12 @@ require('../internals/fix-regexp-well-known-symbol-logic')(
112
113
  break;
113
114
  default: // \d\d?
114
115
  var n = +ch;
115
- if (n === 0) return ch;
116
+ if (n === 0) return match;
116
117
  if (n > m) {
117
118
  var f = floor(n / 10);
118
- if (f === 0) return ch;
119
+ if (f === 0) return match;
119
120
  if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);
120
- return ch;
121
+ return match;
121
122
  }
122
123
  capture = captures[n - 1];
123
124
  }
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var anObject = require('../internals/an-object');
4
+ var requireObjectCoercible = require('../internals/require-object-coercible');
4
5
  var sameValue = require('../internals/same-value');
5
6
  var regExpExec = require('../internals/regexp-exec-abstract');
6
7
 
@@ -8,12 +9,12 @@ var regExpExec = require('../internals/regexp-exec-abstract');
8
9
  require('../internals/fix-regexp-well-known-symbol-logic')(
9
10
  'search',
10
11
  1,
11
- function (defined, SEARCH, nativeSearch, maybeCallNative) {
12
+ function (SEARCH, nativeSearch, maybeCallNative) {
12
13
  return [
13
14
  // `String.prototype.search` method
14
15
  // https://tc39.github.io/ecma262/#sec-string.prototype.search
15
16
  function search(regexp) {
16
- var O = defined(this);
17
+ var O = requireObjectCoercible(this);
17
18
  var searcher = regexp == undefined ? undefined : regexp[SEARCH];
18
19
  return searcher !== undefined ? searcher.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));
19
20
  },
@@ -1,8 +1,11 @@
1
1
  'use strict';
2
+ var createHTML = require('../internals/create-html');
3
+ var FORCED = require('../internals/forced-string-html-method')('small');
4
+
2
5
  // `String.prototype.small` method
3
6
  // https://tc39.github.io/ecma262/#sec-string.prototype.small
4
- require('../internals/string-html')('small', function (createHTML) {
5
- return function small() {
7
+ require('../internals/export')({ target: 'String', proto: true, forced: FORCED }, {
8
+ small: function small() {
6
9
  return createHTML(this, 'small', '', '');
7
- };
10
+ }
8
11
  });
@@ -2,39 +2,43 @@
2
2
 
3
3
  var isRegExp = require('../internals/is-regexp');
4
4
  var anObject = require('../internals/an-object');
5
+ var requireObjectCoercible = require('../internals/require-object-coercible');
5
6
  var speciesConstructor = require('../internals/species-constructor');
6
7
  var advanceStringIndex = require('../internals/advance-string-index');
7
8
  var toLength = require('../internals/to-length');
8
9
  var callRegExpExec = require('../internals/regexp-exec-abstract');
9
10
  var regexpExec = require('../internals/regexp-exec');
11
+ var fails = require('../internals/fails');
10
12
  var arrayPush = [].push;
11
13
  var min = Math.min;
12
- var LENGTH = 'length';
14
+ var MAX_UINT32 = 0xffffffff;
13
15
 
14
- // eslint-disable-next-line no-empty
15
- var SUPPORTS_Y = !!(function () { try { return new RegExp('x', 'y'); } catch (e) {} })();
16
+ // babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError
17
+ var SUPPORTS_Y = !fails(function () { return !RegExp(MAX_UINT32, 'y'); });
16
18
 
17
19
  // @@split logic
18
20
  require('../internals/fix-regexp-well-known-symbol-logic')(
19
21
  'split',
20
22
  2,
21
- function (defined, SPLIT, nativeSplit, maybeCallNative) {
23
+ function (SPLIT, nativeSplit, maybeCallNative) {
22
24
  var internalSplit;
23
25
  if (
24
26
  'abbc'.split(/(b)*/)[1] == 'c' ||
25
- 'test'.split(/(?:)/, -1)[LENGTH] != 4 ||
26
- 'ab'.split(/(?:ab)*/)[LENGTH] != 2 ||
27
- '.'.split(/(.?)(.?)/)[LENGTH] != 4 ||
28
- '.'.split(/()()/)[LENGTH] > 1 ||
29
- ''.split(/.?/)[LENGTH]
27
+ 'test'.split(/(?:)/, -1).length != 4 ||
28
+ 'ab'.split(/(?:ab)*/).length != 2 ||
29
+ '.'.split(/(.?)(.?)/).length != 4 ||
30
+ '.'.split(/()()/).length > 1 ||
31
+ ''.split(/.?/).length
30
32
  ) {
31
33
  // based on es5-shim implementation, need to rework it
32
34
  internalSplit = function (separator, limit) {
33
- var string = String(this);
34
- if (separator === undefined && limit === 0) return [];
35
+ var string = String(requireObjectCoercible(this));
36
+ var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
37
+ if (lim === 0) return [];
38
+ if (separator === undefined) return [string];
35
39
  // If `separator` is not a regex, use native split
36
40
  if (!isRegExp(separator)) {
37
- return nativeSplit.call(string, separator, limit !== undefined ? limit >>> 0 : 4294967295);
41
+ return nativeSplit.call(string, separator, lim);
38
42
  }
39
43
  var output = [];
40
44
  var flags = (separator.ignoreCase ? 'i' : '') +
@@ -42,7 +46,6 @@ require('../internals/fix-regexp-well-known-symbol-logic')(
42
46
  (separator.unicode ? 'u' : '') +
43
47
  (separator.sticky ? 'y' : '');
44
48
  var lastLastIndex = 0;
45
- var splitLimit = limit === undefined ? 4294967295 : limit >>> 0;
46
49
  // Make `global` and avoid `lastIndex` issues by working with a copy
47
50
  var separatorCopy = new RegExp(separator.source, flags + 'g');
48
51
  var match, lastIndex, lastLength;
@@ -50,20 +53,20 @@ require('../internals/fix-regexp-well-known-symbol-logic')(
50
53
  lastIndex = separatorCopy.lastIndex;
51
54
  if (lastIndex > lastLastIndex) {
52
55
  output.push(string.slice(lastLastIndex, match.index));
53
- if (match[LENGTH] > 1 && match.index < string[LENGTH]) arrayPush.apply(output, match.slice(1));
54
- lastLength = match[0][LENGTH];
56
+ if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));
57
+ lastLength = match[0].length;
55
58
  lastLastIndex = lastIndex;
56
- if (output[LENGTH] >= splitLimit) break;
59
+ if (output.length >= lim) break;
57
60
  }
58
61
  if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop
59
62
  }
60
- if (lastLastIndex === string[LENGTH]) {
63
+ if (lastLastIndex === string.length) {
61
64
  if (lastLength || !separatorCopy.test('')) output.push('');
62
65
  } else output.push(string.slice(lastLastIndex));
63
- return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;
66
+ return output.length > lim ? output.slice(0, lim) : output;
64
67
  };
65
68
  // Chakra, V8
66
- } else if ('0'.split(undefined, 0)[LENGTH]) {
69
+ } else if ('0'.split(undefined, 0).length) {
67
70
  internalSplit = function (separator, limit) {
68
71
  return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);
69
72
  };
@@ -73,7 +76,7 @@ require('../internals/fix-regexp-well-known-symbol-logic')(
73
76
  // `String.prototype.split` method
74
77
  // https://tc39.github.io/ecma262/#sec-string.prototype.split
75
78
  function split(separator, limit) {
76
- var O = defined(this);
79
+ var O = requireObjectCoercible(this);
77
80
  var splitter = separator == undefined ? undefined : separator[SPLIT];
78
81
  return splitter !== undefined
79
82
  ? splitter.call(separator, O, limit)
@@ -94,14 +97,14 @@ require('../internals/fix-regexp-well-known-symbol-logic')(
94
97
 
95
98
  var unicodeMatching = rx.unicode;
96
99
  var flags = (rx.ignoreCase ? 'i' : '') +
97
- (rx.multiline ? 'm' : '') +
98
- (rx.unicode ? 'u' : '') +
99
- (SUPPORTS_Y ? 'y' : 'g');
100
+ (rx.multiline ? 'm' : '') +
101
+ (rx.unicode ? 'u' : '') +
102
+ (SUPPORTS_Y ? 'y' : 'g');
100
103
 
101
104
  // ^(? + rx + ) is needed, in combination with some S slicing, to
102
105
  // simulate the 'y' flag.
103
106
  var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);
104
- var lim = limit === undefined ? 0xffffffff : limit >>> 0;
107
+ var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
105
108
  if (lim === 0) return [];
106
109
  if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];
107
110
  var p = 0;
@@ -1,8 +1,11 @@
1
1
  'use strict';
2
+ var createHTML = require('../internals/create-html');
3
+ var FORCED = require('../internals/forced-string-html-method')('strike');
4
+
2
5
  // `String.prototype.strike` method
3
6
  // https://tc39.github.io/ecma262/#sec-string.prototype.strike
4
- require('../internals/string-html')('strike', function (createHTML) {
5
- return function strike() {
7
+ require('../internals/export')({ target: 'String', proto: true, forced: FORCED }, {
8
+ strike: function strike() {
6
9
  return createHTML(this, 'strike', '', '');
7
- };
10
+ }
8
11
  });
@@ -1,8 +1,11 @@
1
1
  'use strict';
2
+ var createHTML = require('../internals/create-html');
3
+ var FORCED = require('../internals/forced-string-html-method')('sub');
4
+
2
5
  // `String.prototype.sub` method
3
6
  // https://tc39.github.io/ecma262/#sec-string.prototype.sub
4
- require('../internals/string-html')('sub', function (createHTML) {
5
- return function sub() {
7
+ require('../internals/export')({ target: 'String', proto: true, forced: FORCED }, {
8
+ sub: function sub() {
6
9
  return createHTML(this, 'sub', '', '');
7
- };
10
+ }
8
11
  });
@@ -1,8 +1,11 @@
1
1
  'use strict';
2
+ var createHTML = require('../internals/create-html');
3
+ var FORCED = require('../internals/forced-string-html-method')('sup');
4
+
2
5
  // `String.prototype.sup` method
3
6
  // https://tc39.github.io/ecma262/#sec-string.prototype.sup
4
- require('../internals/string-html')('sup', function (createHTML) {
5
- return function sup() {
7
+ require('../internals/export')({ target: 'String', proto: true, forced: FORCED }, {
8
+ sup: function sup() {
6
9
  return createHTML(this, 'sup', '', '');
7
- };
10
+ }
8
11
  });
@@ -0,0 +1,14 @@
1
+ 'use strict';
2
+ var internalStringTrim = require('../internals/string-trim');
3
+ var FORCED = require('../internals/forced-string-trim-method')('trimEnd');
4
+
5
+ var trimEnd = FORCED ? function trimEnd() {
6
+ return internalStringTrim(this, 2);
7
+ } : ''.trimEnd;
8
+
9
+ // `String.prototype.{ trimEnd, trimRight }` methods
10
+ // https://github.com/tc39/ecmascript-string-left-right-trim
11
+ require('../internals/export')({ target: 'String', proto: true, forced: FORCED }, {
12
+ trimEnd: trimEnd,
13
+ trimRight: trimEnd
14
+ });
@@ -0,0 +1,14 @@
1
+ 'use strict';
2
+ var internalStringTrim = require('../internals/string-trim');
3
+ var FORCED = require('../internals/forced-string-trim-method')('trimStart');
4
+
5
+ var trimStart = FORCED ? function trimStart() {
6
+ return internalStringTrim(this, 1);
7
+ } : ''.trimStart;
8
+
9
+ // `String.prototype.{ trimStart, trimLeft }` methods
10
+ // https://github.com/tc39/ecmascript-string-left-right-trim
11
+ require('../internals/export')({ target: 'String', proto: true, forced: FORCED }, {
12
+ trimStart: trimStart,
13
+ trimLeft: trimStart
14
+ });
@@ -1,8 +1,11 @@
1
1
  'use strict';
2
+ var internalStringTrim = require('../internals/string-trim');
3
+ var FORCED = require('../internals/forced-string-trim-method')('trim');
4
+
2
5
  // `String.prototype.trim` method
3
6
  // https://tc39.github.io/ecma262/#sec-string.prototype.trim
4
- require('../internals/string-trim')('trim', function (internalTrim) {
5
- return function trim() {
6
- return internalTrim(this, 3);
7
- };
7
+ require('../internals/export')({ target: 'String', proto: true, forced: FORCED }, {
8
+ trim: function trim() {
9
+ return internalStringTrim(this, 3);
10
+ }
8
11
  });