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
@@ -1,7 +1,7 @@
1
1
  var requireObjectCoercible = require('../internals/require-object-coercible');
2
2
 
3
3
  // `ToObject` abstract operation
4
- // https://tc39.github.io/ecma262/#sec-toobject
4
+ // https://tc39.es/ecma262/#sec-toobject
5
5
  module.exports = function (argument) {
6
6
  return Object(requireObjectCoercible(argument));
7
7
  };
@@ -1,7 +1,7 @@
1
1
  var isObject = require('../internals/is-object');
2
2
 
3
3
  // `ToPrimitive` abstract operation
4
- // https://tc39.github.io/ecma262/#sec-toprimitive
4
+ // https://tc39.es/ecma262/#sec-toprimitive
5
5
  // instead of the ES6 spec version, we didn't implement @@toPrimitive case
6
6
  // and the second argument - flag - preferred type is a string
7
7
  module.exports = function (input, PREFERRED_STRING) {
@@ -1,4 +1,4 @@
1
- /* eslint-disable no-new */
1
+ /* eslint-disable no-new -- required for testing */
2
2
  var global = require('../internals/global');
3
3
  var fails = require('../internals/fails');
4
4
  var checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');
@@ -0,0 +1,11 @@
1
+ var aTypedArrayConstructor = require('../internals/array-buffer-view-core').aTypedArrayConstructor;
2
+ var speciesConstructor = require('../internals/species-constructor');
3
+
4
+ module.exports = function (instance, list) {
5
+ var C = speciesConstructor(instance, instance.constructor);
6
+ var index = 0;
7
+ var length = list.length;
8
+ var result = new (aTypedArrayConstructor(C))(length);
9
+ while (length > index) result[index] = list[index++];
10
+ return result;
11
+ };
@@ -1,7 +1,6 @@
1
1
  var NATIVE_SYMBOL = require('../internals/native-symbol');
2
2
 
3
3
  module.exports = NATIVE_SYMBOL
4
- // eslint-disable-next-line no-undef
4
+ /* global Symbol -- safe */
5
5
  && !Symbol.sham
6
- // eslint-disable-next-line no-undef
7
6
  && typeof Symbol.iterator == 'symbol';
@@ -10,8 +10,11 @@ var Symbol = global.Symbol;
10
10
  var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;
11
11
 
12
12
  module.exports = function (name) {
13
- if (!has(WellKnownSymbolsStore, name)) {
14
- if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];
15
- else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
13
+ if (!has(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {
14
+ if (NATIVE_SYMBOL && has(Symbol, name)) {
15
+ WellKnownSymbolsStore[name] = Symbol[name];
16
+ } else {
17
+ WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
18
+ }
16
19
  } return WellKnownSymbolsStore[name];
17
20
  };
@@ -1,3 +1,3 @@
1
1
  // a string of all valid unicode whitespaces
2
- // eslint-disable-next-line max-len
3
- module.exports = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';
2
+ module.exports = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002' +
3
+ '\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';
@@ -11,6 +11,7 @@ var $AggregateError = function AggregateError(errors, message) {
11
11
  var that = this;
12
12
  if (!(that instanceof $AggregateError)) return new $AggregateError(errors, message);
13
13
  if (setPrototypeOf) {
14
+ // eslint-disable-next-line unicorn/error-message -- expected
14
15
  that = setPrototypeOf(new Error(undefined), getPrototypeOf(that));
15
16
  }
16
17
  if (message !== undefined) createNonEnumerableProperty(that, 'message', String(message));
@@ -26,6 +27,8 @@ $AggregateError.prototype = create(Error.prototype, {
26
27
  name: createPropertyDescriptor(5, 'AggregateError')
27
28
  });
28
29
 
30
+ // `AggregateError` constructor
31
+ // https://tc39.es/ecma262/#sec-aggregate-error-constructor
29
32
  $({ global: true }, {
30
33
  AggregateError: $AggregateError
31
34
  });
@@ -9,7 +9,7 @@ var ArrayBuffer = arrayBufferModule[ARRAY_BUFFER];
9
9
  var NativeArrayBuffer = global[ARRAY_BUFFER];
10
10
 
11
11
  // `ArrayBuffer` constructor
12
- // https://tc39.github.io/ecma262/#sec-arraybuffer-constructor
12
+ // https://tc39.es/ecma262/#sec-arraybuffer-constructor
13
13
  $({ global: true, forced: NativeArrayBuffer !== ArrayBuffer }, {
14
14
  ArrayBuffer: ArrayBuffer
15
15
  });
@@ -4,7 +4,7 @@ var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
4
4
  var NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS;
5
5
 
6
6
  // `ArrayBuffer.isView` method
7
- // https://tc39.github.io/ecma262/#sec-arraybuffer.isview
7
+ // https://tc39.es/ecma262/#sec-arraybuffer.isview
8
8
  $({ target: 'ArrayBuffer', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, {
9
9
  isView: ArrayBufferViewCore.isView
10
10
  });
@@ -16,7 +16,7 @@ var INCORRECT_SLICE = fails(function () {
16
16
  });
17
17
 
18
18
  // `ArrayBuffer.prototype.slice` method
19
- // https://tc39.github.io/ecma262/#sec-arraybuffer.prototype.slice
19
+ // https://tc39.es/ecma262/#sec-arraybuffer.prototype.slice
20
20
  $({ target: 'ArrayBuffer', proto: true, unsafe: true, forced: INCORRECT_SLICE }, {
21
21
  slice: function slice(start, end) {
22
22
  if (nativeArrayBufferSlice !== undefined && end === undefined) {
@@ -35,10 +35,11 @@ var isConcatSpreadable = function (O) {
35
35
  var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
36
36
 
37
37
  // `Array.prototype.concat` method
38
- // https://tc39.github.io/ecma262/#sec-array.prototype.concat
38
+ // https://tc39.es/ecma262/#sec-array.prototype.concat
39
39
  // with adding support of @@isConcatSpreadable and @@species
40
40
  $({ target: 'Array', proto: true, forced: FORCED }, {
41
- concat: function concat(arg) { // eslint-disable-line no-unused-vars
41
+ // eslint-disable-next-line no-unused-vars -- required for `.length`
42
+ concat: function concat(arg) {
42
43
  var O = toObject(this);
43
44
  var A = arraySpeciesCreate(O, 0);
44
45
  var n = 0;
@@ -3,10 +3,10 @@ var copyWithin = require('../internals/array-copy-within');
3
3
  var addToUnscopables = require('../internals/add-to-unscopables');
4
4
 
5
5
  // `Array.prototype.copyWithin` method
6
- // https://tc39.github.io/ecma262/#sec-array.prototype.copywithin
6
+ // https://tc39.es/ecma262/#sec-array.prototype.copywithin
7
7
  $({ target: 'Array', proto: true }, {
8
8
  copyWithin: copyWithin
9
9
  });
10
10
 
11
- // https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
11
+ // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
12
12
  addToUnscopables('copyWithin');
@@ -2,14 +2,12 @@
2
2
  var $ = require('../internals/export');
3
3
  var $every = require('../internals/array-iteration').every;
4
4
  var arrayMethodIsStrict = require('../internals/array-method-is-strict');
5
- var arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');
6
5
 
7
6
  var STRICT_METHOD = arrayMethodIsStrict('every');
8
- var USES_TO_LENGTH = arrayMethodUsesToLength('every');
9
7
 
10
8
  // `Array.prototype.every` method
11
- // https://tc39.github.io/ecma262/#sec-array.prototype.every
12
- $({ target: 'Array', proto: true, forced: !STRICT_METHOD || !USES_TO_LENGTH }, {
9
+ // https://tc39.es/ecma262/#sec-array.prototype.every
10
+ $({ target: 'Array', proto: true, forced: !STRICT_METHOD }, {
13
11
  every: function every(callbackfn /* , thisArg */) {
14
12
  return $every(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
15
13
  }
@@ -3,10 +3,10 @@ var fill = require('../internals/array-fill');
3
3
  var addToUnscopables = require('../internals/add-to-unscopables');
4
4
 
5
5
  // `Array.prototype.fill` method
6
- // https://tc39.github.io/ecma262/#sec-array.prototype.fill
6
+ // https://tc39.es/ecma262/#sec-array.prototype.fill
7
7
  $({ target: 'Array', proto: true }, {
8
8
  fill: fill
9
9
  });
10
10
 
11
- // https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
11
+ // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
12
12
  addToUnscopables('fill');
@@ -2,16 +2,13 @@
2
2
  var $ = require('../internals/export');
3
3
  var $filter = require('../internals/array-iteration').filter;
4
4
  var arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');
5
- var arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');
6
5
 
7
6
  var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');
8
- // Edge 14- issue
9
- var USES_TO_LENGTH = arrayMethodUsesToLength('filter');
10
7
 
11
8
  // `Array.prototype.filter` method
12
- // https://tc39.github.io/ecma262/#sec-array.prototype.filter
9
+ // https://tc39.es/ecma262/#sec-array.prototype.filter
13
10
  // with adding support of @@species
14
- $({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {
11
+ $({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {
15
12
  filter: function filter(callbackfn /* , thisArg */) {
16
13
  return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
17
14
  }
@@ -2,23 +2,20 @@
2
2
  var $ = require('../internals/export');
3
3
  var $findIndex = require('../internals/array-iteration').findIndex;
4
4
  var addToUnscopables = require('../internals/add-to-unscopables');
5
- var arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');
6
5
 
7
6
  var FIND_INDEX = 'findIndex';
8
7
  var SKIPS_HOLES = true;
9
8
 
10
- var USES_TO_LENGTH = arrayMethodUsesToLength(FIND_INDEX);
11
-
12
9
  // Shouldn't skip holes
13
10
  if (FIND_INDEX in []) Array(1)[FIND_INDEX](function () { SKIPS_HOLES = false; });
14
11
 
15
12
  // `Array.prototype.findIndex` method
16
- // https://tc39.github.io/ecma262/#sec-array.prototype.findindex
17
- $({ target: 'Array', proto: true, forced: SKIPS_HOLES || !USES_TO_LENGTH }, {
13
+ // https://tc39.es/ecma262/#sec-array.prototype.findindex
14
+ $({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {
18
15
  findIndex: function findIndex(callbackfn /* , that = undefined */) {
19
16
  return $findIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
20
17
  }
21
18
  });
22
19
 
23
- // https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
20
+ // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
24
21
  addToUnscopables(FIND_INDEX);
@@ -2,23 +2,20 @@
2
2
  var $ = require('../internals/export');
3
3
  var $find = require('../internals/array-iteration').find;
4
4
  var addToUnscopables = require('../internals/add-to-unscopables');
5
- var arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');
6
5
 
7
6
  var FIND = 'find';
8
7
  var SKIPS_HOLES = true;
9
8
 
10
- var USES_TO_LENGTH = arrayMethodUsesToLength(FIND);
11
-
12
9
  // Shouldn't skip holes
13
10
  if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });
14
11
 
15
12
  // `Array.prototype.find` method
16
- // https://tc39.github.io/ecma262/#sec-array.prototype.find
17
- $({ target: 'Array', proto: true, forced: SKIPS_HOLES || !USES_TO_LENGTH }, {
13
+ // https://tc39.es/ecma262/#sec-array.prototype.find
14
+ $({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {
18
15
  find: function find(callbackfn /* , that = undefined */) {
19
16
  return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
20
17
  }
21
18
  });
22
19
 
23
- // https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
20
+ // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
24
21
  addToUnscopables(FIND);
@@ -7,7 +7,7 @@ var aFunction = require('../internals/a-function');
7
7
  var arraySpeciesCreate = require('../internals/array-species-create');
8
8
 
9
9
  // `Array.prototype.flatMap` method
10
- // https://github.com/tc39/proposal-flatMap
10
+ // https://tc39.es/ecma262/#sec-array.prototype.flatmap
11
11
  $({ target: 'Array', proto: true }, {
12
12
  flatMap: function flatMap(callbackfn /* , thisArg */) {
13
13
  var O = toObject(this);
@@ -7,7 +7,7 @@ var toInteger = require('../internals/to-integer');
7
7
  var arraySpeciesCreate = require('../internals/array-species-create');
8
8
 
9
9
  // `Array.prototype.flat` method
10
- // https://github.com/tc39/proposal-flatMap
10
+ // https://tc39.es/ecma262/#sec-array.prototype.flat
11
11
  $({ target: 'Array', proto: true }, {
12
12
  flat: function flat(/* depthArg = 1 */) {
13
13
  var depthArg = arguments.length ? arguments[0] : undefined;
@@ -3,7 +3,7 @@ var $ = require('../internals/export');
3
3
  var forEach = require('../internals/array-for-each');
4
4
 
5
5
  // `Array.prototype.forEach` method
6
- // https://tc39.github.io/ecma262/#sec-array.prototype.foreach
6
+ // https://tc39.es/ecma262/#sec-array.prototype.foreach
7
7
  $({ target: 'Array', proto: true, forced: [].forEach != forEach }, {
8
8
  forEach: forEach
9
9
  });
@@ -7,7 +7,7 @@ var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {
7
7
  });
8
8
 
9
9
  // `Array.from` method
10
- // https://tc39.github.io/ecma262/#sec-array.from
10
+ // https://tc39.es/ecma262/#sec-array.from
11
11
  $({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {
12
12
  from: from
13
13
  });
@@ -2,17 +2,14 @@
2
2
  var $ = require('../internals/export');
3
3
  var $includes = require('../internals/array-includes').includes;
4
4
  var addToUnscopables = require('../internals/add-to-unscopables');
5
- var arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');
6
-
7
- var USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });
8
5
 
9
6
  // `Array.prototype.includes` method
10
- // https://tc39.github.io/ecma262/#sec-array.prototype.includes
11
- $({ target: 'Array', proto: true, forced: !USES_TO_LENGTH }, {
7
+ // https://tc39.es/ecma262/#sec-array.prototype.includes
8
+ $({ target: 'Array', proto: true }, {
12
9
  includes: function includes(el /* , fromIndex = 0 */) {
13
10
  return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
14
11
  }
15
12
  });
16
13
 
17
- // https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
14
+ // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
18
15
  addToUnscopables('includes');
@@ -2,17 +2,15 @@
2
2
  var $ = require('../internals/export');
3
3
  var $indexOf = require('../internals/array-includes').indexOf;
4
4
  var arrayMethodIsStrict = require('../internals/array-method-is-strict');
5
- var arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');
6
5
 
7
6
  var nativeIndexOf = [].indexOf;
8
7
 
9
8
  var NEGATIVE_ZERO = !!nativeIndexOf && 1 / [1].indexOf(1, -0) < 0;
10
9
  var STRICT_METHOD = arrayMethodIsStrict('indexOf');
11
- var USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });
12
10
 
13
11
  // `Array.prototype.indexOf` method
14
- // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
15
- $({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || !STRICT_METHOD || !USES_TO_LENGTH }, {
12
+ // https://tc39.es/ecma262/#sec-array.prototype.indexof
13
+ $({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || !STRICT_METHOD }, {
16
14
  indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {
17
15
  return NEGATIVE_ZERO
18
16
  // convert -0 to +0
@@ -2,7 +2,7 @@ var $ = require('../internals/export');
2
2
  var isArray = require('../internals/is-array');
3
3
 
4
4
  // `Array.isArray` method
5
- // https://tc39.github.io/ecma262/#sec-array.isarray
5
+ // https://tc39.es/ecma262/#sec-array.isarray
6
6
  $({ target: 'Array', stat: true }, {
7
7
  isArray: isArray
8
8
  });
@@ -10,15 +10,15 @@ var setInternalState = InternalStateModule.set;
10
10
  var getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);
11
11
 
12
12
  // `Array.prototype.entries` method
13
- // https://tc39.github.io/ecma262/#sec-array.prototype.entries
13
+ // https://tc39.es/ecma262/#sec-array.prototype.entries
14
14
  // `Array.prototype.keys` method
15
- // https://tc39.github.io/ecma262/#sec-array.prototype.keys
15
+ // https://tc39.es/ecma262/#sec-array.prototype.keys
16
16
  // `Array.prototype.values` method
17
- // https://tc39.github.io/ecma262/#sec-array.prototype.values
17
+ // https://tc39.es/ecma262/#sec-array.prototype.values
18
18
  // `Array.prototype[@@iterator]` method
19
- // https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator
19
+ // https://tc39.es/ecma262/#sec-array.prototype-@@iterator
20
20
  // `CreateArrayIterator` internal method
21
- // https://tc39.github.io/ecma262/#sec-createarrayiterator
21
+ // https://tc39.es/ecma262/#sec-createarrayiterator
22
22
  module.exports = defineIterator(Array, 'Array', function (iterated, kind) {
23
23
  setInternalState(this, {
24
24
  type: ARRAY_ITERATOR,
@@ -27,7 +27,7 @@ module.exports = defineIterator(Array, 'Array', function (iterated, kind) {
27
27
  kind: kind // kind
28
28
  });
29
29
  // `%ArrayIteratorPrototype%.next` method
30
- // https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next
30
+ // https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next
31
31
  }, function () {
32
32
  var state = getInternalState(this);
33
33
  var target = state.target;
@@ -43,11 +43,11 @@ module.exports = defineIterator(Array, 'Array', function (iterated, kind) {
43
43
  }, 'values');
44
44
 
45
45
  // argumentsList[@@iterator] is %ArrayProto_values%
46
- // https://tc39.github.io/ecma262/#sec-createunmappedargumentsobject
47
- // https://tc39.github.io/ecma262/#sec-createmappedargumentsobject
46
+ // https://tc39.es/ecma262/#sec-createunmappedargumentsobject
47
+ // https://tc39.es/ecma262/#sec-createmappedargumentsobject
48
48
  Iterators.Arguments = Iterators.Array;
49
49
 
50
- // https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
50
+ // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
51
51
  addToUnscopables('keys');
52
52
  addToUnscopables('values');
53
53
  addToUnscopables('entries');
@@ -10,7 +10,7 @@ var ES3_STRINGS = IndexedObject != Object;
10
10
  var STRICT_METHOD = arrayMethodIsStrict('join', ',');
11
11
 
12
12
  // `Array.prototype.join` method
13
- // https://tc39.github.io/ecma262/#sec-array.prototype.join
13
+ // https://tc39.es/ecma262/#sec-array.prototype.join
14
14
  $({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, {
15
15
  join: function join(separator) {
16
16
  return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);
@@ -2,7 +2,7 @@ var $ = require('../internals/export');
2
2
  var lastIndexOf = require('../internals/array-last-index-of');
3
3
 
4
4
  // `Array.prototype.lastIndexOf` method
5
- // https://tc39.github.io/ecma262/#sec-array.prototype.lastindexof
5
+ // https://tc39.es/ecma262/#sec-array.prototype.lastindexof
6
6
  $({ target: 'Array', proto: true, forced: lastIndexOf !== [].lastIndexOf }, {
7
7
  lastIndexOf: lastIndexOf
8
8
  });
@@ -2,16 +2,13 @@
2
2
  var $ = require('../internals/export');
3
3
  var $map = require('../internals/array-iteration').map;
4
4
  var arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');
5
- var arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');
6
5
 
7
6
  var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');
8
- // FF49- issue
9
- var USES_TO_LENGTH = arrayMethodUsesToLength('map');
10
7
 
11
8
  // `Array.prototype.map` method
12
- // https://tc39.github.io/ecma262/#sec-array.prototype.map
9
+ // https://tc39.es/ecma262/#sec-array.prototype.map
13
10
  // with adding support of @@species
14
- $({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {
11
+ $({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {
15
12
  map: function map(callbackfn /* , thisArg */) {
16
13
  return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
17
14
  }
@@ -9,7 +9,7 @@ var ISNT_GENERIC = fails(function () {
9
9
  });
10
10
 
11
11
  // `Array.of` method
12
- // https://tc39.github.io/ecma262/#sec-array.of
12
+ // https://tc39.es/ecma262/#sec-array.of
13
13
  // WebKit Array.of isn't generic
14
14
  $({ target: 'Array', stat: true, forced: ISNT_GENERIC }, {
15
15
  of: function of(/* ...args */) {
@@ -2,20 +2,17 @@
2
2
  var $ = require('../internals/export');
3
3
  var $reduceRight = require('../internals/array-reduce').right;
4
4
  var arrayMethodIsStrict = require('../internals/array-method-is-strict');
5
- var arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');
6
5
  var CHROME_VERSION = require('../internals/engine-v8-version');
7
6
  var IS_NODE = require('../internals/engine-is-node');
8
7
 
9
8
  var STRICT_METHOD = arrayMethodIsStrict('reduceRight');
10
- // For preventing possible almost infinite loop in non-standard implementations, test the forward version of the method
11
- var USES_TO_LENGTH = arrayMethodUsesToLength('reduce', { 1: 0 });
12
9
  // Chrome 80-82 has a critical bug
13
10
  // https://bugs.chromium.org/p/chromium/issues/detail?id=1049982
14
11
  var CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;
15
12
 
16
13
  // `Array.prototype.reduceRight` method
17
- // https://tc39.github.io/ecma262/#sec-array.prototype.reduceright
18
- $({ target: 'Array', proto: true, forced: !STRICT_METHOD || !USES_TO_LENGTH || CHROME_BUG }, {
14
+ // https://tc39.es/ecma262/#sec-array.prototype.reduceright
15
+ $({ target: 'Array', proto: true, forced: !STRICT_METHOD || CHROME_BUG }, {
19
16
  reduceRight: function reduceRight(callbackfn /* , initialValue */) {
20
17
  return $reduceRight(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);
21
18
  }
@@ -2,19 +2,17 @@
2
2
  var $ = require('../internals/export');
3
3
  var $reduce = require('../internals/array-reduce').left;
4
4
  var arrayMethodIsStrict = require('../internals/array-method-is-strict');
5
- var arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');
6
5
  var CHROME_VERSION = require('../internals/engine-v8-version');
7
6
  var IS_NODE = require('../internals/engine-is-node');
8
7
 
9
8
  var STRICT_METHOD = arrayMethodIsStrict('reduce');
10
- var USES_TO_LENGTH = arrayMethodUsesToLength('reduce', { 1: 0 });
11
9
  // Chrome 80-82 has a critical bug
12
10
  // https://bugs.chromium.org/p/chromium/issues/detail?id=1049982
13
11
  var CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;
14
12
 
15
13
  // `Array.prototype.reduce` method
16
- // https://tc39.github.io/ecma262/#sec-array.prototype.reduce
17
- $({ target: 'Array', proto: true, forced: !STRICT_METHOD || !USES_TO_LENGTH || CHROME_BUG }, {
14
+ // https://tc39.es/ecma262/#sec-array.prototype.reduce
15
+ $({ target: 'Array', proto: true, forced: !STRICT_METHOD || CHROME_BUG }, {
18
16
  reduce: function reduce(callbackfn /* , initialValue */) {
19
17
  return $reduce(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);
20
18
  }
@@ -6,12 +6,12 @@ var nativeReverse = [].reverse;
6
6
  var test = [1, 2];
7
7
 
8
8
  // `Array.prototype.reverse` method
9
- // https://tc39.github.io/ecma262/#sec-array.prototype.reverse
9
+ // https://tc39.es/ecma262/#sec-array.prototype.reverse
10
10
  // fix for Safari 12.0 bug
11
11
  // https://bugs.webkit.org/show_bug.cgi?id=188794
12
12
  $({ target: 'Array', proto: true, forced: String(test) === String(test.reverse()) }, {
13
13
  reverse: function reverse() {
14
- // eslint-disable-next-line no-self-assign
14
+ // eslint-disable-next-line no-self-assign -- dirty hack
15
15
  if (isArray(this)) this.length = this.length;
16
16
  return nativeReverse.call(this);
17
17
  }
@@ -8,19 +8,17 @@ var toIndexedObject = require('../internals/to-indexed-object');
8
8
  var createProperty = require('../internals/create-property');
9
9
  var wellKnownSymbol = require('../internals/well-known-symbol');
10
10
  var arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');
11
- var arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');
12
11
 
13
12
  var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');
14
- var USES_TO_LENGTH = arrayMethodUsesToLength('slice', { ACCESSORS: true, 0: 0, 1: 2 });
15
13
 
16
14
  var SPECIES = wellKnownSymbol('species');
17
15
  var nativeSlice = [].slice;
18
16
  var max = Math.max;
19
17
 
20
18
  // `Array.prototype.slice` method
21
- // https://tc39.github.io/ecma262/#sec-array.prototype.slice
19
+ // https://tc39.es/ecma262/#sec-array.prototype.slice
22
20
  // fallback for not array-like ES3 strings and DOM objects
23
- $({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {
21
+ $({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {
24
22
  slice: function slice(start, end) {
25
23
  var O = toIndexedObject(this);
26
24
  var length = toLength(O.length);
@@ -2,14 +2,12 @@
2
2
  var $ = require('../internals/export');
3
3
  var $some = require('../internals/array-iteration').some;
4
4
  var arrayMethodIsStrict = require('../internals/array-method-is-strict');
5
- var arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');
6
5
 
7
6
  var STRICT_METHOD = arrayMethodIsStrict('some');
8
- var USES_TO_LENGTH = arrayMethodUsesToLength('some');
9
7
 
10
8
  // `Array.prototype.some` method
11
- // https://tc39.github.io/ecma262/#sec-array.prototype.some
12
- $({ target: 'Array', proto: true, forced: !STRICT_METHOD || !USES_TO_LENGTH }, {
9
+ // https://tc39.es/ecma262/#sec-array.prototype.some
10
+ $({ target: 'Array', proto: true, forced: !STRICT_METHOD }, {
13
11
  some: function some(callbackfn /* , thisArg */) {
14
12
  return $some(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
15
13
  }
@@ -22,7 +22,7 @@ var STRICT_METHOD = arrayMethodIsStrict('sort');
22
22
  var FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD;
23
23
 
24
24
  // `Array.prototype.sort` method
25
- // https://tc39.github.io/ecma262/#sec-array.prototype.sort
25
+ // https://tc39.es/ecma262/#sec-array.prototype.sort
26
26
  $({ target: 'Array', proto: true, forced: FORCED }, {
27
27
  sort: function sort(comparefn) {
28
28
  return comparefn === undefined
@@ -1,5 +1,5 @@
1
1
  var setSpecies = require('../internals/set-species');
2
2
 
3
3
  // `Array[@@species]` getter
4
- // https://tc39.github.io/ecma262/#sec-get-array-@@species
4
+ // https://tc39.es/ecma262/#sec-get-array-@@species
5
5
  setSpecies('Array');
@@ -7,10 +7,8 @@ var toObject = require('../internals/to-object');
7
7
  var arraySpeciesCreate = require('../internals/array-species-create');
8
8
  var createProperty = require('../internals/create-property');
9
9
  var arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');
10
- var arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');
11
10
 
12
11
  var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice');
13
- var USES_TO_LENGTH = arrayMethodUsesToLength('splice', { ACCESSORS: true, 0: 0, 1: 2 });
14
12
 
15
13
  var max = Math.max;
16
14
  var min = Math.min;
@@ -18,9 +16,9 @@ var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
18
16
  var MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded';
19
17
 
20
18
  // `Array.prototype.splice` method
21
- // https://tc39.github.io/ecma262/#sec-array.prototype.splice
19
+ // https://tc39.es/ecma262/#sec-array.prototype.splice
22
20
  // with adding support of @@species
23
- $({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {
21
+ $({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {
24
22
  splice: function splice(start, deleteCount /* , ...items */) {
25
23
  var O = toObject(this);
26
24
  var len = toLength(O.length);
@@ -2,4 +2,5 @@
2
2
  // in popular engines, so it's moved to a separate module
3
3
  var addToUnscopables = require('../internals/add-to-unscopables');
4
4
 
5
+ // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
5
6
  addToUnscopables('flatMap');
@@ -2,4 +2,5 @@
2
2
  // in popular engines, so it's moved to a separate module
3
3
  var addToUnscopables = require('../internals/add-to-unscopables');
4
4
 
5
+ // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
5
6
  addToUnscopables('flat');
@@ -3,7 +3,7 @@ var ArrayBufferModule = require('../internals/array-buffer');
3
3
  var NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');
4
4
 
5
5
  // `DataView` constructor
6
- // https://tc39.github.io/ecma262/#sec-dataview-constructor
6
+ // https://tc39.es/ecma262/#sec-dataview-constructor
7
7
  $({ global: true, forced: !NATIVE_ARRAY_BUFFER }, {
8
8
  DataView: ArrayBufferModule.DataView
9
9
  });