core-js 3.1.3 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (307) hide show
  1. package/README.md +1 -1
  2. package/configurator.js +7 -0
  3. package/es/global-this.js +3 -0
  4. package/es/index.js +2 -0
  5. package/es/promise/all-settled.js +11 -0
  6. package/es/promise/index.js +1 -0
  7. package/features/array/index.js +1 -0
  8. package/features/array/is-template-object.js +4 -0
  9. package/features/async-iterator/as-indexed-pairs.js +10 -0
  10. package/features/async-iterator/drop.js +10 -0
  11. package/features/async-iterator/every.js +10 -0
  12. package/features/async-iterator/filter.js +10 -0
  13. package/features/async-iterator/find.js +10 -0
  14. package/features/async-iterator/flat-map.js +10 -0
  15. package/features/async-iterator/for-each.js +10 -0
  16. package/features/async-iterator/from.js +10 -0
  17. package/features/async-iterator/index.js +22 -0
  18. package/features/async-iterator/map.js +10 -0
  19. package/features/async-iterator/reduce.js +10 -0
  20. package/features/async-iterator/some.js +10 -0
  21. package/features/async-iterator/take.js +10 -0
  22. package/features/async-iterator/to-array.js +10 -0
  23. package/features/global-this.js +1 -3
  24. package/features/iterator/as-indexed-pairs.js +10 -0
  25. package/features/iterator/drop.js +9 -0
  26. package/features/iterator/every.js +9 -0
  27. package/features/iterator/filter.js +9 -0
  28. package/features/iterator/find.js +9 -0
  29. package/features/iterator/flat-map.js +9 -0
  30. package/features/iterator/for-each.js +9 -0
  31. package/features/iterator/from.js +9 -0
  32. package/features/iterator/index.js +21 -0
  33. package/features/iterator/map.js +9 -0
  34. package/features/iterator/reduce.js +9 -0
  35. package/features/iterator/some.js +9 -0
  36. package/features/iterator/take.js +9 -0
  37. package/features/iterator/to-array.js +9 -0
  38. package/features/map/from.js +2 -0
  39. package/features/map/index.js +3 -0
  40. package/features/map/of.js +2 -0
  41. package/features/map/update-or-insert.js +6 -0
  42. package/features/map/upsert.js +5 -0
  43. package/features/promise/all-settled.js +2 -9
  44. package/features/promise/index.js +1 -0
  45. package/features/set/difference.js +2 -0
  46. package/features/set/from.js +2 -0
  47. package/features/set/is-subset-of.js +2 -0
  48. package/features/set/of.js +2 -0
  49. package/features/set/symmetric-difference.js +2 -0
  50. package/features/set/union.js +2 -0
  51. package/features/symbol/async-dispose.js +4 -0
  52. package/features/symbol/index.js +1 -0
  53. package/features/weak-map/from.js +2 -0
  54. package/features/weak-map/index.js +1 -0
  55. package/features/weak-map/of.js +2 -0
  56. package/features/weak-map/upsert.js +5 -0
  57. package/features/weak-set/from.js +2 -0
  58. package/features/weak-set/of.js +2 -0
  59. package/internals/a-possible-prototype.js +7 -0
  60. package/internals/add-to-unscopables.js +2 -2
  61. package/internals/advance-string-index.js +2 -2
  62. package/internals/array-buffer-view-core.js +5 -4
  63. package/internals/array-buffer.js +21 -16
  64. package/internals/array-copy-within.js +3 -1
  65. package/internals/array-for-each.js +3 -6
  66. package/internals/array-from.js +4 -3
  67. package/internals/array-includes.js +12 -7
  68. package/internals/{array-methods.js → array-iteration.js} +30 -18
  69. package/internals/array-last-index-of.js +3 -2
  70. package/internals/array-reduce.js +30 -21
  71. package/internals/async-iterator-iteration.js +61 -0
  72. package/internals/async-iterator-prototype.js +37 -0
  73. package/internals/collection-delete-all.js +3 -1
  74. package/internals/collection-from.js +3 -2
  75. package/internals/collection-weak.js +5 -5
  76. package/internals/collection.js +14 -14
  77. package/internals/composite-key.js +1 -0
  78. package/internals/create-async-iterator-proxy.js +61 -0
  79. package/internals/create-iterator-proxy.js +51 -0
  80. package/internals/{hide.js → create-non-enumerable-property.js} +0 -0
  81. package/internals/date-to-iso-string.js +12 -14
  82. package/internals/define-iterator.js +3 -3
  83. package/internals/document-create-element.js +2 -2
  84. package/internals/export.js +2 -2
  85. package/internals/fix-regexp-well-known-symbol-logic.js +2 -2
  86. package/internals/function-bind.js +3 -3
  87. package/internals/get-async-iterator-method.js +9 -0
  88. package/internals/global.js +4 -5
  89. package/internals/html.js +2 -4
  90. package/internals/indexed-object.js +1 -1
  91. package/internals/inherit-if-required.js +13 -6
  92. package/internals/internal-state.js +2 -2
  93. package/internals/iterate.js +21 -12
  94. package/internals/iterators-core.js +4 -2
  95. package/internals/map-upsert.js +23 -0
  96. package/internals/math-expm1.js +2 -1
  97. package/internals/math-fround.js +2 -1
  98. package/internals/math-log1p.js +3 -1
  99. package/internals/microtask.js +4 -3
  100. package/internals/native-promise-constructor.js +3 -0
  101. package/internals/native-url.js +13 -4
  102. package/internals/not-a-regexp.js +7 -0
  103. package/internals/object-assign.js +2 -1
  104. package/internals/object-create.js +2 -1
  105. package/internals/object-define-properties.js +4 -2
  106. package/internals/object-define-property.js +2 -0
  107. package/internals/object-get-own-property-descriptor.js +2 -0
  108. package/internals/object-get-own-property-names.js +2 -1
  109. package/internals/object-get-prototype-of.js +2 -1
  110. package/internals/object-keys-internal.js +2 -4
  111. package/internals/object-keys.js +2 -1
  112. package/internals/object-property-is-enumerable.js +2 -0
  113. package/internals/object-set-prototype-of.js +9 -5
  114. package/internals/object-to-array.js +25 -15
  115. package/internals/own-keys.js +2 -4
  116. package/internals/parse-float.js +7 -5
  117. package/internals/parse-int.js +6 -4
  118. package/internals/punycode-to-ascii.js +2 -4
  119. package/internals/redefine.js +3 -3
  120. package/internals/reflect-metadata.js +1 -0
  121. package/internals/regexp-flags.js +1 -0
  122. package/internals/set-global.js +2 -2
  123. package/internals/set-species.js +8 -5
  124. package/internals/shared-store.js +7 -0
  125. package/internals/shared.js +2 -6
  126. package/internals/string-multibyte.js +27 -0
  127. package/internals/string-pad.js +25 -11
  128. package/internals/string-trim.js +20 -8
  129. package/internals/task.js +3 -1
  130. package/internals/to-offset.js +3 -3
  131. package/internals/to-positive-integer.js +7 -0
  132. package/internals/to-primitive.js +7 -6
  133. package/internals/typed-array-constructor.js +15 -12
  134. package/internals/typed-array-from.js +3 -2
  135. package/internals/uid.js +1 -1
  136. package/internals/user-agent.js +2 -4
  137. package/modules/es.array.every.js +3 -6
  138. package/modules/es.array.fill.js +3 -1
  139. package/modules/es.array.filter.js +3 -6
  140. package/modules/es.array.find-index.js +2 -3
  141. package/modules/es.array.find.js +2 -3
  142. package/modules/es.array.flat-map.js +1 -1
  143. package/modules/es.array.flat.js +1 -1
  144. package/modules/es.array.includes.js +2 -4
  145. package/modules/es.array.index-of.js +2 -3
  146. package/modules/es.array.is-array.js +3 -1
  147. package/modules/es.array.map.js +3 -6
  148. package/modules/es.array.reduce-right.js +3 -4
  149. package/modules/es.array.reduce.js +3 -5
  150. package/modules/es.array.slice.js +1 -3
  151. package/modules/es.array.some.js +3 -6
  152. package/modules/es.array.splice.js +1 -3
  153. package/modules/es.date.to-primitive.js +4 -2
  154. package/modules/es.global-this.js +8 -0
  155. package/modules/es.map.js +1 -1
  156. package/modules/es.math.hypot.js +6 -1
  157. package/modules/es.number.constructor.js +9 -10
  158. package/modules/es.number.to-fixed.js +57 -53
  159. package/modules/es.object.entries.js +2 -2
  160. package/modules/es.object.get-own-property-descriptors.js +3 -3
  161. package/modules/es.object.get-prototype-of.js +1 -0
  162. package/modules/es.object.values.js +2 -2
  163. package/modules/es.promise.all-settled.js +43 -0
  164. package/modules/es.promise.finally.js +8 -0
  165. package/modules/es.promise.js +30 -14
  166. package/modules/es.reflect.apply.js +2 -2
  167. package/modules/es.reflect.construct.js +4 -4
  168. package/modules/es.reflect.define-property.js +5 -5
  169. package/modules/es.reflect.delete-property.js +1 -1
  170. package/modules/es.reflect.get-own-property-descriptor.js +2 -2
  171. package/modules/es.reflect.get-prototype-of.js +1 -1
  172. package/modules/es.reflect.get.js +3 -3
  173. package/modules/es.reflect.set-prototype-of.js +4 -2
  174. package/modules/es.reflect.set.js +3 -3
  175. package/modules/es.regexp.constructor.js +3 -3
  176. package/modules/es.regexp.to-string.js +1 -1
  177. package/modules/es.set.js +1 -1
  178. package/modules/es.string.code-point-at.js +2 -2
  179. package/modules/es.string.ends-with.js +6 -5
  180. package/modules/es.string.includes.js +4 -3
  181. package/modules/es.string.iterator.js +2 -2
  182. package/modules/es.string.match-all.js +22 -7
  183. package/modules/es.string.pad-end.js +2 -2
  184. package/modules/es.string.pad-start.js +2 -2
  185. package/modules/es.string.starts-with.js +8 -6
  186. package/modules/es.string.trim-end.js +2 -2
  187. package/modules/es.string.trim-start.js +2 -2
  188. package/modules/es.string.trim.js +3 -5
  189. package/modules/es.symbol.js +97 -87
  190. package/modules/es.typed-array.copy-within.js +2 -2
  191. package/modules/es.typed-array.every.js +2 -3
  192. package/modules/es.typed-array.fill.js +2 -2
  193. package/modules/es.typed-array.filter.js +3 -4
  194. package/modules/es.typed-array.find-index.js +2 -3
  195. package/modules/es.typed-array.find.js +2 -3
  196. package/modules/es.typed-array.for-each.js +2 -3
  197. package/modules/es.typed-array.includes.js +2 -3
  198. package/modules/es.typed-array.index-of.js +2 -3
  199. package/modules/es.typed-array.iterator.js +1 -1
  200. package/modules/es.typed-array.join.js +2 -2
  201. package/modules/es.typed-array.last-index-of.js +2 -2
  202. package/modules/es.typed-array.map.js +5 -7
  203. package/modules/es.typed-array.of.js +1 -1
  204. package/modules/es.typed-array.reduce-right.js +2 -2
  205. package/modules/es.typed-array.reduce.js +2 -2
  206. package/modules/es.typed-array.reverse.js +2 -1
  207. package/modules/es.typed-array.set.js +2 -2
  208. package/modules/es.typed-array.slice.js +3 -3
  209. package/modules/es.typed-array.some.js +2 -3
  210. package/modules/es.typed-array.sort.js +2 -2
  211. package/modules/es.typed-array.subarray.js +1 -1
  212. package/modules/es.typed-array.to-locale-string.js +7 -6
  213. package/modules/es.weak-map.js +1 -1
  214. package/modules/es.weak-set.js +1 -1
  215. package/modules/esnext.aggregate-error.js +28 -4
  216. package/modules/esnext.array.is-template-object.js +28 -0
  217. package/modules/esnext.async-iterator.as-indexed-pairs.js +27 -0
  218. package/modules/esnext.async-iterator.constructor.js +25 -0
  219. package/modules/esnext.async-iterator.drop.js +41 -0
  220. package/modules/esnext.async-iterator.every.js +10 -0
  221. package/modules/esnext.async-iterator.filter.js +42 -0
  222. package/modules/esnext.async-iterator.find.js +10 -0
  223. package/modules/esnext.async-iterator.flat-map.js +67 -0
  224. package/modules/esnext.async-iterator.for-each.js +10 -0
  225. package/modules/esnext.async-iterator.from.js +30 -0
  226. package/modules/esnext.async-iterator.map.js +30 -0
  227. package/modules/esnext.async-iterator.reduce.js +46 -0
  228. package/modules/esnext.async-iterator.some.js +10 -0
  229. package/modules/esnext.async-iterator.take.js +22 -0
  230. package/modules/esnext.async-iterator.to-array.js +10 -0
  231. package/modules/esnext.global-this.js +2 -6
  232. package/modules/esnext.iterator.as-indexed-pairs.js +20 -0
  233. package/modules/esnext.iterator.constructor.js +39 -0
  234. package/modules/esnext.iterator.drop.js +30 -0
  235. package/modules/esnext.iterator.every.js +16 -0
  236. package/modules/esnext.iterator.filter.js +30 -0
  237. package/modules/esnext.iterator.find.js +16 -0
  238. package/modules/esnext.iterator.flat-map.js +45 -0
  239. package/modules/esnext.iterator.for-each.js +11 -0
  240. package/modules/esnext.iterator.from.js +32 -0
  241. package/modules/esnext.iterator.map.js +23 -0
  242. package/modules/esnext.iterator.reduce.js +25 -0
  243. package/modules/esnext.iterator.some.js +16 -0
  244. package/modules/esnext.iterator.take.js +25 -0
  245. package/modules/esnext.iterator.to-array.js +15 -0
  246. package/modules/esnext.map.every.js +4 -5
  247. package/modules/esnext.map.filter.js +4 -5
  248. package/modules/esnext.map.find-key.js +4 -5
  249. package/modules/esnext.map.find.js +4 -5
  250. package/modules/esnext.map.includes.js +4 -7
  251. package/modules/esnext.map.key-of.js +4 -7
  252. package/modules/esnext.map.map-keys.js +4 -5
  253. package/modules/esnext.map.map-values.js +4 -5
  254. package/modules/esnext.map.reduce.js +12 -11
  255. package/modules/esnext.map.some.js +4 -5
  256. package/modules/esnext.map.update-or-insert.js +11 -0
  257. package/modules/esnext.map.update.js +3 -2
  258. package/modules/esnext.map.upsert.js +10 -0
  259. package/modules/esnext.math.signbit.js +0 -1
  260. package/modules/esnext.observable.js +26 -25
  261. package/modules/esnext.promise.all-settled.js +2 -43
  262. package/modules/esnext.reflect.get-metadata-keys.js +1 -0
  263. package/modules/esnext.set.every.js +4 -4
  264. package/modules/esnext.set.filter.js +4 -4
  265. package/modules/esnext.set.find.js +4 -4
  266. package/modules/esnext.set.is-disjoint-from.js +3 -5
  267. package/modules/esnext.set.is-subset-of.js +3 -5
  268. package/modules/esnext.set.is-superset-of.js +3 -5
  269. package/modules/esnext.set.join.js +2 -2
  270. package/modules/esnext.set.map.js +4 -4
  271. package/modules/esnext.set.reduce.js +12 -10
  272. package/modules/esnext.set.some.js +4 -4
  273. package/modules/esnext.string.at.js +2 -2
  274. package/modules/esnext.string.code-points.js +5 -3
  275. package/modules/esnext.string.match-all.js +0 -1
  276. package/modules/esnext.string.replace-all.js +16 -22
  277. package/modules/esnext.symbol.async-dispose.js +5 -0
  278. package/modules/esnext.symbol.dispose.js +1 -1
  279. package/modules/esnext.symbol.replace-all.js +1 -2
  280. package/modules/esnext.weak-map.upsert.js +10 -0
  281. package/modules/web.dom-collections.for-each.js +2 -2
  282. package/modules/web.dom-collections.iterator.js +6 -4
  283. package/modules/web.immediate.js +5 -0
  284. package/modules/web.timers.js +12 -7
  285. package/modules/web.url-search-params.js +52 -41
  286. package/modules/web.url.js +45 -43
  287. package/package.json +2 -2
  288. package/postinstall.js +49 -0
  289. package/proposals/array-is-template-object.js +1 -0
  290. package/proposals/iterator-helpers.js +20 -0
  291. package/proposals/map-update-or-insert.js +2 -0
  292. package/proposals/map-upsert.js +5 -0
  293. package/proposals/promise-all-settled.js +1 -0
  294. package/proposals/string-match-all.js +0 -2
  295. package/proposals/using-statement.js +1 -0
  296. package/stable/global-this.js +1 -3
  297. package/stable/promise/all-settled.js +1 -0
  298. package/stage/1.js +1 -3
  299. package/stage/2.js +4 -1
  300. package/stage/3.js +2 -2
  301. package/stage/4.js +2 -0
  302. package/LICENSE +0 -19
  303. package/internals/enum-keys.js +0 -16
  304. package/internals/string-at.js +0 -17
  305. package/internals/validate-set-prototype-of-arguments.js +0 -9
  306. package/internals/validate-string-method-arguments.js +0 -9
  307. package/scripts/postinstall.js +0 -23
@@ -1,57 +1,58 @@
1
1
  'use strict';
2
2
  var $ = require('../internals/export');
3
3
  var global = require('../internals/global');
4
- var has = require('../internals/has');
5
- var NATIVE_SYMBOL = require('../internals/native-symbol');
6
- var DESCRIPTORS = require('../internals/descriptors');
7
4
  var IS_PURE = require('../internals/is-pure');
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');
26
18
  var getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');
27
19
  var getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');
20
+ var getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');
28
21
  var getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');
29
22
  var definePropertyModule = require('../internals/object-define-property');
30
23
  var propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');
31
- var hide = require('../internals/hide');
32
- var objectKeys = require('../internals/object-keys');
33
- var getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');
24
+ var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
25
+ var redefine = require('../internals/redefine');
26
+ var shared = require('../internals/shared');
34
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');
35
34
  var InternalStateModule = require('../internals/internal-state');
35
+ var $forEach = require('../internals/array-iteration').forEach;
36
36
 
37
37
  var HIDDEN = sharedKey('hidden');
38
38
  var SYMBOL = 'Symbol';
39
+ var PROTOTYPE = 'prototype';
40
+ var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
39
41
  var setInternalState = InternalStateModule.set;
40
42
  var getInternalState = InternalStateModule.getterFor(SYMBOL);
41
- var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
42
- var nativeDefineProperty = definePropertyModule.f;
43
- var nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;
43
+ var ObjectPrototype = Object[PROTOTYPE];
44
44
  var $Symbol = global.Symbol;
45
45
  var JSON = global.JSON;
46
46
  var nativeJSONStringify = JSON && JSON.stringify;
47
- var PROTOTYPE = 'prototype';
48
- var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
47
+ var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
48
+ var nativeDefineProperty = definePropertyModule.f;
49
+ var nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;
49
50
  var nativePropertyIsEnumerable = propertyIsEnumerableModule.f;
50
- var SymbolRegistry = shared('symbol-registry');
51
51
  var AllSymbols = shared('symbols');
52
52
  var ObjectPrototypeSymbols = shared('op-symbols');
53
+ var StringToSymbolRegistry = shared('string-to-symbol-registry');
54
+ var SymbolToStringRegistry = shared('symbol-to-string-registry');
53
55
  var WellKnownSymbolsStore = shared('wks');
54
- var ObjectPrototype = Object[PROTOTYPE];
55
56
  var QObject = global.QObject;
56
57
  // Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173
57
58
  var USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;
@@ -61,12 +62,12 @@ var setSymbolDescriptor = DESCRIPTORS && fails(function () {
61
62
  return nativeObjectCreate(nativeDefineProperty({}, 'a', {
62
63
  get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }
63
64
  })).a != 7;
64
- }) ? function (it, key, D) {
65
- var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, key);
66
- if (ObjectPrototypeDescriptor) delete ObjectPrototype[key];
67
- nativeDefineProperty(it, key, D);
68
- if (ObjectPrototypeDescriptor && it !== ObjectPrototype) {
69
- 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);
70
71
  }
71
72
  } : nativeDefineProperty;
72
73
 
@@ -87,70 +88,73 @@ var isSymbol = NATIVE_SYMBOL && typeof $Symbol.iterator == 'symbol' ? function (
87
88
  return Object(it) instanceof $Symbol;
88
89
  };
89
90
 
90
- var $defineProperty = function defineProperty(it, key, D) {
91
- if (it === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, key, D);
92
- anObject(it);
93
- key = toPrimitive(key, true);
94
- 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);
95
96
  if (has(AllSymbols, key)) {
96
- if (!D.enumerable) {
97
- if (!has(it, HIDDEN)) nativeDefineProperty(it, HIDDEN, createPropertyDescriptor(1, {}));
98
- it[HIDDEN][key] = true;
97
+ if (!Attributes.enumerable) {
98
+ if (!has(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));
99
+ O[HIDDEN][key] = true;
99
100
  } else {
100
- if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;
101
- D = nativeObjectCreate(D, { enumerable: createPropertyDescriptor(0, false) });
102
- } return setSymbolDescriptor(it, key, D);
103
- } 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);
104
105
  };
105
106
 
106
- var $defineProperties = function defineProperties(it, P) {
107
- anObject(it);
108
- var keys = enumKeys(P = toIndexedObject(P));
109
- var i = 0;
110
- var l = keys.length;
111
- var key;
112
- while (l > i) $defineProperty(it, key = keys[i++], P[key]);
113
- 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;
114
115
  };
115
116
 
116
- var $create = function create(it, P) {
117
- 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);
118
119
  };
119
120
 
120
- var $propertyIsEnumerable = function propertyIsEnumerable(key) {
121
- var E = nativePropertyIsEnumerable.call(this, key = toPrimitive(key, true));
122
- if (this === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return false;
123
- 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;
124
126
  };
125
127
 
126
- var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {
127
- it = toIndexedObject(it);
128
- key = toPrimitive(key, true);
128
+ var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {
129
+ var it = toIndexedObject(O);
130
+ var key = toPrimitive(P, true);
129
131
  if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;
130
- var D = nativeGetOwnPropertyDescriptor(it, key);
131
- if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;
132
- 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;
133
137
  };
134
138
 
135
- var $getOwnPropertyNames = function getOwnPropertyNames(it) {
136
- var names = nativeGetOwnPropertyNames(toIndexedObject(it));
139
+ var $getOwnPropertyNames = function getOwnPropertyNames(O) {
140
+ var names = nativeGetOwnPropertyNames(toIndexedObject(O));
137
141
  var result = [];
138
- var i = 0;
139
- var key;
140
- while (names.length > i) {
141
- if (!has(AllSymbols, key = names[i++]) && !has(hiddenKeys, key)) result.push(key);
142
- } return result;
142
+ $forEach(names, function (key) {
143
+ if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);
144
+ });
145
+ return result;
143
146
  };
144
147
 
145
- var $getOwnPropertySymbols = function getOwnPropertySymbols(it) {
146
- var IS_OP = it === ObjectPrototype;
147
- 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));
148
151
  var result = [];
149
- var i = 0;
150
- var key;
151
- while (names.length > i) {
152
- if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectPrototype, key) : true)) result.push(AllSymbols[key]);
153
- } 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;
154
158
  };
155
159
 
156
160
  // `Symbol` constructor
@@ -158,7 +162,7 @@ var $getOwnPropertySymbols = function getOwnPropertySymbols(it) {
158
162
  if (!NATIVE_SYMBOL) {
159
163
  $Symbol = function Symbol() {
160
164
  if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');
161
- var description = arguments[0] === undefined ? undefined : String(arguments[0]);
165
+ var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);
162
166
  var tag = uid(description);
163
167
  var setter = function (value) {
164
168
  if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);
@@ -168,6 +172,7 @@ if (!NATIVE_SYMBOL) {
168
172
  if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });
169
173
  return wrap(tag, description);
170
174
  };
175
+
171
176
  redefine($Symbol[PROTOTYPE], 'toString', function toString() {
172
177
  return getInternalState(this).tag;
173
178
  });
@@ -200,23 +205,26 @@ $({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {
200
205
  Symbol: $Symbol
201
206
  });
202
207
 
203
- for (var wellKnownSymbols = objectKeys(WellKnownSymbolsStore), k = 0; wellKnownSymbols.length > k;) {
204
- defineWellKnownSymbol(wellKnownSymbols[k++]);
205
- }
208
+ $forEach(objectKeys(WellKnownSymbolsStore), function (name) {
209
+ defineWellKnownSymbol(name);
210
+ });
206
211
 
207
212
  $({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {
208
213
  // `Symbol.for` method
209
214
  // https://tc39.github.io/ecma262/#sec-symbol.for
210
215
  'for': function (key) {
211
- return has(SymbolRegistry, key += '')
212
- ? SymbolRegistry[key]
213
- : 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;
214
222
  },
215
223
  // `Symbol.keyFor` method
216
224
  // https://tc39.github.io/ecma262/#sec-symbol.keyfor
217
225
  keyFor: function keyFor(sym) {
218
226
  if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');
219
- for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;
227
+ if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];
220
228
  },
221
229
  useSetter: function () { USE_SETTER = true; },
222
230
  useSimple: function () { USE_SETTER = false; }
@@ -267,9 +275,9 @@ JSON && $({ target: 'JSON', stat: true, forced: !NATIVE_SYMBOL || fails(function
267
275
  }) }, {
268
276
  stringify: function stringify(it) {
269
277
  var args = [it];
270
- var i = 1;
278
+ var index = 1;
271
279
  var replacer, $replacer;
272
- while (arguments.length > i) args.push(arguments[i++]);
280
+ while (arguments.length > index) args.push(arguments[index++]);
273
281
  $replacer = replacer = args[1];
274
282
  if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined
275
283
  if (!isArray(replacer)) replacer = function (key, value) {
@@ -283,7 +291,9 @@ JSON && $({ target: 'JSON', stat: true, forced: !NATIVE_SYMBOL || fails(function
283
291
 
284
292
  // `Symbol.prototype[@@toPrimitive]` method
285
293
  // https://tc39.github.io/ecma262/#sec-symbol.prototype-@@toprimitive
286
- if (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) hide($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);
294
+ if (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {
295
+ createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);
296
+ }
287
297
  // `Symbol.prototype[@@toStringTag]` property
288
298
  // https://tc39.github.io/ecma262/#sec-symbol.prototype-@@tostringtag
289
299
  setToStringTag($Symbol, SYMBOL);
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
- var arrayCopyWithin = require('../internals/array-copy-within');
3
2
  var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
3
+ var $copyWithin = require('../internals/array-copy-within');
4
4
 
5
5
  var aTypedArray = ArrayBufferViewCore.aTypedArray;
6
6
 
7
7
  // `%TypedArray%.prototype.copyWithin` method
8
8
  // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.copywithin
9
9
  ArrayBufferViewCore.exportProto('copyWithin', function copyWithin(target, start /* , end */) {
10
- return arrayCopyWithin.call(aTypedArray(this), target, start, arguments.length > 2 ? arguments[2] : undefined);
10
+ return $copyWithin.call(aTypedArray(this), target, start, arguments.length > 2 ? arguments[2] : undefined);
11
11
  });
@@ -1,12 +1,11 @@
1
1
  'use strict';
2
- var arrayMethods = require('../internals/array-methods');
3
2
  var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
3
+ var $every = require('../internals/array-iteration').every;
4
4
 
5
- var arrayEvery = arrayMethods(4);
6
5
  var aTypedArray = ArrayBufferViewCore.aTypedArray;
7
6
 
8
7
  // `%TypedArray%.prototype.every` method
9
8
  // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.every
10
9
  ArrayBufferViewCore.exportProto('every', function every(callbackfn /* , thisArg */) {
11
- return arrayEvery(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
10
+ return $every(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
12
11
  });
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
3
- var arrayFill = require('../internals/array-fill');
3
+ var $fill = require('../internals/array-fill');
4
4
 
5
5
  var aTypedArray = ArrayBufferViewCore.aTypedArray;
6
6
 
@@ -8,5 +8,5 @@ var aTypedArray = ArrayBufferViewCore.aTypedArray;
8
8
  // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.fill
9
9
  // eslint-disable-next-line no-unused-vars
10
10
  ArrayBufferViewCore.exportProto('fill', function fill(value /* , start, end */) {
11
- return arrayFill.apply(aTypedArray(this), arguments);
11
+ return $fill.apply(aTypedArray(this), arguments);
12
12
  });
@@ -1,16 +1,15 @@
1
1
  'use strict';
2
- var speciesConstructor = require('../internals/species-constructor');
3
2
  var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
4
- var arrayMethods = require('../internals/array-methods');
3
+ var $filter = require('../internals/array-iteration').filter;
4
+ var speciesConstructor = require('../internals/species-constructor');
5
5
 
6
- var arrayFilter = arrayMethods(2);
7
6
  var aTypedArray = ArrayBufferViewCore.aTypedArray;
8
7
  var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;
9
8
 
10
9
  // `%TypedArray%.prototype.filter` method
11
10
  // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.filter
12
11
  ArrayBufferViewCore.exportProto('filter', function filter(callbackfn /* , thisArg */) {
13
- var list = arrayFilter(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
12
+ var list = $filter(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
14
13
  var C = speciesConstructor(this, this.constructor);
15
14
  var index = 0;
16
15
  var length = list.length;
@@ -1,12 +1,11 @@
1
1
  'use strict';
2
2
  var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
3
- var arrayMethods = require('../internals/array-methods');
3
+ var $findIndex = require('../internals/array-iteration').findIndex;
4
4
 
5
- var arrayFindIndex = arrayMethods(6);
6
5
  var aTypedArray = ArrayBufferViewCore.aTypedArray;
7
6
 
8
7
  // `%TypedArray%.prototype.findIndex` method
9
8
  // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.findindex
10
9
  ArrayBufferViewCore.exportProto('findIndex', function findIndex(predicate /* , thisArg */) {
11
- return arrayFindIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);
10
+ return $findIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);
12
11
  });
@@ -1,12 +1,11 @@
1
1
  'use strict';
2
2
  var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
3
- var arrayMethods = require('../internals/array-methods');
3
+ var $find = require('../internals/array-iteration').find;
4
4
 
5
- var arrayFind = arrayMethods(5);
6
5
  var aTypedArray = ArrayBufferViewCore.aTypedArray;
7
6
 
8
7
  // `%TypedArray%.prototype.find` method
9
8
  // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.find
10
9
  ArrayBufferViewCore.exportProto('find', function find(predicate /* , thisArg */) {
11
- return arrayFind(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);
10
+ return $find(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);
12
11
  });
@@ -1,12 +1,11 @@
1
1
  'use strict';
2
2
  var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
3
- var arrayMethods = require('../internals/array-methods');
3
+ var $forEach = require('../internals/array-iteration').forEach;
4
4
 
5
- var arrayForEach = arrayMethods(0);
6
5
  var aTypedArray = ArrayBufferViewCore.aTypedArray;
7
6
 
8
7
  // `%TypedArray%.prototype.forEach` method
9
8
  // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.foreach
10
9
  ArrayBufferViewCore.exportProto('forEach', function forEach(callbackfn /* , thisArg */) {
11
- arrayForEach(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
10
+ $forEach(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
12
11
  });
@@ -1,12 +1,11 @@
1
1
  'use strict';
2
- var createIncludes = require('../internals/array-includes');
3
2
  var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
3
+ var $includes = require('../internals/array-includes').includes;
4
4
 
5
5
  var aTypedArray = ArrayBufferViewCore.aTypedArray;
6
- var arrayIncludes = createIncludes(true);
7
6
 
8
7
  // `%TypedArray%.prototype.includes` method
9
8
  // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.includes
10
9
  ArrayBufferViewCore.exportProto('includes', function includes(searchElement /* , fromIndex */) {
11
- return arrayIncludes(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);
10
+ return $includes(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);
12
11
  });
@@ -1,12 +1,11 @@
1
1
  'use strict';
2
- var createIncludes = require('../internals/array-includes');
3
2
  var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
3
+ var $indexOf = require('../internals/array-includes').indexOf;
4
4
 
5
5
  var aTypedArray = ArrayBufferViewCore.aTypedArray;
6
- var arrayIndexOf = createIncludes(false);
7
6
 
8
7
  // `%TypedArray%.prototype.indexOf` method
9
8
  // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.indexof
10
9
  ArrayBufferViewCore.exportProto('indexOf', function indexOf(searchElement /* , fromIndex */) {
11
- return arrayIndexOf(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);
10
+ return $indexOf(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);
12
11
  });
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
  var global = require('../internals/global');
3
- var ArrayIterators = require('../modules/es.array.iterator');
4
3
  var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
4
+ var ArrayIterators = require('../modules/es.array.iterator');
5
5
  var wellKnownSymbol = require('../internals/well-known-symbol');
6
6
 
7
7
  var ITERATOR = wellKnownSymbol('iterator');
@@ -2,11 +2,11 @@
2
2
  var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
3
3
 
4
4
  var aTypedArray = ArrayBufferViewCore.aTypedArray;
5
- var arrayJoin = [].join;
5
+ var $join = [].join;
6
6
 
7
7
  // `%TypedArray%.prototype.join` method
8
8
  // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.join
9
9
  // eslint-disable-next-line no-unused-vars
10
10
  ArrayBufferViewCore.exportProto('join', function join(separator) {
11
- return arrayJoin.apply(aTypedArray(this), arguments);
11
+ return $join.apply(aTypedArray(this), arguments);
12
12
  });
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
- var arrayLastIndexOf = require('../internals/array-last-index-of');
3
2
  var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
3
+ var $lastIndexOf = require('../internals/array-last-index-of');
4
4
 
5
5
  var aTypedArray = ArrayBufferViewCore.aTypedArray;
6
6
 
@@ -8,5 +8,5 @@ var aTypedArray = ArrayBufferViewCore.aTypedArray;
8
8
  // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.lastindexof
9
9
  // eslint-disable-next-line no-unused-vars
10
10
  ArrayBufferViewCore.exportProto('lastIndexOf', function lastIndexOf(searchElement /* , fromIndex */) {
11
- return arrayLastIndexOf.apply(aTypedArray(this), arguments);
11
+ return $lastIndexOf.apply(aTypedArray(this), arguments);
12
12
  });
@@ -1,17 +1,15 @@
1
1
  'use strict';
2
- var speciesConstructor = require('../internals/species-constructor');
3
2
  var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
4
- var arrayMethods = require('../internals/array-methods');
3
+ var $map = require('../internals/array-iteration').map;
4
+ var speciesConstructor = require('../internals/species-constructor');
5
5
 
6
6
  var aTypedArray = ArrayBufferViewCore.aTypedArray;
7
7
  var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;
8
8
 
9
- var internalTypedArrayMap = arrayMethods(1, function (O, length) {
10
- return new (aTypedArrayConstructor(speciesConstructor(O, O.constructor)))(length);
11
- });
12
-
13
9
  // `%TypedArray%.prototype.map` method
14
10
  // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.map
15
11
  ArrayBufferViewCore.exportProto('map', function map(mapfn /* , thisArg */) {
16
- return internalTypedArrayMap(aTypedArray(this), mapfn, arguments.length > 1 ? arguments[1] : undefined);
12
+ return $map(aTypedArray(this), mapfn, arguments.length > 1 ? arguments[1] : undefined, function (O, length) {
13
+ return new (aTypedArrayConstructor(speciesConstructor(O, O.constructor)))(length);
14
+ });
17
15
  });
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
- var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-arrays-constructors-requires-wrappers');
3
2
  var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
3
+ var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-arrays-constructors-requires-wrappers');
4
4
 
5
5
  var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;
6
6
 
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
  var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
3
- var internalReduce = require('../internals/array-reduce');
3
+ var $reduceRight = require('../internals/array-reduce').right;
4
4
 
5
5
  var aTypedArray = ArrayBufferViewCore.aTypedArray;
6
6
 
7
7
  // `%TypedArray%.prototype.reduceRicht` method
8
8
  // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.reduceright
9
9
  ArrayBufferViewCore.exportProto('reduceRight', function reduceRight(callbackfn /* , initialValue */) {
10
- return internalReduce(aTypedArray(this), callbackfn, arguments.length, arguments[1], true);
10
+ return $reduceRight(aTypedArray(this), callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);
11
11
  });
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
  var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
3
- var internalReduce = require('../internals/array-reduce');
3
+ var $reduce = require('../internals/array-reduce').left;
4
4
 
5
5
  var aTypedArray = ArrayBufferViewCore.aTypedArray;
6
6
 
7
7
  // `%TypedArray%.prototype.reduce` method
8
8
  // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.reduce
9
9
  ArrayBufferViewCore.exportProto('reduce', function reduce(callbackfn /* , initialValue */) {
10
- return internalReduce(aTypedArray(this), callbackfn, arguments.length, arguments[1], false);
10
+ return $reduce(aTypedArray(this), callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);
11
11
  });
@@ -2,13 +2,14 @@
2
2
  var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
3
3
 
4
4
  var aTypedArray = ArrayBufferViewCore.aTypedArray;
5
+ var floor = Math.floor;
5
6
 
6
7
  // `%TypedArray%.prototype.reverse` method
7
8
  // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.reverse
8
9
  ArrayBufferViewCore.exportProto('reverse', function reverse() {
9
10
  var that = this;
10
11
  var length = aTypedArray(that).length;
11
- var middle = Math.floor(length / 2);
12
+ var middle = floor(length / 2);
12
13
  var index = 0;
13
14
  var value;
14
15
  while (index < middle) {
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
+ var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
2
3
  var toLength = require('../internals/to-length');
3
4
  var toOffset = require('../internals/to-offset');
4
5
  var toObject = require('../internals/to-object');
5
- var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
6
6
  var fails = require('../internals/fails');
7
7
 
8
8
  var aTypedArray = ArrayBufferViewCore.aTypedArray;
@@ -16,7 +16,7 @@ var FORCED = fails(function () {
16
16
  // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.set
17
17
  ArrayBufferViewCore.exportProto('set', function set(arrayLike /* , offset */) {
18
18
  aTypedArray(this);
19
- var offset = toOffset(arguments[1], 1);
19
+ var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1);
20
20
  var length = this.length;
21
21
  var src = toObject(arrayLike);
22
22
  var len = toLength(src.length);
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
- var speciesConstructor = require('../internals/species-constructor');
3
2
  var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
3
+ var speciesConstructor = require('../internals/species-constructor');
4
4
  var fails = require('../internals/fails');
5
5
 
6
6
  var aTypedArray = ArrayBufferViewCore.aTypedArray;
7
7
  var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;
8
- var arraySlice = [].slice;
8
+ var $slice = [].slice;
9
9
 
10
10
  var FORCED = fails(function () {
11
11
  // eslint-disable-next-line no-undef
@@ -15,7 +15,7 @@ var FORCED = fails(function () {
15
15
  // `%TypedArray%.prototype.slice` method
16
16
  // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.slice
17
17
  ArrayBufferViewCore.exportProto('slice', function slice(start, end) {
18
- var list = arraySlice.call(aTypedArray(this), start, end);
18
+ var list = $slice.call(aTypedArray(this), start, end);
19
19
  var C = speciesConstructor(this, this.constructor);
20
20
  var index = 0;
21
21
  var length = list.length;
@@ -1,12 +1,11 @@
1
1
  'use strict';
2
2
  var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
3
- var arrayMethods = require('../internals/array-methods');
3
+ var $some = require('../internals/array-iteration').some;
4
4
 
5
- var arraySome = arrayMethods(3);
6
5
  var aTypedArray = ArrayBufferViewCore.aTypedArray;
7
6
 
8
7
  // `%TypedArray%.prototype.some` method
9
8
  // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.some
10
9
  ArrayBufferViewCore.exportProto('some', function some(callbackfn /* , thisArg */) {
11
- return arraySome(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
10
+ return $some(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
12
11
  });