core-js 3.8.1 → 3.9.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 (333) hide show
  1. package/LICENSE +1 -1
  2. package/es/json/stringify.js +1 -1
  3. package/es/promise/all-settled.js +2 -0
  4. package/es/promise/any.js +2 -0
  5. package/features/array/find-last-index.js +4 -0
  6. package/features/array/find-last.js +4 -0
  7. package/features/array/index.js +2 -0
  8. package/features/array/virtual/find-last-index.js +4 -0
  9. package/features/array/virtual/find-last.js +4 -0
  10. package/features/array/virtual/index.js +3 -0
  11. package/features/instance/find-last-index.js +8 -0
  12. package/features/instance/find-last.js +8 -0
  13. package/features/typed-array/find-last-index.js +1 -0
  14. package/features/typed-array/find-last.js +1 -0
  15. package/features/typed-array/index.js +4 -0
  16. package/features/typed-array/unique-by.js +2 -0
  17. package/internals/add-to-unscopables.js +1 -1
  18. package/internals/advance-string-index.js +1 -1
  19. package/internals/array-buffer-view-core.js +1 -1
  20. package/internals/array-buffer.js +6 -4
  21. package/internals/array-copy-within.js +1 -1
  22. package/internals/array-fill.js +1 -1
  23. package/internals/array-for-each.js +2 -4
  24. package/internals/array-from.js +1 -1
  25. package/internals/array-includes.js +4 -4
  26. package/internals/array-iteration-from-last.js +34 -0
  27. package/internals/array-iteration.js +7 -7
  28. package/internals/array-last-index-of.js +2 -5
  29. package/internals/array-method-is-strict.js +1 -1
  30. package/internals/array-reduce.js +2 -2
  31. package/internals/array-species-create.js +1 -1
  32. package/internals/array-unique-by.js +32 -0
  33. package/internals/async-iterator-prototype.js +1 -1
  34. package/internals/check-correctness-of-iteration.js +1 -1
  35. package/internals/collection.js +9 -5
  36. package/internals/create-html.js +1 -1
  37. package/internals/date-to-iso-string.js +1 -1
  38. package/internals/descriptors.js +1 -1
  39. package/internals/engine-is-webos-webkit.js +3 -0
  40. package/internals/fix-regexp-well-known-symbol-logic.js +1 -0
  41. package/internals/function-bind.js +2 -2
  42. package/internals/get-map-iterator.js +1 -1
  43. package/internals/get-set-iterator.js +1 -1
  44. package/internals/get-substitution.js +40 -0
  45. package/internals/global.js +2 -2
  46. package/internals/ieee754.js +2 -4
  47. package/internals/indexed-object.js +1 -1
  48. package/internals/is-array.js +1 -1
  49. package/internals/is-integer.js +1 -1
  50. package/internals/is-iterable.js +1 -1
  51. package/internals/is-regexp.js +1 -1
  52. package/internals/iterators-core.js +10 -3
  53. package/internals/math-expm1.js +1 -1
  54. package/internals/math-fround.js +2 -2
  55. package/internals/math-log1p.js +1 -1
  56. package/internals/math-scale.js +2 -2
  57. package/internals/math-sign.js +2 -2
  58. package/internals/microtask.js +3 -1
  59. package/internals/native-symbol.js +7 -3
  60. package/internals/number-is-finite.js +1 -1
  61. package/internals/number-parse-float.js +1 -1
  62. package/internals/number-parse-int.js +1 -1
  63. package/internals/{range-iterator.js → numeric-range-iterator.js} +6 -6
  64. package/internals/object-assign.js +3 -3
  65. package/internals/object-create.js +2 -2
  66. package/internals/object-define-properties.js +1 -1
  67. package/internals/object-define-property.js +1 -1
  68. package/internals/object-get-own-property-descriptor.js +1 -1
  69. package/internals/object-get-own-property-names.js +1 -1
  70. package/internals/object-get-prototype-of.js +1 -1
  71. package/internals/object-keys.js +1 -1
  72. package/internals/object-property-is-enumerable.js +1 -1
  73. package/internals/object-prototype-accessors-forced.js +1 -1
  74. package/internals/object-set-prototype-of.js +2 -2
  75. package/internals/object-to-array.js +2 -2
  76. package/internals/object-to-string.js +1 -1
  77. package/internals/regexp-exec-abstract.js +1 -1
  78. package/internals/regexp-exec.js +1 -0
  79. package/internals/regexp-flags.js +1 -1
  80. package/internals/require-object-coercible.js +1 -1
  81. package/internals/same-value-zero.js +2 -2
  82. package/internals/same-value.js +2 -2
  83. package/internals/shared.js +2 -2
  84. package/internals/species-constructor.js +1 -1
  85. package/internals/string-multibyte.js +1 -1
  86. package/internals/string-pad-webkit-bug.js +1 -1
  87. package/internals/string-pad.js +2 -2
  88. package/internals/string-punycode-to-ascii.js +1 -1
  89. package/internals/string-repeat.js +1 -1
  90. package/internals/string-trim.js +3 -3
  91. package/internals/task.js +2 -2
  92. package/internals/this-number-value.js +1 -1
  93. package/internals/to-index.js +1 -1
  94. package/internals/to-integer.js +1 -1
  95. package/internals/to-length.js +1 -1
  96. package/internals/to-object.js +1 -1
  97. package/internals/to-primitive.js +1 -1
  98. package/internals/typed-array-constructors-require-wrappers.js +1 -1
  99. package/internals/typed-array-from-species-and-list.js +11 -0
  100. package/internals/use-symbol-as-uid.js +1 -2
  101. package/internals/well-known-symbol.js +6 -3
  102. package/internals/whitespaces.js +2 -2
  103. package/modules/es.aggregate-error.js +3 -0
  104. package/modules/es.array-buffer.constructor.js +1 -1
  105. package/modules/es.array-buffer.is-view.js +1 -1
  106. package/modules/es.array-buffer.slice.js +1 -1
  107. package/modules/es.array.concat.js +3 -2
  108. package/modules/es.array.copy-within.js +2 -2
  109. package/modules/es.array.every.js +2 -4
  110. package/modules/es.array.fill.js +2 -2
  111. package/modules/es.array.filter.js +2 -5
  112. package/modules/es.array.find-index.js +3 -6
  113. package/modules/es.array.find.js +3 -6
  114. package/modules/es.array.flat-map.js +1 -1
  115. package/modules/es.array.flat.js +1 -1
  116. package/modules/es.array.for-each.js +1 -1
  117. package/modules/es.array.from.js +1 -1
  118. package/modules/es.array.includes.js +3 -6
  119. package/modules/es.array.index-of.js +2 -4
  120. package/modules/es.array.is-array.js +1 -1
  121. package/modules/es.array.iterator.js +9 -9
  122. package/modules/es.array.join.js +1 -1
  123. package/modules/es.array.last-index-of.js +1 -1
  124. package/modules/es.array.map.js +2 -5
  125. package/modules/es.array.of.js +1 -1
  126. package/modules/es.array.reduce-right.js +2 -5
  127. package/modules/es.array.reduce.js +2 -4
  128. package/modules/es.array.reverse.js +2 -2
  129. package/modules/es.array.slice.js +2 -4
  130. package/modules/es.array.some.js +2 -4
  131. package/modules/es.array.sort.js +1 -1
  132. package/modules/es.array.species.js +1 -1
  133. package/modules/es.array.splice.js +2 -4
  134. package/modules/es.array.unscopables.flat-map.js +1 -0
  135. package/modules/es.array.unscopables.flat.js +1 -0
  136. package/modules/es.data-view.js +1 -1
  137. package/modules/es.date.now.js +1 -1
  138. package/modules/es.date.to-iso-string.js +1 -1
  139. package/modules/es.date.to-json.js +2 -2
  140. package/modules/es.date.to-primitive.js +1 -1
  141. package/modules/es.date.to-string.js +2 -2
  142. package/modules/es.function.bind.js +1 -1
  143. package/modules/es.function.has-instance.js +1 -1
  144. package/modules/es.function.name.js +1 -1
  145. package/modules/es.global-this.js +1 -1
  146. package/modules/es.json.stringify.js +3 -1
  147. package/modules/es.json.to-string-tag.js +1 -1
  148. package/modules/es.map.js +1 -1
  149. package/modules/es.math.acosh.js +1 -1
  150. package/modules/es.math.asinh.js +1 -1
  151. package/modules/es.math.atanh.js +1 -1
  152. package/modules/es.math.cbrt.js +1 -1
  153. package/modules/es.math.clz32.js +1 -1
  154. package/modules/es.math.cosh.js +1 -1
  155. package/modules/es.math.expm1.js +1 -1
  156. package/modules/es.math.fround.js +1 -1
  157. package/modules/es.math.hypot.js +3 -2
  158. package/modules/es.math.imul.js +1 -1
  159. package/modules/es.math.log10.js +1 -1
  160. package/modules/es.math.log1p.js +1 -1
  161. package/modules/es.math.log2.js +1 -1
  162. package/modules/es.math.sign.js +1 -1
  163. package/modules/es.math.sinh.js +1 -1
  164. package/modules/es.math.tanh.js +1 -1
  165. package/modules/es.math.to-string-tag.js +1 -1
  166. package/modules/es.math.trunc.js +1 -1
  167. package/modules/es.number.constructor.js +2 -2
  168. package/modules/es.number.epsilon.js +1 -1
  169. package/modules/es.number.is-finite.js +1 -1
  170. package/modules/es.number.is-integer.js +1 -1
  171. package/modules/es.number.is-nan.js +2 -2
  172. package/modules/es.number.is-safe-integer.js +1 -1
  173. package/modules/es.number.max-safe-integer.js +1 -1
  174. package/modules/es.number.min-safe-integer.js +1 -1
  175. package/modules/es.number.parse-float.js +1 -1
  176. package/modules/es.number.parse-int.js +1 -1
  177. package/modules/es.number.to-fixed.js +44 -45
  178. package/modules/es.number.to-precision.js +1 -1
  179. package/modules/es.object.assign.js +1 -1
  180. package/modules/es.object.create.js +1 -1
  181. package/modules/es.object.define-getter.js +1 -1
  182. package/modules/es.object.define-properties.js +1 -1
  183. package/modules/es.object.define-property.js +1 -1
  184. package/modules/es.object.define-setter.js +1 -1
  185. package/modules/es.object.entries.js +1 -1
  186. package/modules/es.object.freeze.js +1 -1
  187. package/modules/es.object.get-own-property-descriptor.js +1 -1
  188. package/modules/es.object.get-own-property-descriptors.js +1 -1
  189. package/modules/es.object.get-own-property-names.js +1 -1
  190. package/modules/es.object.get-prototype-of.js +1 -1
  191. package/modules/es.object.is-extensible.js +1 -1
  192. package/modules/es.object.is-frozen.js +1 -1
  193. package/modules/es.object.is-sealed.js +1 -1
  194. package/modules/es.object.is.js +1 -1
  195. package/modules/es.object.keys.js +1 -1
  196. package/modules/es.object.lookup-getter.js +1 -1
  197. package/modules/es.object.lookup-setter.js +1 -1
  198. package/modules/es.object.prevent-extensions.js +1 -1
  199. package/modules/es.object.seal.js +1 -1
  200. package/modules/es.object.set-prototype-of.js +1 -1
  201. package/modules/es.object.to-string.js +1 -1
  202. package/modules/es.object.values.js +1 -1
  203. package/modules/es.parse-float.js +1 -1
  204. package/modules/es.parse-int.js +1 -1
  205. package/modules/es.promise.all-settled.js +1 -1
  206. package/modules/es.promise.any.js +1 -1
  207. package/modules/es.promise.finally.js +1 -1
  208. package/modules/es.promise.js +8 -8
  209. package/modules/es.reflect.apply.js +1 -1
  210. package/modules/es.reflect.construct.js +1 -1
  211. package/modules/es.reflect.define-property.js +2 -2
  212. package/modules/es.reflect.delete-property.js +1 -1
  213. package/modules/es.reflect.get-own-property-descriptor.js +1 -1
  214. package/modules/es.reflect.get-prototype-of.js +1 -1
  215. package/modules/es.reflect.get.js +1 -1
  216. package/modules/es.reflect.has.js +1 -1
  217. package/modules/es.reflect.is-extensible.js +1 -1
  218. package/modules/es.reflect.own-keys.js +1 -1
  219. package/modules/es.reflect.prevent-extensions.js +1 -1
  220. package/modules/es.reflect.set-prototype-of.js +1 -1
  221. package/modules/es.reflect.set.js +2 -2
  222. package/modules/es.regexp.constructor.js +2 -2
  223. package/modules/es.regexp.exec.js +2 -0
  224. package/modules/es.regexp.flags.js +1 -1
  225. package/modules/es.regexp.sticky.js +1 -0
  226. package/modules/es.regexp.test.js +2 -0
  227. package/modules/es.regexp.to-string.js +1 -1
  228. package/modules/es.set.js +1 -1
  229. package/modules/es.string.anchor.js +1 -1
  230. package/modules/es.string.big.js +1 -1
  231. package/modules/es.string.blink.js +1 -1
  232. package/modules/es.string.bold.js +1 -1
  233. package/modules/es.string.code-point-at.js +1 -1
  234. package/modules/es.string.ends-with.js +1 -1
  235. package/modules/es.string.fixed.js +1 -1
  236. package/modules/es.string.fontcolor.js +1 -1
  237. package/modules/es.string.fontsize.js +1 -1
  238. package/modules/es.string.from-code-point.js +3 -2
  239. package/modules/es.string.includes.js +1 -1
  240. package/modules/es.string.italics.js +1 -1
  241. package/modules/es.string.iterator.js +2 -2
  242. package/modules/es.string.link.js +1 -1
  243. package/modules/es.string.match-all.js +2 -2
  244. package/modules/es.string.match.js +2 -2
  245. package/modules/es.string.pad-end.js +1 -1
  246. package/modules/es.string.pad-start.js +1 -1
  247. package/modules/es.string.raw.js +1 -1
  248. package/modules/es.string.repeat.js +1 -1
  249. package/modules/es.string.replace-all.js +29 -12
  250. package/modules/es.string.replace.js +3 -40
  251. package/modules/es.string.search.js +2 -2
  252. package/modules/es.string.small.js +1 -1
  253. package/modules/es.string.split.js +4 -2
  254. package/modules/es.string.starts-with.js +1 -1
  255. package/modules/es.string.strike.js +1 -1
  256. package/modules/es.string.sub.js +1 -1
  257. package/modules/es.string.sup.js +1 -1
  258. package/modules/es.string.trim-end.js +2 -1
  259. package/modules/es.string.trim-start.js +2 -1
  260. package/modules/es.string.trim.js +1 -1
  261. package/modules/es.symbol.async-iterator.js +1 -1
  262. package/modules/es.symbol.description.js +1 -1
  263. package/modules/es.symbol.has-instance.js +1 -1
  264. package/modules/es.symbol.is-concat-spreadable.js +1 -1
  265. package/modules/es.symbol.iterator.js +1 -1
  266. package/modules/es.symbol.js +13 -13
  267. package/modules/es.symbol.match-all.js +1 -0
  268. package/modules/es.symbol.match.js +1 -1
  269. package/modules/es.symbol.replace.js +1 -1
  270. package/modules/es.symbol.search.js +1 -1
  271. package/modules/es.symbol.species.js +1 -1
  272. package/modules/es.symbol.split.js +1 -1
  273. package/modules/es.symbol.to-primitive.js +1 -1
  274. package/modules/es.symbol.to-string-tag.js +1 -1
  275. package/modules/es.symbol.unscopables.js +1 -1
  276. package/modules/es.typed-array.copy-within.js +1 -1
  277. package/modules/es.typed-array.every.js +1 -1
  278. package/modules/es.typed-array.fill.js +2 -2
  279. package/modules/es.typed-array.filter.js +3 -9
  280. package/modules/es.typed-array.find-index.js +1 -1
  281. package/modules/es.typed-array.find.js +1 -1
  282. package/modules/es.typed-array.float32-array.js +1 -1
  283. package/modules/es.typed-array.float64-array.js +1 -1
  284. package/modules/es.typed-array.for-each.js +1 -1
  285. package/modules/es.typed-array.from.js +1 -1
  286. package/modules/es.typed-array.includes.js +1 -1
  287. package/modules/es.typed-array.index-of.js +1 -1
  288. package/modules/es.typed-array.int16-array.js +1 -1
  289. package/modules/es.typed-array.int32-array.js +1 -1
  290. package/modules/es.typed-array.int8-array.js +1 -1
  291. package/modules/es.typed-array.iterator.js +4 -4
  292. package/modules/es.typed-array.join.js +2 -2
  293. package/modules/es.typed-array.last-index-of.js +2 -2
  294. package/modules/es.typed-array.map.js +1 -1
  295. package/modules/es.typed-array.of.js +1 -1
  296. package/modules/es.typed-array.reduce-right.js +1 -1
  297. package/modules/es.typed-array.reduce.js +1 -1
  298. package/modules/es.typed-array.reverse.js +1 -1
  299. package/modules/es.typed-array.set.js +2 -2
  300. package/modules/es.typed-array.slice.js +2 -2
  301. package/modules/es.typed-array.some.js +1 -1
  302. package/modules/es.typed-array.sort.js +1 -1
  303. package/modules/es.typed-array.subarray.js +1 -1
  304. package/modules/es.typed-array.to-locale-string.js +1 -1
  305. package/modules/es.typed-array.to-string.js +1 -1
  306. package/modules/es.typed-array.uint16-array.js +1 -1
  307. package/modules/es.typed-array.uint32-array.js +1 -1
  308. package/modules/es.typed-array.uint8-array.js +1 -1
  309. package/modules/es.typed-array.uint8-clamped-array.js +1 -1
  310. package/modules/es.weak-map.js +1 -1
  311. package/modules/es.weak-set.js +1 -1
  312. package/modules/esnext.array.find-last-index.js +14 -0
  313. package/modules/esnext.array.find-last.js +14 -0
  314. package/modules/esnext.array.unique-by.js +2 -28
  315. package/modules/esnext.bigint.range.js +3 -3
  316. package/modules/esnext.map.merge.js +1 -1
  317. package/modules/esnext.number.range.js +2 -2
  318. package/modules/esnext.typed-array.filter-out.js +2 -8
  319. package/modules/esnext.typed-array.find-last-index.js +12 -0
  320. package/modules/esnext.typed-array.find-last.js +12 -0
  321. package/modules/esnext.typed-array.unique-by.js +13 -0
  322. package/modules/web.timers.js +1 -1
  323. package/modules/web.url.js +9 -11
  324. package/package.json +5 -3
  325. package/postinstall.js +2 -2
  326. package/proposals/array-find-from-last.js +5 -0
  327. package/proposals/array-unique.js +1 -0
  328. package/stable/instance/entries.js +1 -1
  329. package/stable/instance/for-each.js +1 -1
  330. package/stable/instance/keys.js +1 -1
  331. package/stable/instance/values.js +1 -1
  332. package/stage/1.js +1 -0
  333. package/internals/array-method-uses-to-length.js +0 -27
@@ -6,7 +6,7 @@ var aTypedArray = ArrayBufferViewCore.aTypedArray;
6
6
  var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
7
7
 
8
8
  // `%TypedArray%.prototype.copyWithin` method
9
- // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.copywithin
9
+ // https://tc39.es/ecma262/#sec-%typedarray%.prototype.copywithin
10
10
  exportTypedArrayMethod('copyWithin', function copyWithin(target, start /* , end */) {
11
11
  return $copyWithin.call(aTypedArray(this), target, start, arguments.length > 2 ? arguments[2] : undefined);
12
12
  });
@@ -6,7 +6,7 @@ var aTypedArray = ArrayBufferViewCore.aTypedArray;
6
6
  var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
7
7
 
8
8
  // `%TypedArray%.prototype.every` method
9
- // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.every
9
+ // https://tc39.es/ecma262/#sec-%typedarray%.prototype.every
10
10
  exportTypedArrayMethod('every', function every(callbackfn /* , thisArg */) {
11
11
  return $every(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
12
12
  });
@@ -6,8 +6,8 @@ var aTypedArray = ArrayBufferViewCore.aTypedArray;
6
6
  var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
7
7
 
8
8
  // `%TypedArray%.prototype.fill` method
9
- // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.fill
10
- // eslint-disable-next-line no-unused-vars
9
+ // https://tc39.es/ecma262/#sec-%typedarray%.prototype.fill
10
+ // eslint-disable-next-line no-unused-vars -- required for `.length`
11
11
  exportTypedArrayMethod('fill', function fill(value /* , start, end */) {
12
12
  return $fill.apply(aTypedArray(this), arguments);
13
13
  });
@@ -1,20 +1,14 @@
1
1
  'use strict';
2
2
  var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
3
3
  var $filter = require('../internals/array-iteration').filter;
4
- var speciesConstructor = require('../internals/species-constructor');
4
+ var fromSpeciesAndList = require('../internals/typed-array-from-species-and-list');
5
5
 
6
6
  var aTypedArray = ArrayBufferViewCore.aTypedArray;
7
- var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;
8
7
  var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
9
8
 
10
9
  // `%TypedArray%.prototype.filter` method
11
- // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.filter
10
+ // https://tc39.es/ecma262/#sec-%typedarray%.prototype.filter
12
11
  exportTypedArrayMethod('filter', function filter(callbackfn /* , thisArg */) {
13
12
  var list = $filter(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
14
- var C = speciesConstructor(this, this.constructor);
15
- var index = 0;
16
- var length = list.length;
17
- var result = new (aTypedArrayConstructor(C))(length);
18
- while (length > index) result[index] = list[index++];
19
- return result;
13
+ return fromSpeciesAndList(this, list);
20
14
  });
@@ -6,7 +6,7 @@ var aTypedArray = ArrayBufferViewCore.aTypedArray;
6
6
  var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
7
7
 
8
8
  // `%TypedArray%.prototype.findIndex` method
9
- // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.findindex
9
+ // https://tc39.es/ecma262/#sec-%typedarray%.prototype.findindex
10
10
  exportTypedArrayMethod('findIndex', function findIndex(predicate /* , thisArg */) {
11
11
  return $findIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);
12
12
  });
@@ -6,7 +6,7 @@ var aTypedArray = ArrayBufferViewCore.aTypedArray;
6
6
  var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
7
7
 
8
8
  // `%TypedArray%.prototype.find` method
9
- // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.find
9
+ // https://tc39.es/ecma262/#sec-%typedarray%.prototype.find
10
10
  exportTypedArrayMethod('find', function find(predicate /* , thisArg */) {
11
11
  return $find(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);
12
12
  });
@@ -1,7 +1,7 @@
1
1
  var createTypedArrayConstructor = require('../internals/typed-array-constructor');
2
2
 
3
3
  // `Float32Array` constructor
4
- // https://tc39.github.io/ecma262/#sec-typedarray-objects
4
+ // https://tc39.es/ecma262/#sec-typedarray-objects
5
5
  createTypedArrayConstructor('Float32', function (init) {
6
6
  return function Float32Array(data, byteOffset, length) {
7
7
  return init(this, data, byteOffset, length);
@@ -1,7 +1,7 @@
1
1
  var createTypedArrayConstructor = require('../internals/typed-array-constructor');
2
2
 
3
3
  // `Float64Array` constructor
4
- // https://tc39.github.io/ecma262/#sec-typedarray-objects
4
+ // https://tc39.es/ecma262/#sec-typedarray-objects
5
5
  createTypedArrayConstructor('Float64', function (init) {
6
6
  return function Float64Array(data, byteOffset, length) {
7
7
  return init(this, data, byteOffset, length);
@@ -6,7 +6,7 @@ var aTypedArray = ArrayBufferViewCore.aTypedArray;
6
6
  var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
7
7
 
8
8
  // `%TypedArray%.prototype.forEach` method
9
- // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.foreach
9
+ // https://tc39.es/ecma262/#sec-%typedarray%.prototype.foreach
10
10
  exportTypedArrayMethod('forEach', function forEach(callbackfn /* , thisArg */) {
11
11
  $forEach(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
12
12
  });
@@ -4,5 +4,5 @@ var exportTypedArrayStaticMethod = require('../internals/array-buffer-view-core'
4
4
  var typedArrayFrom = require('../internals/typed-array-from');
5
5
 
6
6
  // `%TypedArray%.from` method
7
- // https://tc39.github.io/ecma262/#sec-%typedarray%.from
7
+ // https://tc39.es/ecma262/#sec-%typedarray%.from
8
8
  exportTypedArrayStaticMethod('from', typedArrayFrom, TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS);
@@ -6,7 +6,7 @@ var aTypedArray = ArrayBufferViewCore.aTypedArray;
6
6
  var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
7
7
 
8
8
  // `%TypedArray%.prototype.includes` method
9
- // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.includes
9
+ // https://tc39.es/ecma262/#sec-%typedarray%.prototype.includes
10
10
  exportTypedArrayMethod('includes', function includes(searchElement /* , fromIndex */) {
11
11
  return $includes(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);
12
12
  });
@@ -6,7 +6,7 @@ var aTypedArray = ArrayBufferViewCore.aTypedArray;
6
6
  var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
7
7
 
8
8
  // `%TypedArray%.prototype.indexOf` method
9
- // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.indexof
9
+ // https://tc39.es/ecma262/#sec-%typedarray%.prototype.indexof
10
10
  exportTypedArrayMethod('indexOf', function indexOf(searchElement /* , fromIndex */) {
11
11
  return $indexOf(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);
12
12
  });
@@ -1,7 +1,7 @@
1
1
  var createTypedArrayConstructor = require('../internals/typed-array-constructor');
2
2
 
3
3
  // `Int16Array` constructor
4
- // https://tc39.github.io/ecma262/#sec-typedarray-objects
4
+ // https://tc39.es/ecma262/#sec-typedarray-objects
5
5
  createTypedArrayConstructor('Int16', function (init) {
6
6
  return function Int16Array(data, byteOffset, length) {
7
7
  return init(this, data, byteOffset, length);
@@ -1,7 +1,7 @@
1
1
  var createTypedArrayConstructor = require('../internals/typed-array-constructor');
2
2
 
3
3
  // `Int32Array` constructor
4
- // https://tc39.github.io/ecma262/#sec-typedarray-objects
4
+ // https://tc39.es/ecma262/#sec-typedarray-objects
5
5
  createTypedArrayConstructor('Int32', function (init) {
6
6
  return function Int32Array(data, byteOffset, length) {
7
7
  return init(this, data, byteOffset, length);
@@ -1,7 +1,7 @@
1
1
  var createTypedArrayConstructor = require('../internals/typed-array-constructor');
2
2
 
3
3
  // `Int8Array` constructor
4
- // https://tc39.github.io/ecma262/#sec-typedarray-objects
4
+ // https://tc39.es/ecma262/#sec-typedarray-objects
5
5
  createTypedArrayConstructor('Int8', function (init) {
6
6
  return function Int8Array(data, byteOffset, length) {
7
7
  return init(this, data, byteOffset, length);
@@ -21,18 +21,18 @@ var typedArrayValues = function values() {
21
21
  };
22
22
 
23
23
  // `%TypedArray%.prototype.entries` method
24
- // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.entries
24
+ // https://tc39.es/ecma262/#sec-%typedarray%.prototype.entries
25
25
  exportTypedArrayMethod('entries', function entries() {
26
26
  return arrayEntries.call(aTypedArray(this));
27
27
  });
28
28
  // `%TypedArray%.prototype.keys` method
29
- // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.keys
29
+ // https://tc39.es/ecma262/#sec-%typedarray%.prototype.keys
30
30
  exportTypedArrayMethod('keys', function keys() {
31
31
  return arrayKeys.call(aTypedArray(this));
32
32
  });
33
33
  // `%TypedArray%.prototype.values` method
34
- // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.values
34
+ // https://tc39.es/ecma262/#sec-%typedarray%.prototype.values
35
35
  exportTypedArrayMethod('values', typedArrayValues, !CORRECT_ITER_NAME);
36
36
  // `%TypedArray%.prototype[@@iterator]` method
37
- // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype-@@iterator
37
+ // https://tc39.es/ecma262/#sec-%typedarray%.prototype-@@iterator
38
38
  exportTypedArrayMethod(ITERATOR, typedArrayValues, !CORRECT_ITER_NAME);
@@ -6,8 +6,8 @@ var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
6
6
  var $join = [].join;
7
7
 
8
8
  // `%TypedArray%.prototype.join` method
9
- // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.join
10
- // eslint-disable-next-line no-unused-vars
9
+ // https://tc39.es/ecma262/#sec-%typedarray%.prototype.join
10
+ // eslint-disable-next-line no-unused-vars -- required for `.length`
11
11
  exportTypedArrayMethod('join', function join(separator) {
12
12
  return $join.apply(aTypedArray(this), arguments);
13
13
  });
@@ -6,8 +6,8 @@ var aTypedArray = ArrayBufferViewCore.aTypedArray;
6
6
  var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
7
7
 
8
8
  // `%TypedArray%.prototype.lastIndexOf` method
9
- // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.lastindexof
10
- // eslint-disable-next-line no-unused-vars
9
+ // https://tc39.es/ecma262/#sec-%typedarray%.prototype.lastindexof
10
+ // eslint-disable-next-line no-unused-vars -- required for `.length`
11
11
  exportTypedArrayMethod('lastIndexOf', function lastIndexOf(searchElement /* , fromIndex */) {
12
12
  return $lastIndexOf.apply(aTypedArray(this), arguments);
13
13
  });
@@ -8,7 +8,7 @@ var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;
8
8
  var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
9
9
 
10
10
  // `%TypedArray%.prototype.map` method
11
- // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.map
11
+ // https://tc39.es/ecma262/#sec-%typedarray%.prototype.map
12
12
  exportTypedArrayMethod('map', function map(mapfn /* , thisArg */) {
13
13
  return $map(aTypedArray(this), mapfn, arguments.length > 1 ? arguments[1] : undefined, function (O, length) {
14
14
  return new (aTypedArrayConstructor(speciesConstructor(O, O.constructor)))(length);
@@ -6,7 +6,7 @@ var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;
6
6
  var exportTypedArrayStaticMethod = ArrayBufferViewCore.exportTypedArrayStaticMethod;
7
7
 
8
8
  // `%TypedArray%.of` method
9
- // https://tc39.github.io/ecma262/#sec-%typedarray%.of
9
+ // https://tc39.es/ecma262/#sec-%typedarray%.of
10
10
  exportTypedArrayStaticMethod('of', function of(/* ...items */) {
11
11
  var index = 0;
12
12
  var length = arguments.length;
@@ -6,7 +6,7 @@ var aTypedArray = ArrayBufferViewCore.aTypedArray;
6
6
  var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
7
7
 
8
8
  // `%TypedArray%.prototype.reduceRicht` method
9
- // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.reduceright
9
+ // https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduceright
10
10
  exportTypedArrayMethod('reduceRight', function reduceRight(callbackfn /* , initialValue */) {
11
11
  return $reduceRight(aTypedArray(this), callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);
12
12
  });
@@ -6,7 +6,7 @@ var aTypedArray = ArrayBufferViewCore.aTypedArray;
6
6
  var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
7
7
 
8
8
  // `%TypedArray%.prototype.reduce` method
9
- // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.reduce
9
+ // https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduce
10
10
  exportTypedArrayMethod('reduce', function reduce(callbackfn /* , initialValue */) {
11
11
  return $reduce(aTypedArray(this), callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);
12
12
  });
@@ -6,7 +6,7 @@ var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
6
6
  var floor = Math.floor;
7
7
 
8
8
  // `%TypedArray%.prototype.reverse` method
9
- // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.reverse
9
+ // https://tc39.es/ecma262/#sec-%typedarray%.prototype.reverse
10
10
  exportTypedArrayMethod('reverse', function reverse() {
11
11
  var that = this;
12
12
  var length = aTypedArray(that).length;
@@ -9,12 +9,12 @@ var aTypedArray = ArrayBufferViewCore.aTypedArray;
9
9
  var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
10
10
 
11
11
  var FORCED = fails(function () {
12
- // eslint-disable-next-line no-undef
12
+ /* global Int8Array -- safe */
13
13
  new Int8Array(1).set({});
14
14
  });
15
15
 
16
16
  // `%TypedArray%.prototype.set` method
17
- // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.set
17
+ // https://tc39.es/ecma262/#sec-%typedarray%.prototype.set
18
18
  exportTypedArrayMethod('set', function set(arrayLike /* , offset */) {
19
19
  aTypedArray(this);
20
20
  var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1);
@@ -9,12 +9,12 @@ var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
9
9
  var $slice = [].slice;
10
10
 
11
11
  var FORCED = fails(function () {
12
- // eslint-disable-next-line no-undef
12
+ /* global Int8Array -- safe */
13
13
  new Int8Array(1).slice();
14
14
  });
15
15
 
16
16
  // `%TypedArray%.prototype.slice` method
17
- // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.slice
17
+ // https://tc39.es/ecma262/#sec-%typedarray%.prototype.slice
18
18
  exportTypedArrayMethod('slice', function slice(start, end) {
19
19
  var list = $slice.call(aTypedArray(this), start, end);
20
20
  var C = speciesConstructor(this, this.constructor);
@@ -6,7 +6,7 @@ var aTypedArray = ArrayBufferViewCore.aTypedArray;
6
6
  var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
7
7
 
8
8
  // `%TypedArray%.prototype.some` method
9
- // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.some
9
+ // https://tc39.es/ecma262/#sec-%typedarray%.prototype.some
10
10
  exportTypedArrayMethod('some', function some(callbackfn /* , thisArg */) {
11
11
  return $some(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
12
12
  });
@@ -6,7 +6,7 @@ var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
6
6
  var $sort = [].sort;
7
7
 
8
8
  // `%TypedArray%.prototype.sort` method
9
- // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.sort
9
+ // https://tc39.es/ecma262/#sec-%typedarray%.prototype.sort
10
10
  exportTypedArrayMethod('sort', function sort(comparefn) {
11
11
  return $sort.call(aTypedArray(this), comparefn);
12
12
  });
@@ -8,7 +8,7 @@ var aTypedArray = ArrayBufferViewCore.aTypedArray;
8
8
  var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
9
9
 
10
10
  // `%TypedArray%.prototype.subarray` method
11
- // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.subarray
11
+ // https://tc39.es/ecma262/#sec-%typedarray%.prototype.subarray
12
12
  exportTypedArrayMethod('subarray', function subarray(begin, end) {
13
13
  var O = aTypedArray(this);
14
14
  var length = O.length;
@@ -21,7 +21,7 @@ var FORCED = fails(function () {
21
21
  });
22
22
 
23
23
  // `%TypedArray%.prototype.toLocaleString` method
24
- // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.tolocalestring
24
+ // https://tc39.es/ecma262/#sec-%typedarray%.prototype.tolocalestring
25
25
  exportTypedArrayMethod('toLocaleString', function toLocaleString() {
26
26
  return $toLocaleString.apply(TO_LOCALE_STRING_BUG ? $slice.call(aTypedArray(this)) : aTypedArray(this), arguments);
27
27
  }, FORCED);
@@ -17,5 +17,5 @@ if (fails(function () { arrayToString.call({}); })) {
17
17
  var IS_NOT_ARRAY_METHOD = Uint8ArrayPrototype.toString != arrayToString;
18
18
 
19
19
  // `%TypedArray%.prototype.toString` method
20
- // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.tostring
20
+ // https://tc39.es/ecma262/#sec-%typedarray%.prototype.tostring
21
21
  exportTypedArrayMethod('toString', arrayToString, IS_NOT_ARRAY_METHOD);
@@ -1,7 +1,7 @@
1
1
  var createTypedArrayConstructor = require('../internals/typed-array-constructor');
2
2
 
3
3
  // `Uint16Array` constructor
4
- // https://tc39.github.io/ecma262/#sec-typedarray-objects
4
+ // https://tc39.es/ecma262/#sec-typedarray-objects
5
5
  createTypedArrayConstructor('Uint16', function (init) {
6
6
  return function Uint16Array(data, byteOffset, length) {
7
7
  return init(this, data, byteOffset, length);
@@ -1,7 +1,7 @@
1
1
  var createTypedArrayConstructor = require('../internals/typed-array-constructor');
2
2
 
3
3
  // `Uint32Array` constructor
4
- // https://tc39.github.io/ecma262/#sec-typedarray-objects
4
+ // https://tc39.es/ecma262/#sec-typedarray-objects
5
5
  createTypedArrayConstructor('Uint32', function (init) {
6
6
  return function Uint32Array(data, byteOffset, length) {
7
7
  return init(this, data, byteOffset, length);
@@ -1,7 +1,7 @@
1
1
  var createTypedArrayConstructor = require('../internals/typed-array-constructor');
2
2
 
3
3
  // `Uint8Array` constructor
4
- // https://tc39.github.io/ecma262/#sec-typedarray-objects
4
+ // https://tc39.es/ecma262/#sec-typedarray-objects
5
5
  createTypedArrayConstructor('Uint8', function (init) {
6
6
  return function Uint8Array(data, byteOffset, length) {
7
7
  return init(this, data, byteOffset, length);
@@ -1,7 +1,7 @@
1
1
  var createTypedArrayConstructor = require('../internals/typed-array-constructor');
2
2
 
3
3
  // `Uint8ClampedArray` constructor
4
- // https://tc39.github.io/ecma262/#sec-typedarray-objects
4
+ // https://tc39.es/ecma262/#sec-typedarray-objects
5
5
  createTypedArrayConstructor('Uint8', function (init) {
6
6
  return function Uint8ClampedArray(data, byteOffset, length) {
7
7
  return init(this, data, byteOffset, length);
@@ -19,7 +19,7 @@ var wrapper = function (init) {
19
19
  };
20
20
 
21
21
  // `WeakMap` constructor
22
- // https://tc39.github.io/ecma262/#sec-weakmap-constructor
22
+ // https://tc39.es/ecma262/#sec-weakmap-constructor
23
23
  var $WeakMap = module.exports = collection('WeakMap', wrapper, collectionWeak);
24
24
 
25
25
  // IE11 WeakMap frozen keys fix
@@ -3,7 +3,7 @@ var collection = require('../internals/collection');
3
3
  var collectionWeak = require('../internals/collection-weak');
4
4
 
5
5
  // `WeakSet` constructor
6
- // https://tc39.github.io/ecma262/#sec-weakset-constructor
6
+ // https://tc39.es/ecma262/#sec-weakset-constructor
7
7
  collection('WeakSet', function (init) {
8
8
  return function WeakSet() { return init(this, arguments.length ? arguments[0] : undefined); };
9
9
  }, collectionWeak);
@@ -0,0 +1,14 @@
1
+ 'use strict';
2
+ var $ = require('../internals/export');
3
+ var $findLastIndex = require('../internals/array-iteration-from-last').findLastIndex;
4
+ var addToUnscopables = require('../internals/add-to-unscopables');
5
+
6
+ // `Array.prototype.findLastIndex` method
7
+ // https://github.com/tc39/proposal-array-find-from-last
8
+ $({ target: 'Array', proto: true }, {
9
+ findLastIndex: function findLastIndex(callbackfn /* , that = undefined */) {
10
+ return $findLastIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
11
+ }
12
+ });
13
+
14
+ addToUnscopables('findLastIndex');
@@ -0,0 +1,14 @@
1
+ 'use strict';
2
+ var $ = require('../internals/export');
3
+ var $findLast = require('../internals/array-iteration-from-last').findLast;
4
+ var addToUnscopables = require('../internals/add-to-unscopables');
5
+
6
+ // `Array.prototype.findLast` method
7
+ // https://github.com/tc39/proposal-array-find-from-last
8
+ $({ target: 'Array', proto: true }, {
9
+ findLast: function findLast(callbackfn /* , that = undefined */) {
10
+ return $findLast(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
11
+ }
12
+ });
13
+
14
+ addToUnscopables('findLast');
@@ -1,38 +1,12 @@
1
1
  'use strict';
2
2
  var $ = require('../internals/export');
3
- var toLength = require('../internals/to-length');
4
- var toObject = require('../internals/to-object');
5
- var getBuiltIn = require('../internals/get-built-in');
6
- var arraySpeciesCreate = require('../internals/array-species-create');
7
3
  var addToUnscopables = require('../internals/add-to-unscopables');
8
-
9
- var push = [].push;
4
+ var uniqueBy = require('../internals/array-unique-by');
10
5
 
11
6
  // `Array.prototype.uniqueBy` method
12
7
  // https://github.com/tc39/proposal-array-unique
13
8
  $({ target: 'Array', proto: true }, {
14
- uniqueBy: function uniqueBy(resolver) {
15
- var that = toObject(this);
16
- var length = toLength(that.length);
17
- var result = arraySpeciesCreate(that, 0);
18
- var Map = getBuiltIn('Map');
19
- var map = new Map();
20
- var resolverFunction, index, item, key;
21
- if (typeof resolver == 'function') resolverFunction = resolver;
22
- else if (resolver == null) resolverFunction = function (value) {
23
- return value;
24
- };
25
- else throw new TypeError('Incorrect resolver!');
26
- for (index = 0; index < length; index++) {
27
- item = that[index];
28
- key = resolverFunction(item);
29
- if (!map.has(key)) map.set(key, item);
30
- }
31
- map.forEach(function (value) {
32
- push.call(result, value);
33
- });
34
- return result;
35
- }
9
+ uniqueBy: uniqueBy
36
10
  });
37
11
 
38
12
  addToUnscopables('uniqueBy');
@@ -1,14 +1,14 @@
1
1
  'use strict';
2
2
  var $ = require('../internals/export');
3
- var RangeIterator = require('../internals/range-iterator');
3
+ var NumericRangeIterator = require('../internals/numeric-range-iterator');
4
4
 
5
5
  // `BigInt.range` method
6
6
  // https://github.com/tc39/proposal-Number.range
7
7
  if (typeof BigInt == 'function') {
8
8
  $({ target: 'BigInt', stat: true }, {
9
9
  range: function range(start, end, option) {
10
- // eslint-disable-next-line no-undef
11
- return new RangeIterator(start, end, option, 'bigint', BigInt(0), BigInt(1));
10
+ /* global BigInt -- safe */
11
+ return new NumericRangeIterator(start, end, option, 'bigint', BigInt(0), BigInt(1));
12
12
  }
13
13
  });
14
14
  }
@@ -8,7 +8,7 @@ var iterate = require('../internals/iterate');
8
8
  // `Map.prototype.merge` method
9
9
  // https://github.com/tc39/proposal-collection-methods
10
10
  $({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {
11
- // eslint-disable-next-line no-unused-vars
11
+ // eslint-disable-next-line no-unused-vars -- required for `.length`
12
12
  merge: function merge(iterable /* ...iterbles */) {
13
13
  var map = anObject(this);
14
14
  var setter = aFunction(map.set);
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
  var $ = require('../internals/export');
3
- var RangeIterator = require('../internals/range-iterator');
3
+ var NumericRangeIterator = require('../internals/numeric-range-iterator');
4
4
 
5
5
  // `Number.range` method
6
6
  // https://github.com/tc39/proposal-Number.range
7
7
  $({ target: 'Number', stat: true }, {
8
8
  range: function range(start, end, option) {
9
- return new RangeIterator(start, end, option, 'number', 0, 1);
9
+ return new NumericRangeIterator(start, end, option, 'number', 0, 1);
10
10
  }
11
11
  });
@@ -1,20 +1,14 @@
1
1
  'use strict';
2
2
  var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
3
3
  var $filterOut = require('../internals/array-iteration').filterOut;
4
- var speciesConstructor = require('../internals/species-constructor');
4
+ var fromSpeciesAndList = require('../internals/typed-array-from-species-and-list');
5
5
 
6
6
  var aTypedArray = ArrayBufferViewCore.aTypedArray;
7
- var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;
8
7
  var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
9
8
 
10
9
  // `%TypedArray%.prototype.filterOut` method
11
10
  // https://github.com/tc39/proposal-array-filtering
12
11
  exportTypedArrayMethod('filterOut', function filterOut(callbackfn /* , thisArg */) {
13
12
  var list = $filterOut(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
14
- var C = speciesConstructor(this, this.constructor);
15
- var index = 0;
16
- var length = list.length;
17
- var result = new (aTypedArrayConstructor(C))(length);
18
- while (length > index) result[index] = list[index++];
19
- return result;
13
+ return fromSpeciesAndList(this, list);
20
14
  });
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+ var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
3
+ var $findLastIndex = require('../internals/array-iteration-from-last').findLastIndex;
4
+
5
+ var aTypedArray = ArrayBufferViewCore.aTypedArray;
6
+ var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
7
+
8
+ // `%TypedArray%.prototype.findLastIndex` method
9
+ // https://github.com/tc39/proposal-array-find-from-last
10
+ exportTypedArrayMethod('findLastIndex', function findLastIndex(predicate /* , thisArg */) {
11
+ return $findLastIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);
12
+ });
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+ var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
3
+ var $findLast = require('../internals/array-iteration-from-last').findLast;
4
+
5
+ var aTypedArray = ArrayBufferViewCore.aTypedArray;
6
+ var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
7
+
8
+ // `%TypedArray%.prototype.findLast` method
9
+ // https://github.com/tc39/proposal-array-find-from-last
10
+ exportTypedArrayMethod('findLast', function findLast(predicate /* , thisArg */) {
11
+ return $findLast(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);
12
+ });
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+ var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
3
+ var arrayUniqueBy = require('../internals/array-unique-by');
4
+ var fromSpeciesAndList = require('../internals/typed-array-from-species-and-list');
5
+
6
+ var aTypedArray = ArrayBufferViewCore.aTypedArray;
7
+ var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
8
+
9
+ // `%TypedArray%.prototype.uniqueBy` method
10
+ // https://github.com/tc39/proposal-array-unique
11
+ exportTypedArrayMethod('uniqueBy', function uniqueBy(resolver) {
12
+ return fromSpeciesAndList(this, arrayUniqueBy.call(aTypedArray(this), resolver));
13
+ });
@@ -10,7 +10,7 @@ var wrap = function (scheduler) {
10
10
  var boundArgs = arguments.length > 2;
11
11
  var args = boundArgs ? slice.call(arguments, 2) : undefined;
12
12
  return scheduler(boundArgs ? function () {
13
- // eslint-disable-next-line no-new-func
13
+ // eslint-disable-next-line no-new-func -- spec requirement
14
14
  (typeof handler == 'function' ? handler : Function(handler)).apply(this, args);
15
15
  } : handler, timeout);
16
16
  };