core-js-pure 3.1.2 → 3.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (727) hide show
  1. package/README.md +3 -3
  2. package/es/array/concat.js +2 -1
  3. package/es/array/copy-within.js +2 -1
  4. package/es/array/entries.js +2 -1
  5. package/es/array/every.js +2 -1
  6. package/es/array/fill.js +2 -1
  7. package/es/array/filter.js +2 -1
  8. package/es/array/find-index.js +2 -1
  9. package/es/array/find.js +2 -1
  10. package/es/array/flat-map.js +2 -1
  11. package/es/array/flat.js +2 -1
  12. package/es/array/for-each.js +2 -1
  13. package/es/array/from.js +2 -1
  14. package/es/array/includes.js +2 -1
  15. package/es/array/index-of.js +2 -1
  16. package/es/array/index.js +2 -1
  17. package/es/array/is-array.js +2 -1
  18. package/es/array/iterator.js +2 -1
  19. package/es/array/join.js +2 -1
  20. package/es/array/keys.js +2 -1
  21. package/es/array/last-index-of.js +2 -1
  22. package/es/array/map.js +2 -1
  23. package/es/array/of.js +2 -1
  24. package/es/array/reduce-right.js +2 -1
  25. package/es/array/reduce.js +2 -1
  26. package/es/array/reverse.js +2 -1
  27. package/es/array/slice.js +2 -1
  28. package/es/array/some.js +2 -1
  29. package/es/array/sort.js +2 -1
  30. package/es/array/splice.js +2 -1
  31. package/es/array/values.js +2 -1
  32. package/es/array/virtual/concat.js +2 -1
  33. package/es/array/virtual/copy-within.js +2 -1
  34. package/es/array/virtual/entries.js +2 -1
  35. package/es/array/virtual/every.js +2 -1
  36. package/es/array/virtual/fill.js +2 -1
  37. package/es/array/virtual/filter.js +2 -1
  38. package/es/array/virtual/find-index.js +2 -1
  39. package/es/array/virtual/find.js +2 -1
  40. package/es/array/virtual/flat-map.js +2 -1
  41. package/es/array/virtual/flat.js +2 -1
  42. package/es/array/virtual/for-each.js +2 -1
  43. package/es/array/virtual/includes.js +2 -1
  44. package/es/array/virtual/index-of.js +2 -1
  45. package/es/array/virtual/index.js +2 -1
  46. package/es/array/virtual/iterator.js +2 -1
  47. package/es/array/virtual/join.js +2 -1
  48. package/es/array/virtual/keys.js +2 -1
  49. package/es/array/virtual/last-index-of.js +2 -1
  50. package/es/array/virtual/map.js +2 -1
  51. package/es/array/virtual/reduce-right.js +2 -1
  52. package/es/array/virtual/reduce.js +2 -1
  53. package/es/array/virtual/reverse.js +2 -1
  54. package/es/array/virtual/slice.js +2 -1
  55. package/es/array/virtual/some.js +2 -1
  56. package/es/array/virtual/sort.js +2 -1
  57. package/es/array/virtual/splice.js +2 -1
  58. package/es/array/virtual/values.js +2 -1
  59. package/es/array-buffer/constructor.js +2 -1
  60. package/es/array-buffer/index.js +2 -1
  61. package/es/array-buffer/is-view.js +2 -1
  62. package/es/data-view/index.js +2 -1
  63. package/es/date/index.js +2 -1
  64. package/es/date/now.js +2 -1
  65. package/es/date/to-iso-string.js +2 -1
  66. package/es/date/to-json.js +2 -1
  67. package/es/function/bind.js +2 -1
  68. package/es/function/has-instance.js +2 -1
  69. package/es/function/index.js +2 -1
  70. package/es/function/virtual/bind.js +2 -1
  71. package/es/function/virtual/index.js +2 -1
  72. package/es/index.js +1 -0
  73. package/es/instance/bind.js +1 -0
  74. package/es/instance/code-point-at.js +1 -0
  75. package/es/instance/concat.js +1 -0
  76. package/es/instance/copy-within.js +1 -0
  77. package/es/instance/ends-with.js +1 -0
  78. package/es/instance/entries.js +1 -0
  79. package/es/instance/every.js +1 -0
  80. package/es/instance/fill.js +1 -0
  81. package/es/instance/filter.js +1 -0
  82. package/es/instance/find-index.js +1 -0
  83. package/es/instance/find.js +1 -0
  84. package/es/instance/flags.js +1 -0
  85. package/es/instance/flat-map.js +1 -0
  86. package/es/instance/flat.js +1 -0
  87. package/es/instance/for-each.js +1 -0
  88. package/es/instance/includes.js +1 -0
  89. package/es/instance/index-of.js +1 -0
  90. package/es/instance/keys.js +1 -0
  91. package/es/instance/last-index-of.js +1 -0
  92. package/es/instance/map.js +1 -0
  93. package/es/instance/match-all.js +1 -0
  94. package/es/instance/pad-end.js +1 -0
  95. package/es/instance/pad-start.js +1 -0
  96. package/es/instance/reduce-right.js +1 -0
  97. package/es/instance/reduce.js +1 -0
  98. package/es/instance/repeat.js +1 -0
  99. package/es/instance/reverse.js +1 -0
  100. package/es/instance/slice.js +1 -0
  101. package/es/instance/some.js +1 -0
  102. package/es/instance/sort.js +1 -0
  103. package/es/instance/splice.js +1 -0
  104. package/es/instance/starts-with.js +1 -0
  105. package/es/instance/trim-end.js +1 -0
  106. package/es/instance/trim-left.js +1 -0
  107. package/es/instance/trim-right.js +1 -0
  108. package/es/instance/trim-start.js +1 -0
  109. package/es/instance/trim.js +1 -0
  110. package/es/instance/values.js +1 -0
  111. package/es/json/index.js +0 -1
  112. package/es/map/index.js +2 -1
  113. package/es/math/acosh.js +2 -1
  114. package/es/math/asinh.js +2 -1
  115. package/es/math/atanh.js +2 -1
  116. package/es/math/cbrt.js +2 -1
  117. package/es/math/clz32.js +2 -1
  118. package/es/math/cosh.js +2 -1
  119. package/es/math/expm1.js +2 -1
  120. package/es/math/fround.js +2 -1
  121. package/es/math/hypot.js +2 -1
  122. package/es/math/imul.js +2 -1
  123. package/es/math/index.js +2 -1
  124. package/es/math/log10.js +2 -1
  125. package/es/math/log1p.js +2 -1
  126. package/es/math/log2.js +2 -1
  127. package/es/math/sign.js +2 -1
  128. package/es/math/sinh.js +2 -1
  129. package/es/math/tanh.js +2 -1
  130. package/es/math/trunc.js +2 -1
  131. package/es/number/index.js +2 -1
  132. package/es/number/is-finite.js +2 -1
  133. package/es/number/is-integer.js +2 -1
  134. package/es/number/is-nan.js +2 -1
  135. package/es/number/is-safe-integer.js +2 -1
  136. package/es/number/parse-float.js +2 -1
  137. package/es/number/parse-int.js +2 -1
  138. package/es/number/to-fixed.js +2 -1
  139. package/es/number/to-precision.js +2 -1
  140. package/es/number/virtual/index.js +2 -1
  141. package/es/number/virtual/to-fixed.js +2 -1
  142. package/es/number/virtual/to-precision.js +2 -1
  143. package/es/object/assign.js +2 -1
  144. package/es/object/create.js +3 -1
  145. package/es/object/define-getter.js +2 -1
  146. package/es/object/define-properties.js +3 -1
  147. package/es/object/define-property.js +3 -1
  148. package/es/object/define-setter.js +2 -1
  149. package/es/object/entries.js +2 -1
  150. package/es/object/freeze.js +2 -1
  151. package/es/object/from-entries.js +2 -1
  152. package/es/object/get-own-property-descriptor.js +3 -1
  153. package/es/object/get-own-property-descriptors.js +2 -1
  154. package/es/object/get-own-property-names.js +3 -1
  155. package/es/object/get-own-property-symbols.js +2 -1
  156. package/es/object/get-prototype-of.js +2 -1
  157. package/es/object/index.js +2 -1
  158. package/es/object/is-extensible.js +2 -1
  159. package/es/object/is-frozen.js +2 -1
  160. package/es/object/is-sealed.js +2 -1
  161. package/es/object/is.js +2 -1
  162. package/es/object/keys.js +2 -1
  163. package/es/object/lookup-getter.js +2 -1
  164. package/es/object/lookup-setter.js +2 -1
  165. package/es/object/prevent-extensions.js +2 -1
  166. package/es/object/seal.js +2 -1
  167. package/es/object/set-prototype-of.js +2 -1
  168. package/es/object/values.js +2 -1
  169. package/es/parse-float.js +2 -1
  170. package/es/parse-int.js +2 -1
  171. package/es/promise/all-settled.js +11 -0
  172. package/es/promise/finally.js +2 -1
  173. package/es/promise/index.js +3 -1
  174. package/es/reflect/apply.js +2 -1
  175. package/es/reflect/construct.js +2 -1
  176. package/es/reflect/define-property.js +2 -1
  177. package/es/reflect/delete-property.js +2 -1
  178. package/es/reflect/get-own-property-descriptor.js +2 -1
  179. package/es/reflect/get-prototype-of.js +2 -1
  180. package/es/reflect/get.js +2 -1
  181. package/es/reflect/has.js +2 -1
  182. package/es/reflect/index.js +2 -1
  183. package/es/reflect/is-extensible.js +2 -1
  184. package/es/reflect/own-keys.js +2 -1
  185. package/es/reflect/prevent-extensions.js +2 -1
  186. package/es/reflect/set-prototype-of.js +2 -1
  187. package/es/reflect/set.js +2 -1
  188. package/es/regexp/match.js +3 -1
  189. package/es/regexp/replace.js +3 -1
  190. package/es/regexp/search.js +3 -1
  191. package/es/regexp/split.js +3 -1
  192. package/es/set/index.js +2 -1
  193. package/es/string/anchor.js +2 -1
  194. package/es/string/big.js +2 -1
  195. package/es/string/blink.js +2 -1
  196. package/es/string/bold.js +2 -1
  197. package/es/string/code-point-at.js +2 -1
  198. package/es/string/ends-with.js +2 -1
  199. package/es/string/fixed.js +2 -1
  200. package/es/string/fontcolor.js +2 -1
  201. package/es/string/fontsize.js +2 -1
  202. package/es/string/from-code-point.js +2 -1
  203. package/es/string/includes.js +2 -1
  204. package/es/string/index.js +2 -1
  205. package/es/string/italics.js +2 -1
  206. package/es/string/iterator.js +3 -1
  207. package/es/string/link.js +2 -1
  208. package/es/string/match-all.js +2 -1
  209. package/es/string/match.js +2 -1
  210. package/es/string/pad-end.js +2 -1
  211. package/es/string/pad-start.js +2 -1
  212. package/es/string/raw.js +2 -1
  213. package/es/string/repeat.js +2 -1
  214. package/es/string/replace.js +2 -1
  215. package/es/string/search.js +2 -1
  216. package/es/string/small.js +2 -1
  217. package/es/string/split.js +2 -1
  218. package/es/string/starts-with.js +2 -1
  219. package/es/string/strike.js +2 -1
  220. package/es/string/sub.js +2 -1
  221. package/es/string/sup.js +2 -1
  222. package/es/string/trim-end.js +2 -1
  223. package/es/string/trim-left.js +2 -1
  224. package/es/string/trim-right.js +2 -1
  225. package/es/string/trim-start.js +2 -1
  226. package/es/string/trim.js +2 -1
  227. package/es/string/virtual/anchor.js +2 -1
  228. package/es/string/virtual/big.js +2 -1
  229. package/es/string/virtual/blink.js +2 -1
  230. package/es/string/virtual/bold.js +2 -1
  231. package/es/string/virtual/code-point-at.js +2 -1
  232. package/es/string/virtual/ends-with.js +2 -1
  233. package/es/string/virtual/fixed.js +2 -1
  234. package/es/string/virtual/fontcolor.js +2 -1
  235. package/es/string/virtual/fontsize.js +2 -1
  236. package/es/string/virtual/includes.js +2 -1
  237. package/es/string/virtual/index.js +2 -1
  238. package/es/string/virtual/italics.js +2 -1
  239. package/es/string/virtual/iterator.js +2 -1
  240. package/es/string/virtual/link.js +2 -1
  241. package/es/string/virtual/match-all.js +2 -1
  242. package/es/string/virtual/pad-end.js +2 -1
  243. package/es/string/virtual/pad-start.js +2 -1
  244. package/es/string/virtual/repeat.js +2 -1
  245. package/es/string/virtual/small.js +2 -1
  246. package/es/string/virtual/starts-with.js +2 -1
  247. package/es/string/virtual/strike.js +2 -1
  248. package/es/string/virtual/sub.js +2 -1
  249. package/es/string/virtual/sup.js +2 -1
  250. package/es/string/virtual/trim-end.js +2 -1
  251. package/es/string/virtual/trim-left.js +2 -1
  252. package/es/string/virtual/trim-right.js +2 -1
  253. package/es/string/virtual/trim-start.js +2 -1
  254. package/es/string/virtual/trim.js +2 -1
  255. package/es/symbol/async-iterator.js +2 -1
  256. package/es/symbol/for.js +2 -1
  257. package/es/symbol/has-instance.js +2 -1
  258. package/es/symbol/index.js +2 -1
  259. package/es/symbol/is-concat-spreadable.js +2 -1
  260. package/es/symbol/iterator.js +2 -1
  261. package/es/symbol/key-for.js +2 -1
  262. package/es/symbol/match-all.js +2 -1
  263. package/es/symbol/match.js +2 -1
  264. package/es/symbol/replace.js +2 -1
  265. package/es/symbol/search.js +2 -1
  266. package/es/symbol/species.js +3 -1
  267. package/es/symbol/split.js +2 -1
  268. package/es/symbol/to-primitive.js +2 -1
  269. package/es/symbol/to-string-tag.js +2 -1
  270. package/es/symbol/unscopables.js +2 -1
  271. package/es/typed-array/float32-array.js +2 -1
  272. package/es/typed-array/float64-array.js +2 -1
  273. package/es/typed-array/int16-array.js +2 -1
  274. package/es/typed-array/int32-array.js +2 -1
  275. package/es/typed-array/int8-array.js +2 -1
  276. package/es/typed-array/uint16-array.js +2 -1
  277. package/es/typed-array/uint32-array.js +2 -1
  278. package/es/typed-array/uint8-array.js +2 -1
  279. package/es/typed-array/uint8-clamped-array.js +2 -1
  280. package/es/weak-map/index.js +2 -1
  281. package/es/weak-set/index.js +2 -1
  282. package/features/aggregate-error.js +2 -1
  283. package/features/array/index.js +1 -0
  284. package/features/array/is-template-object.js +4 -0
  285. package/features/composite-key.js +2 -1
  286. package/features/composite-symbol.js +2 -1
  287. package/features/dom-collections/for-each.js +1 -3
  288. package/features/dom-collections/index.js +1 -11
  289. package/features/dom-collections/iterator.js +1 -3
  290. package/features/global-this.js +1 -1
  291. package/features/instance/at.js +1 -0
  292. package/features/instance/code-points.js +1 -0
  293. package/features/instance/replace-all.js +1 -0
  294. package/features/map/delete-all.js +2 -1
  295. package/features/map/every.js +2 -1
  296. package/features/map/filter.js +2 -1
  297. package/features/map/find-key.js +2 -1
  298. package/features/map/find.js +2 -1
  299. package/features/map/from.js +5 -1
  300. package/features/map/group-by.js +3 -1
  301. package/features/map/includes.js +2 -1
  302. package/features/map/index.js +1 -0
  303. package/features/map/key-by.js +3 -1
  304. package/features/map/key-of.js +2 -1
  305. package/features/map/map-keys.js +2 -1
  306. package/features/map/map-values.js +2 -1
  307. package/features/map/merge.js +2 -1
  308. package/features/map/of.js +5 -1
  309. package/features/map/reduce.js +2 -1
  310. package/features/map/some.js +2 -1
  311. package/features/map/update-or-insert.js +5 -0
  312. package/features/map/update.js +2 -1
  313. package/features/math/clamp.js +2 -1
  314. package/features/math/degrees.js +2 -1
  315. package/features/math/fscale.js +2 -1
  316. package/features/math/iaddh.js +2 -1
  317. package/features/math/imulh.js +2 -1
  318. package/features/math/isubh.js +2 -1
  319. package/features/math/radians.js +2 -1
  320. package/features/math/scale.js +2 -1
  321. package/features/math/seeded-prng.js +2 -1
  322. package/features/math/signbit.js +2 -1
  323. package/features/math/umulh.js +2 -1
  324. package/features/number/from-string.js +2 -1
  325. package/features/observable/index.js +2 -1
  326. package/features/promise/all-settled.js +2 -7
  327. package/features/promise/any.js +3 -1
  328. package/features/promise/index.js +1 -0
  329. package/features/promise/try.js +3 -1
  330. package/features/reflect/define-metadata.js +2 -1
  331. package/features/reflect/delete-metadata.js +4 -1
  332. package/features/reflect/get-metadata-keys.js +2 -1
  333. package/features/reflect/get-metadata.js +2 -1
  334. package/features/reflect/get-own-metadata-keys.js +2 -1
  335. package/features/reflect/get-own-metadata.js +2 -1
  336. package/features/reflect/has-metadata.js +2 -1
  337. package/features/reflect/has-own-metadata.js +2 -1
  338. package/features/reflect/metadata.js +2 -1
  339. package/features/set/add-all.js +2 -1
  340. package/features/set/delete-all.js +2 -1
  341. package/features/set/difference.js +4 -1
  342. package/features/set/every.js +2 -1
  343. package/features/set/filter.js +2 -1
  344. package/features/set/find.js +2 -1
  345. package/features/set/from.js +5 -1
  346. package/features/set/intersection.js +2 -1
  347. package/features/set/is-disjoint-from.js +2 -1
  348. package/features/set/is-subset-of.js +4 -1
  349. package/features/set/is-superset-of.js +2 -1
  350. package/features/set/join.js +2 -1
  351. package/features/set/map.js +2 -1
  352. package/features/set/of.js +5 -1
  353. package/features/set/reduce.js +2 -1
  354. package/features/set/some.js +2 -1
  355. package/features/set/symmetric-difference.js +4 -1
  356. package/features/set/union.js +4 -1
  357. package/features/string/at.js +2 -1
  358. package/features/string/replace-all.js +2 -1
  359. package/features/string/virtual/at.js +2 -1
  360. package/features/string/virtual/replace-all.js +2 -1
  361. package/features/symbol/async-dispose.js +4 -0
  362. package/features/symbol/dispose.js +2 -1
  363. package/features/symbol/index.js +1 -0
  364. package/features/symbol/observable.js +2 -1
  365. package/features/symbol/pattern-match.js +2 -1
  366. package/features/symbol/replace-all.js +2 -1
  367. package/features/url/index.js +1 -5
  368. package/features/url/to-json.js +1 -1
  369. package/features/url-search-params/index.js +1 -3
  370. package/features/weak-map/delete-all.js +2 -1
  371. package/features/weak-map/from.js +5 -1
  372. package/features/weak-map/of.js +5 -1
  373. package/features/weak-set/add-all.js +2 -1
  374. package/features/weak-set/delete-all.js +2 -1
  375. package/features/weak-set/from.js +5 -1
  376. package/features/weak-set/of.js +5 -1
  377. package/internals/a-possible-prototype.js +7 -0
  378. package/internals/advance-string-index.js +2 -2
  379. package/internals/array-copy-within.js +3 -1
  380. package/internals/array-for-each.js +5 -7
  381. package/internals/array-from.js +1 -1
  382. package/internals/array-includes.js +12 -7
  383. package/internals/{array-methods.js → array-iteration.js} +30 -18
  384. package/internals/array-last-index-of.js +6 -4
  385. package/internals/array-method-has-species-support.js +3 -1
  386. package/internals/array-reduce.js +30 -21
  387. package/internals/array-species-create.js +3 -1
  388. package/internals/check-correctness-of-iteration.js +3 -1
  389. package/internals/classof.js +3 -1
  390. package/internals/collection-delete-all.js +3 -1
  391. package/internals/collection-from.js +3 -2
  392. package/internals/collection-strong.js +1 -0
  393. package/internals/collection-weak.js +6 -5
  394. package/internals/collection.js +5 -4
  395. package/internals/composite-key.js +1 -0
  396. package/internals/correct-is-regexp-logic.js +3 -1
  397. package/internals/correct-prototype-getter.js +3 -1
  398. package/internals/create-html.js +1 -0
  399. package/internals/date-to-iso-string.js +12 -13
  400. package/internals/define-iterator.js +5 -3
  401. package/internals/descriptors.js +3 -1
  402. package/internals/document-create-element.js +5 -3
  403. package/internals/forced-string-trim-method.js +1 -0
  404. package/internals/freezing.js +3 -1
  405. package/internals/function-bind.js +4 -3
  406. package/internals/function-to-string.js +3 -1
  407. package/internals/get-iterator-method.js +3 -1
  408. package/internals/html.js +2 -2
  409. package/internals/indexed-object.js +2 -1
  410. package/internals/inherit-if-required.js +13 -6
  411. package/internals/internal-metadata.js +4 -2
  412. package/internals/internal-state.js +3 -1
  413. package/internals/is-array-iterator-method.js +4 -2
  414. package/internals/is-forced.js +1 -0
  415. package/internals/is-integer.js +1 -0
  416. package/internals/is-iterable.js +3 -1
  417. package/internals/is-regexp.js +3 -1
  418. package/internals/iterate.js +19 -10
  419. package/internals/iterators-core.js +3 -1
  420. package/internals/math-expm1.js +2 -1
  421. package/internals/math-fround.js +3 -1
  422. package/internals/math-log1p.js +3 -1
  423. package/internals/microtask.js +4 -2
  424. package/internals/native-promise-constructor.js +3 -0
  425. package/internals/native-url.js +4 -2
  426. package/internals/native-weak-map.js +3 -1
  427. package/internals/new-promise-capability.js +1 -1
  428. package/internals/not-a-regexp.js +7 -0
  429. package/internals/number-is-finite.js +3 -1
  430. package/internals/object-assign.js +3 -1
  431. package/internals/object-create.js +5 -2
  432. package/internals/object-define-properties.js +4 -2
  433. package/internals/object-define-property.js +3 -0
  434. package/internals/object-get-own-property-descriptor.js +3 -0
  435. package/internals/object-get-own-property-names-external.js +2 -1
  436. package/internals/object-get-own-property-names.js +5 -2
  437. package/internals/object-get-prototype-of.js +5 -2
  438. package/internals/object-keys-internal.js +2 -2
  439. package/internals/object-keys.js +2 -1
  440. package/internals/object-property-is-enumerable.js +5 -3
  441. package/internals/object-set-prototype-of.js +10 -6
  442. package/internals/object-to-array.js +25 -15
  443. package/internals/object-to-string.js +3 -1
  444. package/internals/own-keys.js +2 -2
  445. package/internals/parse-float.js +10 -6
  446. package/internals/parse-int.js +9 -5
  447. package/internals/punycode-to-ascii.js +2 -4
  448. package/internals/reflect-metadata.js +5 -2
  449. package/internals/regexp-flags.js +1 -0
  450. package/internals/set-species.js +11 -6
  451. package/internals/set-to-string-tag.js +3 -1
  452. package/internals/shared-key.js +4 -2
  453. package/internals/shared.js +2 -1
  454. package/internals/species-constructor.js +3 -1
  455. package/internals/string-multibyte.js +27 -0
  456. package/internals/string-pad.js +25 -11
  457. package/internals/string-trim.js +23 -9
  458. package/internals/task.js +1 -0
  459. package/internals/to-absolute-index.js +1 -0
  460. package/internals/to-length.js +1 -0
  461. package/internals/to-primitive.js +8 -6
  462. package/internals/typed-arrays-constructors-requires-wrappers.js +1 -0
  463. package/internals/uid.js +1 -1
  464. package/internals/user-agent.js +2 -3
  465. package/internals/well-known-symbol.js +5 -2
  466. package/modules/es.array.concat.js +9 -4
  467. package/modules/es.array.copy-within.js +7 -3
  468. package/modules/es.array.every.js +5 -5
  469. package/modules/es.array.fill.js +8 -2
  470. package/modules/es.array.filter.js +5 -5
  471. package/modules/es.array.find-index.js +7 -4
  472. package/modules/es.array.find.js +7 -4
  473. package/modules/es.array.flat-map.js +3 -2
  474. package/modules/es.array.flat.js +3 -2
  475. package/modules/es.array.for-each.js +4 -1
  476. package/modules/es.array.from.js +7 -3
  477. package/modules/es.array.includes.js +6 -4
  478. package/modules/es.array.index-of.js +7 -4
  479. package/modules/es.array.is-array.js +6 -1
  480. package/modules/es.array.iterator.js +1 -0
  481. package/modules/es.array.join.js +7 -3
  482. package/modules/es.array.last-index-of.js +4 -3
  483. package/modules/es.array.map.js +5 -5
  484. package/modules/es.array.of.js +4 -2
  485. package/modules/es.array.reduce-right.js +5 -5
  486. package/modules/es.array.reduce.js +5 -5
  487. package/modules/es.array.reverse.js +3 -1
  488. package/modules/es.array.slice.js +6 -4
  489. package/modules/es.array.some.js +5 -5
  490. package/modules/es.array.sort.js +5 -2
  491. package/modules/es.array.species.js +3 -1
  492. package/modules/es.array.splice.js +4 -3
  493. package/modules/es.array.unscopables.flat-map.js +3 -1
  494. package/modules/es.array.unscopables.flat.js +3 -1
  495. package/modules/es.date.now.js +3 -1
  496. package/modules/es.date.to-iso-string.js +2 -1
  497. package/modules/es.date.to-json.js +4 -2
  498. package/modules/es.function.bind.js +5 -2
  499. package/modules/es.function.has-instance.js +3 -1
  500. package/modules/es.json.to-string-tag.js +4 -1
  501. package/modules/es.map.js +6 -3
  502. package/modules/es.math.acosh.js +3 -1
  503. package/modules/es.math.asinh.js +3 -1
  504. package/modules/es.math.atanh.js +3 -1
  505. package/modules/es.math.cbrt.js +3 -1
  506. package/modules/es.math.clz32.js +3 -1
  507. package/modules/es.math.cosh.js +3 -1
  508. package/modules/es.math.expm1.js +3 -4
  509. package/modules/es.math.fround.js +4 -1
  510. package/modules/es.math.hypot.js +8 -1
  511. package/modules/es.math.imul.js +5 -2
  512. package/modules/es.math.log10.js +3 -1
  513. package/modules/es.math.log1p.js +4 -1
  514. package/modules/es.math.log2.js +3 -1
  515. package/modules/es.math.sign.js +6 -1
  516. package/modules/es.math.sinh.js +5 -2
  517. package/modules/es.math.tanh.js +3 -1
  518. package/modules/es.math.to-string-tag.js +3 -1
  519. package/modules/es.math.trunc.js +3 -1
  520. package/modules/es.number.epsilon.js +5 -1
  521. package/modules/es.number.is-finite.js +4 -3
  522. package/modules/es.number.is-integer.js +5 -2
  523. package/modules/es.number.is-nan.js +3 -1
  524. package/modules/es.number.is-safe-integer.js +3 -1
  525. package/modules/es.number.max-safe-integer.js +5 -1
  526. package/modules/es.number.min-safe-integer.js +5 -1
  527. package/modules/es.number.parse-float.js +2 -1
  528. package/modules/es.number.parse-int.js +2 -1
  529. package/modules/es.number.to-fixed.js +67 -58
  530. package/modules/es.number.to-precision.js +8 -4
  531. package/modules/es.object.assign.js +4 -1
  532. package/modules/es.object.create.js +7 -3
  533. package/modules/es.object.define-getter.js +5 -3
  534. package/modules/es.object.define-properties.js +4 -2
  535. package/modules/es.object.define-property.js +4 -2
  536. package/modules/es.object.define-setter.js +5 -3
  537. package/modules/es.object.entries.js +4 -3
  538. package/modules/es.object.freeze.js +6 -3
  539. package/modules/es.object.from-entries.js +2 -1
  540. package/modules/es.object.get-own-property-descriptor.js +5 -2
  541. package/modules/es.object.get-own-property-descriptors.js +5 -4
  542. package/modules/es.object.get-own-property-names.js +5 -2
  543. package/modules/es.object.get-prototype-of.js +5 -4
  544. package/modules/es.object.is-extensible.js +5 -2
  545. package/modules/es.object.is-frozen.js +5 -2
  546. package/modules/es.object.is-sealed.js +5 -2
  547. package/modules/es.object.is.js +6 -1
  548. package/modules/es.object.keys.js +5 -2
  549. package/modules/es.object.lookup-getter.js +5 -3
  550. package/modules/es.object.lookup-setter.js +5 -3
  551. package/modules/es.object.prevent-extensions.js +6 -3
  552. package/modules/es.object.seal.js +6 -3
  553. package/modules/es.object.set-prototype-of.js +5 -2
  554. package/modules/es.object.values.js +4 -3
  555. package/modules/es.parse-float.js +2 -1
  556. package/modules/es.parse-int.js +2 -1
  557. package/modules/es.promise.all-settled.js +43 -0
  558. package/modules/es.promise.finally.js +10 -1
  559. package/modules/es.promise.js +48 -25
  560. package/modules/es.reflect.apply.js +7 -3
  561. package/modules/es.reflect.construct.js +7 -4
  562. package/modules/es.reflect.define-property.js +8 -6
  563. package/modules/es.reflect.delete-property.js +3 -2
  564. package/modules/es.reflect.get-own-property-descriptor.js +4 -3
  565. package/modules/es.reflect.get-prototype-of.js +3 -2
  566. package/modules/es.reflect.get.js +7 -4
  567. package/modules/es.reflect.has.js +3 -1
  568. package/modules/es.reflect.is-extensible.js +3 -1
  569. package/modules/es.reflect.own-keys.js +6 -1
  570. package/modules/es.reflect.prevent-extensions.js +2 -1
  571. package/modules/es.reflect.set-prototype-of.js +6 -3
  572. package/modules/es.reflect.set.js +7 -4
  573. package/modules/es.regexp.constructor.js +3 -1
  574. package/modules/es.set.js +6 -3
  575. package/modules/es.string.anchor.js +3 -2
  576. package/modules/es.string.big.js +3 -2
  577. package/modules/es.string.blink.js +3 -2
  578. package/modules/es.string.bold.js +3 -2
  579. package/modules/es.string.code-point-at.js +4 -3
  580. package/modules/es.string.ends-with.js +9 -7
  581. package/modules/es.string.fixed.js +3 -2
  582. package/modules/es.string.fontcolor.js +3 -2
  583. package/modules/es.string.fontsize.js +3 -2
  584. package/modules/es.string.from-code-point.js +3 -1
  585. package/modules/es.string.includes.js +7 -7
  586. package/modules/es.string.italics.js +3 -2
  587. package/modules/es.string.iterator.js +3 -2
  588. package/modules/es.string.link.js +3 -2
  589. package/modules/es.string.match-all.js +6 -3
  590. package/modules/es.string.pad-end.js +4 -3
  591. package/modules/es.string.pad-start.js +4 -3
  592. package/modules/es.string.raw.js +2 -1
  593. package/modules/es.string.repeat.js +5 -2
  594. package/modules/es.string.small.js +3 -2
  595. package/modules/es.string.starts-with.js +11 -7
  596. package/modules/es.string.strike.js +3 -2
  597. package/modules/es.string.sub.js +3 -2
  598. package/modules/es.string.sup.js +3 -2
  599. package/modules/es.string.trim-end.js +7 -4
  600. package/modules/es.string.trim-start.js +7 -4
  601. package/modules/es.string.trim.js +5 -4
  602. package/modules/es.symbol.async-iterator.js +3 -1
  603. package/modules/es.symbol.has-instance.js +3 -1
  604. package/modules/es.symbol.is-concat-spreadable.js +3 -1
  605. package/modules/es.symbol.iterator.js +3 -1
  606. package/modules/es.symbol.js +107 -95
  607. package/modules/es.symbol.match-all.js +3 -1
  608. package/modules/es.symbol.match.js +3 -1
  609. package/modules/es.symbol.replace.js +3 -1
  610. package/modules/es.symbol.search.js +3 -1
  611. package/modules/es.symbol.species.js +3 -1
  612. package/modules/es.symbol.split.js +3 -1
  613. package/modules/es.symbol.to-primitive.js +3 -1
  614. package/modules/es.symbol.to-string-tag.js +3 -1
  615. package/modules/es.symbol.unscopables.js +3 -1
  616. package/modules/es.weak-map.js +6 -4
  617. package/modules/es.weak-set.js +6 -3
  618. package/modules/esnext.aggregate-error.js +6 -4
  619. package/modules/esnext.array.is-template-object.js +28 -0
  620. package/modules/esnext.composite-key.js +2 -1
  621. package/modules/esnext.composite-symbol.js +2 -1
  622. package/modules/esnext.global-this.js +6 -1
  623. package/modules/esnext.map.delete-all.js +3 -3
  624. package/modules/esnext.map.every.js +7 -6
  625. package/modules/esnext.map.filter.js +7 -6
  626. package/modules/esnext.map.find-key.js +7 -6
  627. package/modules/esnext.map.find.js +7 -6
  628. package/modules/esnext.map.from.js +5 -2
  629. package/modules/esnext.map.group-by.js +2 -1
  630. package/modules/esnext.map.includes.js +7 -8
  631. package/modules/esnext.map.key-by.js +2 -1
  632. package/modules/esnext.map.key-of.js +7 -8
  633. package/modules/esnext.map.map-keys.js +7 -6
  634. package/modules/esnext.map.map-values.js +7 -6
  635. package/modules/esnext.map.merge.js +3 -1
  636. package/modules/esnext.map.of.js +5 -2
  637. package/modules/esnext.map.reduce.js +8 -6
  638. package/modules/esnext.map.some.js +7 -6
  639. package/modules/esnext.map.update-or-insert.js +18 -0
  640. package/modules/esnext.map.update.js +6 -3
  641. package/modules/esnext.math.clamp.js +3 -1
  642. package/modules/esnext.math.deg-per-rad.js +5 -1
  643. package/modules/esnext.math.degrees.js +5 -3
  644. package/modules/esnext.math.fscale.js +3 -1
  645. package/modules/esnext.math.iaddh.js +3 -1
  646. package/modules/esnext.math.imulh.js +3 -1
  647. package/modules/esnext.math.isubh.js +3 -1
  648. package/modules/esnext.math.rad-per-deg.js +5 -1
  649. package/modules/esnext.math.radians.js +3 -1
  650. package/modules/esnext.math.scale.js +6 -1
  651. package/modules/esnext.math.seeded-prng.js +4 -2
  652. package/modules/esnext.math.signbit.js +8 -4
  653. package/modules/esnext.math.umulh.js +3 -1
  654. package/modules/esnext.number.from-string.js +3 -1
  655. package/modules/esnext.observable.js +33 -26
  656. package/modules/esnext.promise.all-settled.js +2 -42
  657. package/modules/esnext.promise.any.js +5 -3
  658. package/modules/esnext.promise.try.js +4 -3
  659. package/modules/esnext.reflect.define-metadata.js +3 -1
  660. package/modules/esnext.reflect.delete-metadata.js +3 -1
  661. package/modules/esnext.reflect.get-metadata-keys.js +4 -1
  662. package/modules/esnext.reflect.get-metadata.js +3 -1
  663. package/modules/esnext.reflect.get-own-metadata-keys.js +3 -1
  664. package/modules/esnext.reflect.get-own-metadata.js +3 -1
  665. package/modules/esnext.reflect.has-metadata.js +3 -1
  666. package/modules/esnext.reflect.has-own-metadata.js +3 -1
  667. package/modules/esnext.reflect.metadata.js +3 -1
  668. package/modules/esnext.set.add-all.js +3 -1
  669. package/modules/esnext.set.delete-all.js +3 -1
  670. package/modules/esnext.set.difference.js +3 -1
  671. package/modules/esnext.set.every.js +7 -5
  672. package/modules/esnext.set.filter.js +7 -5
  673. package/modules/esnext.set.find.js +7 -5
  674. package/modules/esnext.set.from.js +5 -2
  675. package/modules/esnext.set.intersection.js +3 -1
  676. package/modules/esnext.set.is-disjoint-from.js +6 -5
  677. package/modules/esnext.set.is-subset-of.js +6 -5
  678. package/modules/esnext.set.is-superset-of.js +6 -5
  679. package/modules/esnext.set.join.js +5 -3
  680. package/modules/esnext.set.map.js +7 -5
  681. package/modules/esnext.set.of.js +5 -2
  682. package/modules/esnext.set.reduce.js +8 -5
  683. package/modules/esnext.set.some.js +7 -5
  684. package/modules/esnext.set.symmetric-difference.js +3 -1
  685. package/modules/esnext.set.union.js +3 -1
  686. package/modules/esnext.string.at.js +4 -3
  687. package/modules/esnext.string.code-points.js +8 -4
  688. package/modules/esnext.string.replace-all.js +9 -6
  689. package/modules/esnext.symbol.async-dispose.js +5 -0
  690. package/modules/esnext.symbol.dispose.js +4 -2
  691. package/modules/esnext.symbol.observable.js +4 -1
  692. package/modules/esnext.symbol.pattern-match.js +3 -1
  693. package/modules/esnext.symbol.replace-all.js +3 -1
  694. package/modules/esnext.weak-map.delete-all.js +3 -3
  695. package/modules/esnext.weak-map.from.js +5 -2
  696. package/modules/esnext.weak-map.of.js +5 -2
  697. package/modules/esnext.weak-set.add-all.js +3 -2
  698. package/modules/esnext.weak-set.delete-all.js +3 -2
  699. package/modules/esnext.weak-set.from.js +5 -2
  700. package/modules/esnext.weak-set.of.js +5 -2
  701. package/modules/web.dom-collections.iterator.js +3 -1
  702. package/modules/web.immediate.js +6 -0
  703. package/modules/web.queue-microtask.js +9 -5
  704. package/modules/web.timers.js +15 -9
  705. package/modules/web.url-search-params.js +59 -42
  706. package/modules/web.url.js +53 -47
  707. package/package.json +2 -2
  708. package/proposals/array-is-template-object.js +1 -0
  709. package/proposals/map-update-or-insert.js +1 -0
  710. package/proposals/promise-all-settled.js +1 -0
  711. package/proposals/string-match-all.js +0 -2
  712. package/proposals/using-statement.js +1 -0
  713. package/scripts/postinstall.js +20 -8
  714. package/stable/dom-collections/index.js +2 -1
  715. package/stable/dom-collections/iterator.js +2 -1
  716. package/stable/promise/all-settled.js +1 -0
  717. package/stage/1.js +2 -3
  718. package/stage/2.js +3 -0
  719. package/stage/3.js +0 -1
  720. package/stage/4.js +1 -0
  721. package/web/queue-microtask.js +2 -1
  722. package/web/url-search-params.js +2 -1
  723. package/web/url.js +2 -1
  724. package/internals/enum-keys.js +0 -16
  725. package/internals/string-at.js +0 -16
  726. package/internals/validate-set-prototype-of-arguments.js +0 -9
  727. package/internals/validate-string-method-arguments.js +0 -9
@@ -1,56 +1,59 @@
1
1
  'use strict';
2
- // ECMAScript 6 symbols shim
2
+ var $ = require('../internals/export');
3
3
  var global = require('../internals/global');
4
- var has = require('../internals/has');
5
- var DESCRIPTORS = require('../internals/descriptors');
6
4
  var IS_PURE = require('../internals/is-pure');
7
- var $export = require('../internals/export');
8
- var redefine = require('../internals/redefine');
9
- var hiddenKeys = require('../internals/hidden-keys');
5
+ var DESCRIPTORS = require('../internals/descriptors');
6
+ var NATIVE_SYMBOL = require('../internals/native-symbol');
10
7
  var fails = require('../internals/fails');
11
- var shared = require('../internals/shared');
12
- var setToStringTag = require('../internals/set-to-string-tag');
13
- var uid = require('../internals/uid');
14
- var wellKnownSymbol = require('../internals/well-known-symbol');
15
- var wrappedWellKnownSymbolModule = require('../internals/wrapped-well-known-symbol');
16
- var defineWellKnownSymbol = require('../internals/define-well-known-symbol');
17
- var enumKeys = require('../internals/enum-keys');
8
+ var has = require('../internals/has');
18
9
  var isArray = require('../internals/is-array');
19
- var anObject = require('../internals/an-object');
20
10
  var isObject = require('../internals/is-object');
11
+ var anObject = require('../internals/an-object');
21
12
  var toObject = require('../internals/to-object');
22
13
  var toIndexedObject = require('../internals/to-indexed-object');
23
14
  var toPrimitive = require('../internals/to-primitive');
24
15
  var createPropertyDescriptor = require('../internals/create-property-descriptor');
25
16
  var nativeObjectCreate = require('../internals/object-create');
17
+ var objectKeys = require('../internals/object-keys');
18
+ var getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');
26
19
  var getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');
20
+ var getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');
27
21
  var getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');
28
22
  var definePropertyModule = require('../internals/object-define-property');
29
23
  var propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');
30
24
  var hide = require('../internals/hide');
31
- var objectKeys = require('../internals/object-keys');
32
- var HIDDEN = require('../internals/shared-key')('hidden');
25
+ var redefine = require('../internals/redefine');
26
+ var shared = require('../internals/shared');
27
+ var sharedKey = require('../internals/shared-key');
28
+ var hiddenKeys = require('../internals/hidden-keys');
29
+ var uid = require('../internals/uid');
30
+ var wellKnownSymbol = require('../internals/well-known-symbol');
31
+ var wrappedWellKnownSymbolModule = require('../internals/wrapped-well-known-symbol');
32
+ var defineWellKnownSymbol = require('../internals/define-well-known-symbol');
33
+ var setToStringTag = require('../internals/set-to-string-tag');
33
34
  var InternalStateModule = require('../internals/internal-state');
35
+ var $forEach = require('../internals/array-iteration').forEach;
36
+
37
+ var HIDDEN = sharedKey('hidden');
34
38
  var SYMBOL = 'Symbol';
39
+ var PROTOTYPE = 'prototype';
40
+ var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
35
41
  var setInternalState = InternalStateModule.set;
36
42
  var getInternalState = InternalStateModule.getterFor(SYMBOL);
37
- var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
38
- var nativeDefineProperty = definePropertyModule.f;
39
- var nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;
40
- var getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');
43
+ var ObjectPrototype = Object[PROTOTYPE];
41
44
  var $Symbol = global.Symbol;
42
45
  var JSON = global.JSON;
43
46
  var nativeJSONStringify = JSON && JSON.stringify;
44
- var PROTOTYPE = 'prototype';
45
- var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
47
+ var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
48
+ var nativeDefineProperty = definePropertyModule.f;
49
+ var nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;
46
50
  var nativePropertyIsEnumerable = propertyIsEnumerableModule.f;
47
- var SymbolRegistry = shared('symbol-registry');
48
51
  var AllSymbols = shared('symbols');
49
52
  var ObjectPrototypeSymbols = shared('op-symbols');
53
+ var StringToSymbolRegistry = shared('string-to-symbol-registry');
54
+ var SymbolToStringRegistry = shared('symbol-to-string-registry');
50
55
  var WellKnownSymbolsStore = shared('wks');
51
- var ObjectPrototype = Object[PROTOTYPE];
52
56
  var QObject = global.QObject;
53
- var NATIVE_SYMBOL = require('../internals/native-symbol');
54
57
  // Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173
55
58
  var USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;
56
59
 
@@ -59,12 +62,12 @@ var setSymbolDescriptor = DESCRIPTORS && fails(function () {
59
62
  return nativeObjectCreate(nativeDefineProperty({}, 'a', {
60
63
  get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }
61
64
  })).a != 7;
62
- }) ? function (it, key, D) {
63
- var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, key);
64
- if (ObjectPrototypeDescriptor) delete ObjectPrototype[key];
65
- nativeDefineProperty(it, key, D);
66
- if (ObjectPrototypeDescriptor && it !== ObjectPrototype) {
67
- nativeDefineProperty(ObjectPrototype, key, ObjectPrototypeDescriptor);
65
+ }) ? function (O, P, Attributes) {
66
+ var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);
67
+ if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];
68
+ nativeDefineProperty(O, P, Attributes);
69
+ if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {
70
+ nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);
68
71
  }
69
72
  } : nativeDefineProperty;
70
73
 
@@ -85,70 +88,73 @@ var isSymbol = NATIVE_SYMBOL && typeof $Symbol.iterator == 'symbol' ? function (
85
88
  return Object(it) instanceof $Symbol;
86
89
  };
87
90
 
88
- var $defineProperty = function defineProperty(it, key, D) {
89
- if (it === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, key, D);
90
- anObject(it);
91
- key = toPrimitive(key, true);
92
- anObject(D);
91
+ var $defineProperty = function defineProperty(O, P, Attributes) {
92
+ if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);
93
+ anObject(O);
94
+ var key = toPrimitive(P, true);
95
+ anObject(Attributes);
93
96
  if (has(AllSymbols, key)) {
94
- if (!D.enumerable) {
95
- if (!has(it, HIDDEN)) nativeDefineProperty(it, HIDDEN, createPropertyDescriptor(1, {}));
96
- it[HIDDEN][key] = true;
97
+ if (!Attributes.enumerable) {
98
+ if (!has(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));
99
+ O[HIDDEN][key] = true;
97
100
  } else {
98
- if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;
99
- D = nativeObjectCreate(D, { enumerable: createPropertyDescriptor(0, false) });
100
- } return setSymbolDescriptor(it, key, D);
101
- } return nativeDefineProperty(it, key, D);
101
+ if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;
102
+ Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });
103
+ } return setSymbolDescriptor(O, key, Attributes);
104
+ } return nativeDefineProperty(O, key, Attributes);
102
105
  };
103
106
 
104
- var $defineProperties = function defineProperties(it, P) {
105
- anObject(it);
106
- var keys = enumKeys(P = toIndexedObject(P));
107
- var i = 0;
108
- var l = keys.length;
109
- var key;
110
- while (l > i) $defineProperty(it, key = keys[i++], P[key]);
111
- return it;
107
+ var $defineProperties = function defineProperties(O, Properties) {
108
+ anObject(O);
109
+ var properties = toIndexedObject(Properties);
110
+ var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));
111
+ $forEach(keys, function (key) {
112
+ if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]);
113
+ });
114
+ return O;
112
115
  };
113
116
 
114
- var $create = function create(it, P) {
115
- return P === undefined ? nativeObjectCreate(it) : $defineProperties(nativeObjectCreate(it), P);
117
+ var $create = function create(O, Properties) {
118
+ return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);
116
119
  };
117
120
 
118
- var $propertyIsEnumerable = function propertyIsEnumerable(key) {
119
- var E = nativePropertyIsEnumerable.call(this, key = toPrimitive(key, true));
120
- if (this === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return false;
121
- return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;
121
+ var $propertyIsEnumerable = function propertyIsEnumerable(V) {
122
+ var P = toPrimitive(V, true);
123
+ var enumerable = nativePropertyIsEnumerable.call(this, P);
124
+ if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;
125
+ return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;
122
126
  };
123
127
 
124
- var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {
125
- it = toIndexedObject(it);
126
- key = toPrimitive(key, true);
128
+ var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {
129
+ var it = toIndexedObject(O);
130
+ var key = toPrimitive(P, true);
127
131
  if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;
128
- var D = nativeGetOwnPropertyDescriptor(it, key);
129
- if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;
130
- return D;
132
+ var descriptor = nativeGetOwnPropertyDescriptor(it, key);
133
+ if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {
134
+ descriptor.enumerable = true;
135
+ }
136
+ return descriptor;
131
137
  };
132
138
 
133
- var $getOwnPropertyNames = function getOwnPropertyNames(it) {
134
- var names = nativeGetOwnPropertyNames(toIndexedObject(it));
139
+ var $getOwnPropertyNames = function getOwnPropertyNames(O) {
140
+ var names = nativeGetOwnPropertyNames(toIndexedObject(O));
135
141
  var result = [];
136
- var i = 0;
137
- var key;
138
- while (names.length > i) {
139
- if (!has(AllSymbols, key = names[i++]) && !has(hiddenKeys, key)) result.push(key);
140
- } return result;
142
+ $forEach(names, function (key) {
143
+ if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);
144
+ });
145
+ return result;
141
146
  };
142
147
 
143
- var $getOwnPropertySymbols = function getOwnPropertySymbols(it) {
144
- var IS_OP = it === ObjectPrototype;
145
- var names = nativeGetOwnPropertyNames(IS_OP ? ObjectPrototypeSymbols : toIndexedObject(it));
148
+ var $getOwnPropertySymbols = function getOwnPropertySymbols(O) {
149
+ var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;
150
+ var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));
146
151
  var result = [];
147
- var i = 0;
148
- var key;
149
- while (names.length > i) {
150
- if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectPrototype, key) : true)) result.push(AllSymbols[key]);
151
- } return result;
152
+ $forEach(names, function (key) {
153
+ if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {
154
+ result.push(AllSymbols[key]);
155
+ }
156
+ });
157
+ return result;
152
158
  };
153
159
 
154
160
  // `Symbol` constructor
@@ -156,7 +162,7 @@ var $getOwnPropertySymbols = function getOwnPropertySymbols(it) {
156
162
  if (!NATIVE_SYMBOL) {
157
163
  $Symbol = function Symbol() {
158
164
  if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');
159
- var description = arguments[0] === undefined ? undefined : String(arguments[0]);
165
+ var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);
160
166
  var tag = uid(description);
161
167
  var setter = function (value) {
162
168
  if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);
@@ -166,6 +172,7 @@ if (!NATIVE_SYMBOL) {
166
172
  if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });
167
173
  return wrap(tag, description);
168
174
  };
175
+
169
176
  redefine($Symbol[PROTOTYPE], 'toString', function toString() {
170
177
  return getInternalState(this).tag;
171
178
  });
@@ -173,7 +180,7 @@ if (!NATIVE_SYMBOL) {
173
180
  propertyIsEnumerableModule.f = $propertyIsEnumerable;
174
181
  definePropertyModule.f = $defineProperty;
175
182
  getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;
176
- require('../internals/object-get-own-property-names').f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;
183
+ getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;
177
184
  getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;
178
185
 
179
186
  if (DESCRIPTORS) {
@@ -194,31 +201,36 @@ if (!NATIVE_SYMBOL) {
194
201
  };
195
202
  }
196
203
 
197
- $export({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, { Symbol: $Symbol });
204
+ $({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {
205
+ Symbol: $Symbol
206
+ });
198
207
 
199
- for (var wellKnownSymbols = objectKeys(WellKnownSymbolsStore), k = 0; wellKnownSymbols.length > k;) {
200
- defineWellKnownSymbol(wellKnownSymbols[k++]);
201
- }
208
+ $forEach(objectKeys(WellKnownSymbolsStore), function (name) {
209
+ defineWellKnownSymbol(name);
210
+ });
202
211
 
203
- $export({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {
212
+ $({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {
204
213
  // `Symbol.for` method
205
214
  // https://tc39.github.io/ecma262/#sec-symbol.for
206
215
  'for': function (key) {
207
- return has(SymbolRegistry, key += '')
208
- ? SymbolRegistry[key]
209
- : SymbolRegistry[key] = $Symbol(key);
216
+ var string = String(key);
217
+ if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];
218
+ var symbol = $Symbol(string);
219
+ StringToSymbolRegistry[string] = symbol;
220
+ SymbolToStringRegistry[symbol] = string;
221
+ return symbol;
210
222
  },
211
223
  // `Symbol.keyFor` method
212
224
  // https://tc39.github.io/ecma262/#sec-symbol.keyfor
213
225
  keyFor: function keyFor(sym) {
214
226
  if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');
215
- for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;
227
+ if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];
216
228
  },
217
229
  useSetter: function () { USE_SETTER = true; },
218
230
  useSimple: function () { USE_SETTER = false; }
219
231
  });
220
232
 
221
- $export({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {
233
+ $({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {
222
234
  // `Object.create` method
223
235
  // https://tc39.github.io/ecma262/#sec-object.create
224
236
  create: $create,
@@ -233,7 +245,7 @@ $export({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTO
233
245
  getOwnPropertyDescriptor: $getOwnPropertyDescriptor
234
246
  });
235
247
 
236
- $export({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {
248
+ $({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {
237
249
  // `Object.getOwnPropertyNames` method
238
250
  // https://tc39.github.io/ecma262/#sec-object.getownpropertynames
239
251
  getOwnPropertyNames: $getOwnPropertyNames,
@@ -244,7 +256,7 @@ $export({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {
244
256
 
245
257
  // Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives
246
258
  // https://bugs.chromium.org/p/v8/issues/detail?id=3443
247
- $export({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, {
259
+ $({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, {
248
260
  getOwnPropertySymbols: function getOwnPropertySymbols(it) {
249
261
  return getOwnPropertySymbolsModule.f(toObject(it));
250
262
  }
@@ -252,7 +264,7 @@ $export({ target: 'Object', stat: true, forced: fails(function () { getOwnProper
252
264
 
253
265
  // `JSON.stringify` method behavior with symbols
254
266
  // https://tc39.github.io/ecma262/#sec-json.stringify
255
- JSON && $export({ target: 'JSON', stat: true, forced: !NATIVE_SYMBOL || fails(function () {
267
+ JSON && $({ target: 'JSON', stat: true, forced: !NATIVE_SYMBOL || fails(function () {
256
268
  var symbol = $Symbol();
257
269
  // MS Edge converts symbol values to JSON as {}
258
270
  return nativeJSONStringify([symbol]) != '[null]'
@@ -263,9 +275,9 @@ JSON && $export({ target: 'JSON', stat: true, forced: !NATIVE_SYMBOL || fails(fu
263
275
  }) }, {
264
276
  stringify: function stringify(it) {
265
277
  var args = [it];
266
- var i = 1;
278
+ var index = 1;
267
279
  var replacer, $replacer;
268
- while (arguments.length > i) args.push(arguments[i++]);
280
+ while (arguments.length > index) args.push(arguments[index++]);
269
281
  $replacer = replacer = args[1];
270
282
  if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined
271
283
  if (!isArray(replacer)) replacer = function (key, value) {
@@ -1,2 +1,4 @@
1
+ var defineWellKnownSymbol = require('../internals/define-well-known-symbol');
2
+
1
3
  // `Symbol.matchAll` well-known symbol
2
- require('../internals/define-well-known-symbol')('matchAll');
4
+ defineWellKnownSymbol('matchAll');
@@ -1,3 +1,5 @@
1
+ var defineWellKnownSymbol = require('../internals/define-well-known-symbol');
2
+
1
3
  // `Symbol.match` well-known symbol
2
4
  // https://tc39.github.io/ecma262/#sec-symbol.match
3
- require('../internals/define-well-known-symbol')('match');
5
+ defineWellKnownSymbol('match');
@@ -1,3 +1,5 @@
1
+ var defineWellKnownSymbol = require('../internals/define-well-known-symbol');
2
+
1
3
  // `Symbol.replace` well-known symbol
2
4
  // https://tc39.github.io/ecma262/#sec-symbol.replace
3
- require('../internals/define-well-known-symbol')('replace');
5
+ defineWellKnownSymbol('replace');
@@ -1,3 +1,5 @@
1
+ var defineWellKnownSymbol = require('../internals/define-well-known-symbol');
2
+
1
3
  // `Symbol.search` well-known symbol
2
4
  // https://tc39.github.io/ecma262/#sec-symbol.search
3
- require('../internals/define-well-known-symbol')('search');
5
+ defineWellKnownSymbol('search');
@@ -1,3 +1,5 @@
1
+ var defineWellKnownSymbol = require('../internals/define-well-known-symbol');
2
+
1
3
  // `Symbol.species` well-known symbol
2
4
  // https://tc39.github.io/ecma262/#sec-symbol.species
3
- require('../internals/define-well-known-symbol')('species');
5
+ defineWellKnownSymbol('species');
@@ -1,3 +1,5 @@
1
+ var defineWellKnownSymbol = require('../internals/define-well-known-symbol');
2
+
1
3
  // `Symbol.split` well-known symbol
2
4
  // https://tc39.github.io/ecma262/#sec-symbol.split
3
- require('../internals/define-well-known-symbol')('split');
5
+ defineWellKnownSymbol('split');
@@ -1,3 +1,5 @@
1
+ var defineWellKnownSymbol = require('../internals/define-well-known-symbol');
2
+
1
3
  // `Symbol.toPrimitive` well-known symbol
2
4
  // https://tc39.github.io/ecma262/#sec-symbol.toprimitive
3
- require('../internals/define-well-known-symbol')('toPrimitive');
5
+ defineWellKnownSymbol('toPrimitive');
@@ -1,3 +1,5 @@
1
+ var defineWellKnownSymbol = require('../internals/define-well-known-symbol');
2
+
1
3
  // `Symbol.toStringTag` well-known symbol
2
4
  // https://tc39.github.io/ecma262/#sec-symbol.tostringtag
3
- require('../internals/define-well-known-symbol')('toStringTag');
5
+ defineWellKnownSymbol('toStringTag');
@@ -1,3 +1,5 @@
1
+ var defineWellKnownSymbol = require('../internals/define-well-known-symbol');
2
+
1
3
  // `Symbol.unscopables` well-known symbol
2
4
  // https://tc39.github.io/ecma262/#sec-symbol.unscopables
3
- require('../internals/define-well-known-symbol')('unscopables');
5
+ defineWellKnownSymbol('unscopables');
@@ -2,29 +2,31 @@
2
2
  var global = require('../internals/global');
3
3
  var redefineAll = require('../internals/redefine-all');
4
4
  var InternalMetadataModule = require('../internals/internal-metadata');
5
- var weak = require('../internals/collection-weak');
5
+ var collection = require('../internals/collection');
6
+ var collectionWeak = require('../internals/collection-weak');
6
7
  var isObject = require('../internals/is-object');
7
8
  var enforceIternalState = require('../internals/internal-state').enforce;
8
9
  var NATIVE_WEAK_MAP = require('../internals/native-weak-map');
10
+
9
11
  var IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;
10
12
  var isExtensible = Object.isExtensible;
11
13
  var InternalWeakMap;
12
14
 
13
15
  var wrapper = function (get) {
14
16
  return function WeakMap() {
15
- return get(this, arguments.length > 0 ? arguments[0] : undefined);
17
+ return get(this, arguments.length ? arguments[0] : undefined);
16
18
  };
17
19
  };
18
20
 
19
21
  // `WeakMap` constructor
20
22
  // https://tc39.github.io/ecma262/#sec-weakmap-constructor
21
- var $WeakMap = module.exports = require('../internals/collection')('WeakMap', wrapper, weak, true, true);
23
+ var $WeakMap = module.exports = collection('WeakMap', wrapper, collectionWeak, true, true);
22
24
 
23
25
  // IE11 WeakMap frozen keys fix
24
26
  // We can't use feature detection because it crash some old IE builds
25
27
  // https://github.com/zloirock/core-js/issues/485
26
28
  if (NATIVE_WEAK_MAP && IS_IE11) {
27
- InternalWeakMap = weak.getConstructor(wrapper, 'WeakMap', true);
29
+ InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true);
28
30
  InternalMetadataModule.REQUIRED = true;
29
31
  var WeakMapPrototype = $WeakMap.prototype;
30
32
  var nativeDelete = WeakMapPrototype['delete'];
@@ -1,6 +1,9 @@
1
1
  'use strict';
2
+ var collection = require('../internals/collection');
3
+ var collectionWeak = require('../internals/collection-weak');
4
+
2
5
  // `WeakSet` constructor
3
6
  // https://tc39.github.io/ecma262/#sec-weakset-constructor
4
- require('../internals/collection')('WeakSet', function (get) {
5
- return function WeakSet() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };
6
- }, require('../internals/collection-weak'), false, true);
7
+ collection('WeakSet', function (get) {
8
+ return function WeakSet() { return get(this, arguments.length ? arguments[0] : undefined); };
9
+ }, collectionWeak, false, true);
@@ -1,6 +1,8 @@
1
+ var $ = require('../internals/export');
1
2
  var getPrototypeOf = require('../internals/object-get-prototype-of');
2
3
  var setPrototypeOf = require('../internals/object-set-prototype-of');
3
4
  var create = require('../internals/object-create');
5
+ var createPropertyDescriptor = require('../internals/create-property-descriptor');
4
6
  var iterate = require('../internals/iterate');
5
7
  var hide = require('../internals/hide');
6
8
 
@@ -12,16 +14,16 @@ var $AggregateError = function AggregateError(errors, message) {
12
14
  }
13
15
  var errorsArray = [];
14
16
  iterate(errors, errorsArray.push, errorsArray);
15
- that.errors = errorsArray;
17
+ hide(that, 'errors', errorsArray);
16
18
  if (message !== undefined) hide(that, 'message', String(message));
17
19
  return that;
18
20
  };
19
21
 
20
22
  $AggregateError.prototype = create(Error.prototype, {
21
- constructor: { value: $AggregateError, configurable: true, writable: true },
22
- name: { value: 'AggregateError', configurable: true, writable: true }
23
+ constructor: createPropertyDescriptor(5, $AggregateError),
24
+ name: createPropertyDescriptor(5, 'AggregateError')
23
25
  });
24
26
 
25
- require('../internals/export')({ global: true }, {
27
+ $({ global: true }, {
26
28
  AggregateError: $AggregateError
27
29
  });
@@ -0,0 +1,28 @@
1
+ var $ = require('../internals/export');
2
+ var isArray = require('../internals/is-array');
3
+
4
+ var isFrozen = Object.isFrozen;
5
+
6
+ var isFrozenStringArray = function (array, allowUndefined) {
7
+ if (!isFrozen || !isArray(array) || !isFrozen(array)) return false;
8
+ var index = 0;
9
+ var length = array.length;
10
+ var element;
11
+ while (index < length) {
12
+ element = array[index++];
13
+ if (!(typeof element === 'string' || (allowUndefined && typeof element === 'undefined'))) {
14
+ return false;
15
+ }
16
+ } return length !== 0;
17
+ };
18
+
19
+ // `Array.isTemplateObject` method
20
+ // https://github.com/tc39/proposal-array-is-template-object
21
+ $({ target: 'Array', stat: true }, {
22
+ isTemplateObject: function isTemplateObject(value) {
23
+ if (!isFrozenStringArray(value, true)) return false;
24
+ var raw = value.raw;
25
+ if (raw.length !== value.length || !isFrozenStringArray(raw, false)) return false;
26
+ return true;
27
+ }
28
+ });
@@ -1,3 +1,4 @@
1
+ var $ = require('../internals/export');
1
2
  var getCompositeKeyNode = require('../internals/composite-key');
2
3
  var getBuiltIn = require('../internals/get-built-in');
3
4
  var create = require('../internals/object-create');
@@ -8,7 +9,7 @@ var initializer = function () {
8
9
  };
9
10
 
10
11
  // https://github.com/tc39/proposal-richer-keys/tree/master/compositeKey
11
- require('../internals/export')({ global: true }, {
12
+ $({ global: true }, {
12
13
  compositeKey: function compositeKey() {
13
14
  return getCompositeKeyNode.apply(Object, arguments).get('object', initializer);
14
15
  }
@@ -1,8 +1,9 @@
1
+ var $ = require('../internals/export');
1
2
  var getCompositeKeyNode = require('../internals/composite-key');
2
3
  var getBuiltIn = require('../internals/get-built-in');
3
4
 
4
5
  // https://github.com/tc39/proposal-richer-keys/tree/master/compositeKey
5
- require('../internals/export')({ global: true }, {
6
+ $({ global: true }, {
6
7
  compositeSymbol: function compositeSymbol() {
7
8
  if (arguments.length === 1 && typeof arguments[0] === 'string') return getBuiltIn('Symbol')['for'](arguments[0]);
8
9
  return getCompositeKeyNode.apply(null, arguments).get('symbol', getBuiltIn('Symbol'));
@@ -1,3 +1,8 @@
1
+ var $ = require('../internals/export');
2
+ var global = require('../internals/global');
3
+
1
4
  // `globalThis` object
2
5
  // https://github.com/tc39/proposal-global
3
- require('../internals/export')({ global: true }, { globalThis: require('../internals/global') });
6
+ $({ global: true }, {
7
+ globalThis: global
8
+ });
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
+ var $ = require('../internals/export');
3
+ var IS_PURE = require('../internals/is-pure');
2
4
  var collectionDeleteAll = require('../internals/collection-delete-all');
3
5
 
4
6
  // `Map.prototype.deleteAll` method
5
7
  // https://github.com/tc39/proposal-collection-methods
6
- require('../internals/export')({
7
- target: 'Map', proto: true, real: true, forced: require('../internals/is-pure')
8
- }, {
8
+ $({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {
9
9
  deleteAll: function deleteAll(/* ...elements */) {
10
10
  return collectionDeleteAll.apply(this, arguments);
11
11
  }
@@ -1,19 +1,20 @@
1
1
  'use strict';
2
+ var $ = require('../internals/export');
3
+ var IS_PURE = require('../internals/is-pure');
2
4
  var anObject = require('../internals/an-object');
3
5
  var bind = require('../internals/bind-context');
4
6
  var getMapIterator = require('../internals/get-map-iterator');
7
+ var iterate = require('../internals/iterate');
5
8
 
6
9
  // `Map.prototype.every` method
7
10
  // https://github.com/tc39/proposal-collection-methods
8
- require('../internals/export')({ target: 'Map', proto: true, real: true, forced: require('../internals/is-pure') }, {
11
+ $({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {
9
12
  every: function every(callbackfn /* , thisArg */) {
10
13
  var map = anObject(this);
11
14
  var iterator = getMapIterator(map);
12
15
  var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
13
- var step, entry;
14
- while (!(step = iterator.next()).done) {
15
- entry = step.value;
16
- if (!boundFunction(entry[1], entry[0], map)) return false;
17
- } return true;
16
+ return !iterate(iterator, function (key, value) {
17
+ if (!boundFunction(value, key, map)) return iterate.stop();
18
+ }, undefined, true, true).stopped;
18
19
  }
19
20
  });
@@ -1,25 +1,26 @@
1
1
  'use strict';
2
+ var $ = require('../internals/export');
3
+ var IS_PURE = require('../internals/is-pure');
2
4
  var getBuiltIn = require('../internals/get-built-in');
3
5
  var anObject = require('../internals/an-object');
4
6
  var aFunction = require('../internals/a-function');
5
7
  var bind = require('../internals/bind-context');
6
8
  var speciesConstructor = require('../internals/species-constructor');
7
9
  var getMapIterator = require('../internals/get-map-iterator');
10
+ var iterate = require('../internals/iterate');
8
11
 
9
12
  // `Map.prototype.filter` method
10
13
  // https://github.com/tc39/proposal-collection-methods
11
- require('../internals/export')({ target: 'Map', proto: true, real: true, forced: require('../internals/is-pure') }, {
14
+ $({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {
12
15
  filter: function filter(callbackfn /* , thisArg */) {
13
16
  var map = anObject(this);
14
17
  var iterator = getMapIterator(map);
15
18
  var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
16
19
  var newMap = new (speciesConstructor(map, getBuiltIn('Map')))();
17
20
  var setter = aFunction(newMap.set);
18
- var step, entry, key, value;
19
- while (!(step = iterator.next()).done) {
20
- entry = step.value;
21
- if (boundFunction(value = entry[1], key = entry[0], map)) setter.call(newMap, key, value);
22
- }
21
+ iterate(iterator, function (key, value) {
22
+ if (boundFunction(value, key, map)) setter.call(newMap, key, value);
23
+ }, undefined, true, true);
23
24
  return newMap;
24
25
  }
25
26
  });