core-js 3.8.0 → 3.9.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 (331) 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 +14 -3
  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 +1 -1
  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/object-assign.js +3 -3
  64. package/internals/object-create.js +2 -2
  65. package/internals/object-define-properties.js +1 -1
  66. package/internals/object-define-property.js +1 -1
  67. package/internals/object-get-own-property-descriptor.js +1 -1
  68. package/internals/object-get-own-property-names.js +1 -1
  69. package/internals/object-get-prototype-of.js +1 -1
  70. package/internals/object-keys.js +1 -1
  71. package/internals/object-property-is-enumerable.js +1 -1
  72. package/internals/object-prototype-accessors-forced.js +1 -1
  73. package/internals/object-set-prototype-of.js +2 -2
  74. package/internals/object-to-array.js +2 -2
  75. package/internals/object-to-string.js +1 -1
  76. package/internals/range-iterator.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/whitespaces.js +2 -2
  102. package/modules/es.aggregate-error.js +3 -0
  103. package/modules/es.array-buffer.constructor.js +1 -1
  104. package/modules/es.array-buffer.is-view.js +1 -1
  105. package/modules/es.array-buffer.slice.js +1 -1
  106. package/modules/es.array.concat.js +3 -2
  107. package/modules/es.array.copy-within.js +2 -2
  108. package/modules/es.array.every.js +2 -4
  109. package/modules/es.array.fill.js +2 -2
  110. package/modules/es.array.filter.js +2 -5
  111. package/modules/es.array.find-index.js +3 -6
  112. package/modules/es.array.find.js +3 -6
  113. package/modules/es.array.flat-map.js +1 -1
  114. package/modules/es.array.flat.js +1 -1
  115. package/modules/es.array.for-each.js +1 -1
  116. package/modules/es.array.from.js +1 -1
  117. package/modules/es.array.includes.js +3 -6
  118. package/modules/es.array.index-of.js +2 -4
  119. package/modules/es.array.is-array.js +1 -1
  120. package/modules/es.array.iterator.js +9 -9
  121. package/modules/es.array.join.js +1 -1
  122. package/modules/es.array.last-index-of.js +1 -1
  123. package/modules/es.array.map.js +2 -5
  124. package/modules/es.array.of.js +1 -1
  125. package/modules/es.array.reduce-right.js +2 -5
  126. package/modules/es.array.reduce.js +2 -4
  127. package/modules/es.array.reverse.js +2 -2
  128. package/modules/es.array.slice.js +2 -4
  129. package/modules/es.array.some.js +2 -4
  130. package/modules/es.array.sort.js +1 -1
  131. package/modules/es.array.species.js +1 -1
  132. package/modules/es.array.splice.js +2 -4
  133. package/modules/es.array.unscopables.flat-map.js +1 -0
  134. package/modules/es.array.unscopables.flat.js +1 -0
  135. package/modules/es.data-view.js +1 -1
  136. package/modules/es.date.now.js +1 -1
  137. package/modules/es.date.to-iso-string.js +1 -1
  138. package/modules/es.date.to-json.js +2 -2
  139. package/modules/es.date.to-primitive.js +1 -1
  140. package/modules/es.date.to-string.js +2 -2
  141. package/modules/es.function.bind.js +1 -1
  142. package/modules/es.function.has-instance.js +1 -1
  143. package/modules/es.function.name.js +1 -1
  144. package/modules/es.global-this.js +1 -1
  145. package/modules/es.json.stringify.js +3 -1
  146. package/modules/es.json.to-string-tag.js +1 -1
  147. package/modules/es.map.js +1 -1
  148. package/modules/es.math.acosh.js +1 -1
  149. package/modules/es.math.asinh.js +1 -1
  150. package/modules/es.math.atanh.js +1 -1
  151. package/modules/es.math.cbrt.js +1 -1
  152. package/modules/es.math.clz32.js +1 -1
  153. package/modules/es.math.cosh.js +1 -1
  154. package/modules/es.math.expm1.js +1 -1
  155. package/modules/es.math.fround.js +1 -1
  156. package/modules/es.math.hypot.js +3 -2
  157. package/modules/es.math.imul.js +1 -1
  158. package/modules/es.math.log10.js +1 -1
  159. package/modules/es.math.log1p.js +1 -1
  160. package/modules/es.math.log2.js +1 -1
  161. package/modules/es.math.sign.js +1 -1
  162. package/modules/es.math.sinh.js +1 -1
  163. package/modules/es.math.tanh.js +1 -1
  164. package/modules/es.math.to-string-tag.js +1 -1
  165. package/modules/es.math.trunc.js +1 -1
  166. package/modules/es.number.constructor.js +5 -3
  167. package/modules/es.number.epsilon.js +1 -1
  168. package/modules/es.number.is-finite.js +1 -1
  169. package/modules/es.number.is-integer.js +1 -1
  170. package/modules/es.number.is-nan.js +2 -2
  171. package/modules/es.number.is-safe-integer.js +1 -1
  172. package/modules/es.number.max-safe-integer.js +1 -1
  173. package/modules/es.number.min-safe-integer.js +1 -1
  174. package/modules/es.number.parse-float.js +1 -1
  175. package/modules/es.number.parse-int.js +1 -1
  176. package/modules/es.number.to-fixed.js +44 -45
  177. package/modules/es.number.to-precision.js +1 -1
  178. package/modules/es.object.assign.js +1 -1
  179. package/modules/es.object.create.js +1 -1
  180. package/modules/es.object.define-getter.js +1 -1
  181. package/modules/es.object.define-properties.js +1 -1
  182. package/modules/es.object.define-property.js +1 -1
  183. package/modules/es.object.define-setter.js +1 -1
  184. package/modules/es.object.entries.js +1 -1
  185. package/modules/es.object.freeze.js +1 -1
  186. package/modules/es.object.get-own-property-descriptor.js +1 -1
  187. package/modules/es.object.get-own-property-descriptors.js +1 -1
  188. package/modules/es.object.get-own-property-names.js +1 -1
  189. package/modules/es.object.get-prototype-of.js +1 -1
  190. package/modules/es.object.is-extensible.js +1 -1
  191. package/modules/es.object.is-frozen.js +1 -1
  192. package/modules/es.object.is-sealed.js +1 -1
  193. package/modules/es.object.is.js +1 -1
  194. package/modules/es.object.keys.js +1 -1
  195. package/modules/es.object.lookup-getter.js +1 -1
  196. package/modules/es.object.lookup-setter.js +1 -1
  197. package/modules/es.object.prevent-extensions.js +1 -1
  198. package/modules/es.object.seal.js +1 -1
  199. package/modules/es.object.set-prototype-of.js +1 -1
  200. package/modules/es.object.to-string.js +1 -1
  201. package/modules/es.object.values.js +1 -1
  202. package/modules/es.parse-float.js +1 -1
  203. package/modules/es.parse-int.js +1 -1
  204. package/modules/es.promise.all-settled.js +1 -1
  205. package/modules/es.promise.any.js +1 -1
  206. package/modules/es.promise.finally.js +1 -1
  207. package/modules/es.promise.js +8 -8
  208. package/modules/es.reflect.apply.js +1 -1
  209. package/modules/es.reflect.construct.js +1 -1
  210. package/modules/es.reflect.define-property.js +2 -2
  211. package/modules/es.reflect.delete-property.js +1 -1
  212. package/modules/es.reflect.get-own-property-descriptor.js +1 -1
  213. package/modules/es.reflect.get-prototype-of.js +1 -1
  214. package/modules/es.reflect.get.js +1 -1
  215. package/modules/es.reflect.has.js +1 -1
  216. package/modules/es.reflect.is-extensible.js +1 -1
  217. package/modules/es.reflect.own-keys.js +1 -1
  218. package/modules/es.reflect.prevent-extensions.js +1 -1
  219. package/modules/es.reflect.set-prototype-of.js +1 -1
  220. package/modules/es.reflect.set.js +2 -2
  221. package/modules/es.regexp.constructor.js +2 -2
  222. package/modules/es.regexp.exec.js +2 -0
  223. package/modules/es.regexp.flags.js +1 -1
  224. package/modules/es.regexp.sticky.js +1 -0
  225. package/modules/es.regexp.test.js +2 -0
  226. package/modules/es.regexp.to-string.js +1 -1
  227. package/modules/es.set.js +1 -1
  228. package/modules/es.string.anchor.js +1 -1
  229. package/modules/es.string.big.js +1 -1
  230. package/modules/es.string.blink.js +1 -1
  231. package/modules/es.string.bold.js +1 -1
  232. package/modules/es.string.code-point-at.js +1 -1
  233. package/modules/es.string.ends-with.js +1 -1
  234. package/modules/es.string.fixed.js +1 -1
  235. package/modules/es.string.fontcolor.js +1 -1
  236. package/modules/es.string.fontsize.js +1 -1
  237. package/modules/es.string.from-code-point.js +3 -2
  238. package/modules/es.string.includes.js +1 -1
  239. package/modules/es.string.italics.js +1 -1
  240. package/modules/es.string.iterator.js +2 -2
  241. package/modules/es.string.link.js +1 -1
  242. package/modules/es.string.match-all.js +2 -2
  243. package/modules/es.string.match.js +2 -2
  244. package/modules/es.string.pad-end.js +1 -1
  245. package/modules/es.string.pad-start.js +1 -1
  246. package/modules/es.string.raw.js +1 -1
  247. package/modules/es.string.repeat.js +1 -1
  248. package/modules/es.string.replace-all.js +29 -12
  249. package/modules/es.string.replace.js +3 -40
  250. package/modules/es.string.search.js +2 -2
  251. package/modules/es.string.small.js +1 -1
  252. package/modules/es.string.split.js +4 -2
  253. package/modules/es.string.starts-with.js +1 -1
  254. package/modules/es.string.strike.js +1 -1
  255. package/modules/es.string.sub.js +1 -1
  256. package/modules/es.string.sup.js +1 -1
  257. package/modules/es.string.trim-end.js +2 -1
  258. package/modules/es.string.trim-start.js +2 -1
  259. package/modules/es.string.trim.js +1 -1
  260. package/modules/es.symbol.async-iterator.js +1 -1
  261. package/modules/es.symbol.description.js +1 -1
  262. package/modules/es.symbol.has-instance.js +1 -1
  263. package/modules/es.symbol.is-concat-spreadable.js +1 -1
  264. package/modules/es.symbol.iterator.js +1 -1
  265. package/modules/es.symbol.js +13 -13
  266. package/modules/es.symbol.match-all.js +1 -0
  267. package/modules/es.symbol.match.js +1 -1
  268. package/modules/es.symbol.replace.js +1 -1
  269. package/modules/es.symbol.search.js +1 -1
  270. package/modules/es.symbol.species.js +1 -1
  271. package/modules/es.symbol.split.js +1 -1
  272. package/modules/es.symbol.to-primitive.js +1 -1
  273. package/modules/es.symbol.to-string-tag.js +1 -1
  274. package/modules/es.symbol.unscopables.js +1 -1
  275. package/modules/es.typed-array.copy-within.js +1 -1
  276. package/modules/es.typed-array.every.js +1 -1
  277. package/modules/es.typed-array.fill.js +2 -2
  278. package/modules/es.typed-array.filter.js +3 -9
  279. package/modules/es.typed-array.find-index.js +1 -1
  280. package/modules/es.typed-array.find.js +1 -1
  281. package/modules/es.typed-array.float32-array.js +1 -1
  282. package/modules/es.typed-array.float64-array.js +1 -1
  283. package/modules/es.typed-array.for-each.js +1 -1
  284. package/modules/es.typed-array.from.js +1 -1
  285. package/modules/es.typed-array.includes.js +1 -1
  286. package/modules/es.typed-array.index-of.js +1 -1
  287. package/modules/es.typed-array.int16-array.js +1 -1
  288. package/modules/es.typed-array.int32-array.js +1 -1
  289. package/modules/es.typed-array.int8-array.js +1 -1
  290. package/modules/es.typed-array.iterator.js +4 -4
  291. package/modules/es.typed-array.join.js +2 -2
  292. package/modules/es.typed-array.last-index-of.js +2 -2
  293. package/modules/es.typed-array.map.js +1 -1
  294. package/modules/es.typed-array.of.js +1 -1
  295. package/modules/es.typed-array.reduce-right.js +1 -1
  296. package/modules/es.typed-array.reduce.js +1 -1
  297. package/modules/es.typed-array.reverse.js +1 -1
  298. package/modules/es.typed-array.set.js +2 -2
  299. package/modules/es.typed-array.slice.js +2 -2
  300. package/modules/es.typed-array.some.js +1 -1
  301. package/modules/es.typed-array.sort.js +1 -1
  302. package/modules/es.typed-array.subarray.js +1 -1
  303. package/modules/es.typed-array.to-locale-string.js +1 -1
  304. package/modules/es.typed-array.to-string.js +1 -1
  305. package/modules/es.typed-array.uint16-array.js +1 -1
  306. package/modules/es.typed-array.uint32-array.js +1 -1
  307. package/modules/es.typed-array.uint8-array.js +1 -1
  308. package/modules/es.typed-array.uint8-clamped-array.js +1 -1
  309. package/modules/es.weak-map.js +1 -1
  310. package/modules/es.weak-set.js +1 -1
  311. package/modules/esnext.array.find-last-index.js +14 -0
  312. package/modules/esnext.array.find-last.js +14 -0
  313. package/modules/esnext.array.unique-by.js +2 -28
  314. package/modules/esnext.bigint.range.js +1 -1
  315. package/modules/esnext.map.merge.js +1 -1
  316. package/modules/esnext.typed-array.filter-out.js +2 -8
  317. package/modules/esnext.typed-array.find-last-index.js +12 -0
  318. package/modules/esnext.typed-array.find-last.js +12 -0
  319. package/modules/esnext.typed-array.unique-by.js +13 -0
  320. package/modules/web.timers.js +1 -1
  321. package/modules/web.url.js +9 -11
  322. package/package.json +3 -2
  323. package/postinstall.js +2 -2
  324. package/proposals/array-find-from-last.js +5 -0
  325. package/proposals/array-unique.js +1 -0
  326. package/stable/instance/entries.js +1 -1
  327. package/stable/instance/for-each.js +1 -1
  328. package/stable/instance/keys.js +1 -1
  329. package/stable/instance/values.js +1 -1
  330. package/stage/1.js +1 -0
  331. package/internals/array-method-uses-to-length.js +0 -27
@@ -1,6 +1,4 @@
1
1
  // IEEE754 conversions based on https://github.com/feross/ieee754
2
- // eslint-disable-next-line no-shadow-restricted-names
3
- var Infinity = 1 / 0;
4
2
  var abs = Math.abs;
5
3
  var pow = Math.pow;
6
4
  var floor = Math.floor;
@@ -17,9 +15,9 @@ var pack = function (number, mantissaLength, bytes) {
17
15
  var index = 0;
18
16
  var exponent, mantissa, c;
19
17
  number = abs(number);
20
- // eslint-disable-next-line no-self-compare
18
+ // eslint-disable-next-line no-self-compare -- NaN check
21
19
  if (number != number || number === Infinity) {
22
- // eslint-disable-next-line no-self-compare
20
+ // eslint-disable-next-line no-self-compare -- NaN check
23
21
  mantissa = number != number ? 1 : 0;
24
22
  exponent = eMax;
25
23
  } else {
@@ -6,7 +6,7 @@ var split = ''.split;
6
6
  // fallback for non-array-like ES3 and non-enumerable old V8 strings
7
7
  module.exports = fails(function () {
8
8
  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
9
- // eslint-disable-next-line no-prototype-builtins
9
+ // eslint-disable-next-line no-prototype-builtins -- safe
10
10
  return !Object('z').propertyIsEnumerable(0);
11
11
  }) ? function (it) {
12
12
  return classof(it) == 'String' ? split.call(it, '') : Object(it);
@@ -1,7 +1,7 @@
1
1
  var classof = require('../internals/classof-raw');
2
2
 
3
3
  // `IsArray` abstract operation
4
- // https://tc39.github.io/ecma262/#sec-isarray
4
+ // https://tc39.es/ecma262/#sec-isarray
5
5
  module.exports = Array.isArray || function isArray(arg) {
6
6
  return classof(arg) == 'Array';
7
7
  };
@@ -3,7 +3,7 @@ var isObject = require('../internals/is-object');
3
3
  var floor = Math.floor;
4
4
 
5
5
  // `Number.isInteger` method implementation
6
- // https://tc39.github.io/ecma262/#sec-number.isinteger
6
+ // https://tc39.es/ecma262/#sec-number.isinteger
7
7
  module.exports = function isInteger(it) {
8
8
  return !isObject(it) && isFinite(it) && floor(it) === it;
9
9
  };
@@ -8,6 +8,6 @@ module.exports = function (it) {
8
8
  var O = Object(it);
9
9
  return O[ITERATOR] !== undefined
10
10
  || '@@iterator' in O
11
- // eslint-disable-next-line no-prototype-builtins
11
+ // eslint-disable-next-line no-prototype-builtins -- safe
12
12
  || Iterators.hasOwnProperty(classof(O));
13
13
  };
@@ -5,7 +5,7 @@ var wellKnownSymbol = require('../internals/well-known-symbol');
5
5
  var MATCH = wellKnownSymbol('match');
6
6
 
7
7
  // `IsRegExp` abstract operation
8
- // https://tc39.github.io/ecma262/#sec-isregexp
8
+ // https://tc39.es/ecma262/#sec-isregexp
9
9
  module.exports = function (it) {
10
10
  var isRegExp;
11
11
  return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');
@@ -1,4 +1,5 @@
1
1
  'use strict';
2
+ var fails = require('../internals/fails');
2
3
  var getPrototypeOf = require('../internals/object-get-prototype-of');
3
4
  var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
4
5
  var has = require('../internals/has');
@@ -11,7 +12,7 @@ var BUGGY_SAFARI_ITERATORS = false;
11
12
  var returnThis = function () { return this; };
12
13
 
13
14
  // `%IteratorPrototype%` object
14
- // https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object
15
+ // https://tc39.es/ecma262/#sec-%iteratorprototype%-object
15
16
  var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;
16
17
 
17
18
  if ([].keys) {
@@ -24,10 +25,16 @@ if ([].keys) {
24
25
  }
25
26
  }
26
27
 
27
- if (IteratorPrototype == undefined) IteratorPrototype = {};
28
+ var NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () {
29
+ var test = {};
30
+ // FF44- legacy iterators case
31
+ return IteratorPrototype[ITERATOR].call(test) !== test;
32
+ });
33
+
34
+ if (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};
28
35
 
29
36
  // 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
30
- if (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {
37
+ if ((!IS_PURE || NEW_ITERATOR_PROTOTYPE) && !has(IteratorPrototype, ITERATOR)) {
31
38
  createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);
32
39
  }
33
40
 
@@ -2,7 +2,7 @@ var nativeExpm1 = Math.expm1;
2
2
  var exp = Math.exp;
3
3
 
4
4
  // `Math.expm1` method implementation
5
- // https://tc39.github.io/ecma262/#sec-math.expm1
5
+ // https://tc39.es/ecma262/#sec-math.expm1
6
6
  module.exports = (!nativeExpm1
7
7
  // Old FF bug
8
8
  || nativeExpm1(10) > 22025.465794806719 || nativeExpm1(10) < 22025.4657948067165168
@@ -12,7 +12,7 @@ var roundTiesToEven = function (n) {
12
12
  };
13
13
 
14
14
  // `Math.fround` method implementation
15
- // https://tc39.github.io/ecma262/#sec-math.fround
15
+ // https://tc39.es/ecma262/#sec-math.fround
16
16
  module.exports = Math.fround || function fround(x) {
17
17
  var $abs = abs(x);
18
18
  var $sign = sign(x);
@@ -20,7 +20,7 @@ module.exports = Math.fround || function fround(x) {
20
20
  if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;
21
21
  a = (1 + EPSILON32 / EPSILON) * $abs;
22
22
  result = a - (a - $abs);
23
- // eslint-disable-next-line no-self-compare
23
+ // eslint-disable-next-line no-self-compare -- NaN check
24
24
  if (result > MAX32 || result != result) return $sign * Infinity;
25
25
  return $sign * result;
26
26
  };
@@ -1,7 +1,7 @@
1
1
  var log = Math.log;
2
2
 
3
3
  // `Math.log1p` method implementation
4
- // https://tc39.github.io/ecma262/#sec-math.log1p
4
+ // https://tc39.es/ecma262/#sec-math.log1p
5
5
  module.exports = Math.log1p || function log1p(x) {
6
6
  return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : log(1 + x);
7
7
  };
@@ -3,13 +3,13 @@
3
3
  module.exports = Math.scale || function scale(x, inLow, inHigh, outLow, outHigh) {
4
4
  if (
5
5
  arguments.length === 0
6
- /* eslint-disable no-self-compare */
6
+ /* eslint-disable no-self-compare -- NaN check */
7
7
  || x != x
8
8
  || inLow != inLow
9
9
  || inHigh != inHigh
10
10
  || outLow != outLow
11
11
  || outHigh != outHigh
12
- /* eslint-enable no-self-compare */
12
+ /* eslint-enable no-self-compare -- NaN check */
13
13
  ) return NaN;
14
14
  if (x === Infinity || x === -Infinity) return x;
15
15
  return (x - inLow) * (outHigh - outLow) / (inHigh - inLow) + outLow;
@@ -1,6 +1,6 @@
1
1
  // `Math.sign` method implementation
2
- // https://tc39.github.io/ecma262/#sec-math.sign
2
+ // https://tc39.es/ecma262/#sec-math.sign
3
3
  module.exports = Math.sign || function sign(x) {
4
- // eslint-disable-next-line no-self-compare
4
+ // eslint-disable-next-line no-self-compare -- NaN check
5
5
  return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;
6
6
  };
@@ -2,6 +2,7 @@ var global = require('../internals/global');
2
2
  var getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;
3
3
  var macrotask = require('../internals/task').set;
4
4
  var IS_IOS = require('../internals/engine-is-ios');
5
+ var IS_WEBOS_WEBKIT = require('../internals/engine-is-webos-webkit');
5
6
  var IS_NODE = require('../internals/engine-is-node');
6
7
 
7
8
  var MutationObserver = global.MutationObserver || global.WebKitMutationObserver;
@@ -34,7 +35,8 @@ if (!queueMicrotask) {
34
35
  };
35
36
 
36
37
  // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339
37
- if (!IS_IOS && !IS_NODE && MutationObserver && document) {
38
+ // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898
39
+ if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {
38
40
  toggle = true;
39
41
  node = document.createTextNode('');
40
42
  new MutationObserver(flush).observe(node, { characterData: true });
@@ -2,6 +2,6 @@ var fails = require('../internals/fails');
2
2
 
3
3
  module.exports = !!Object.getOwnPropertySymbols && !fails(function () {
4
4
  // Chrome 38 Symbol has incorrect toString conversion
5
- // eslint-disable-next-line no-undef
5
+ /* global Symbol -- required for testing */
6
6
  return !String(Symbol());
7
7
  });
@@ -3,7 +3,7 @@ var global = require('../internals/global');
3
3
  var globalIsFinite = global.isFinite;
4
4
 
5
5
  // `Number.isFinite` method
6
- // https://tc39.github.io/ecma262/#sec-number.isfinite
6
+ // https://tc39.es/ecma262/#sec-number.isfinite
7
7
  module.exports = Number.isFinite || function isFinite(it) {
8
8
  return typeof it == 'number' && globalIsFinite(it);
9
9
  };
@@ -6,7 +6,7 @@ var $parseFloat = global.parseFloat;
6
6
  var FORCED = 1 / $parseFloat(whitespaces + '-0') !== -Infinity;
7
7
 
8
8
  // `parseFloat` method
9
- // https://tc39.github.io/ecma262/#sec-parsefloat-string
9
+ // https://tc39.es/ecma262/#sec-parsefloat-string
10
10
  module.exports = FORCED ? function parseFloat(string) {
11
11
  var trimmedString = trim(String(string));
12
12
  var result = $parseFloat(trimmedString);
@@ -7,7 +7,7 @@ var hex = /^[+-]?0[Xx]/;
7
7
  var FORCED = $parseInt(whitespaces + '08') !== 8 || $parseInt(whitespaces + '0x16') !== 22;
8
8
 
9
9
  // `parseInt` method
10
- // https://tc39.github.io/ecma262/#sec-parseint-string-radix
10
+ // https://tc39.es/ecma262/#sec-parseint-string-radix
11
11
  module.exports = FORCED ? function parseInt(string, radix) {
12
12
  var S = trim(String(string));
13
13
  return $parseInt(S, (radix >>> 0) || (hex.test(S) ? 16 : 10));
@@ -11,7 +11,7 @@ var nativeAssign = Object.assign;
11
11
  var defineProperty = Object.defineProperty;
12
12
 
13
13
  // `Object.assign` method
14
- // https://tc39.github.io/ecma262/#sec-object.assign
14
+ // https://tc39.es/ecma262/#sec-object.assign
15
15
  module.exports = !nativeAssign || fails(function () {
16
16
  // should have correct order of operations (Edge bug)
17
17
  if (DESCRIPTORS && nativeAssign({ b: 1 }, nativeAssign(defineProperty({}, 'a', {
@@ -26,13 +26,13 @@ module.exports = !nativeAssign || fails(function () {
26
26
  // should work with symbols and should have deterministic property order (V8 bug)
27
27
  var A = {};
28
28
  var B = {};
29
- // eslint-disable-next-line no-undef
29
+ /* global Symbol -- required for testing */
30
30
  var symbol = Symbol();
31
31
  var alphabet = 'abcdefghijklmnopqrst';
32
32
  A[symbol] = 7;
33
33
  alphabet.split('').forEach(function (chr) { B[chr] = chr; });
34
34
  return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;
35
- }) ? function assign(target, source) { // eslint-disable-line no-unused-vars
35
+ }) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`
36
36
  var T = toObject(target);
37
37
  var argumentsLength = arguments.length;
38
38
  var index = 1;
@@ -52,7 +52,7 @@ var NullProtoObjectViaIFrame = function () {
52
52
  var activeXDocument;
53
53
  var NullProtoObject = function () {
54
54
  try {
55
- /* global ActiveXObject */
55
+ /* global ActiveXObject -- old IE */
56
56
  activeXDocument = document.domain && new ActiveXObject('htmlfile');
57
57
  } catch (error) { /* ignore */ }
58
58
  NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();
@@ -64,7 +64,7 @@ var NullProtoObject = function () {
64
64
  hiddenKeys[IE_PROTO] = true;
65
65
 
66
66
  // `Object.create` method
67
- // https://tc39.github.io/ecma262/#sec-object.create
67
+ // https://tc39.es/ecma262/#sec-object.create
68
68
  module.exports = Object.create || function create(O, Properties) {
69
69
  var result;
70
70
  if (O !== null) {
@@ -4,7 +4,7 @@ var anObject = require('../internals/an-object');
4
4
  var objectKeys = require('../internals/object-keys');
5
5
 
6
6
  // `Object.defineProperties` method
7
- // https://tc39.github.io/ecma262/#sec-object.defineproperties
7
+ // https://tc39.es/ecma262/#sec-object.defineproperties
8
8
  module.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {
9
9
  anObject(O);
10
10
  var keys = objectKeys(Properties);
@@ -6,7 +6,7 @@ var toPrimitive = require('../internals/to-primitive');
6
6
  var nativeDefineProperty = Object.defineProperty;
7
7
 
8
8
  // `Object.defineProperty` method
9
- // https://tc39.github.io/ecma262/#sec-object.defineproperty
9
+ // https://tc39.es/ecma262/#sec-object.defineproperty
10
10
  exports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
11
11
  anObject(O);
12
12
  P = toPrimitive(P, true);
@@ -9,7 +9,7 @@ var IE8_DOM_DEFINE = require('../internals/ie8-dom-define');
9
9
  var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
10
10
 
11
11
  // `Object.getOwnPropertyDescriptor` method
12
- // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
12
+ // https://tc39.es/ecma262/#sec-object.getownpropertydescriptor
13
13
  exports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
14
14
  O = toIndexedObject(O);
15
15
  P = toPrimitive(P, true);
@@ -4,7 +4,7 @@ var enumBugKeys = require('../internals/enum-bug-keys');
4
4
  var hiddenKeys = enumBugKeys.concat('length', 'prototype');
5
5
 
6
6
  // `Object.getOwnPropertyNames` method
7
- // https://tc39.github.io/ecma262/#sec-object.getownpropertynames
7
+ // https://tc39.es/ecma262/#sec-object.getownpropertynames
8
8
  exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
9
9
  return internalObjectKeys(O, hiddenKeys);
10
10
  };
@@ -7,7 +7,7 @@ var IE_PROTO = sharedKey('IE_PROTO');
7
7
  var ObjectPrototype = Object.prototype;
8
8
 
9
9
  // `Object.getPrototypeOf` method
10
- // https://tc39.github.io/ecma262/#sec-object.getprototypeof
10
+ // https://tc39.es/ecma262/#sec-object.getprototypeof
11
11
  module.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {
12
12
  O = toObject(O);
13
13
  if (has(O, IE_PROTO)) return O[IE_PROTO];
@@ -2,7 +2,7 @@ var internalObjectKeys = require('../internals/object-keys-internal');
2
2
  var enumBugKeys = require('../internals/enum-bug-keys');
3
3
 
4
4
  // `Object.keys` method
5
- // https://tc39.github.io/ecma262/#sec-object.keys
5
+ // https://tc39.es/ecma262/#sec-object.keys
6
6
  module.exports = Object.keys || function keys(O) {
7
7
  return internalObjectKeys(O, enumBugKeys);
8
8
  };
@@ -6,7 +6,7 @@ var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
6
6
  var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
7
7
 
8
8
  // `Object.prototype.propertyIsEnumerable` method implementation
9
- // https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
9
+ // https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable
10
10
  exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
11
11
  var descriptor = getOwnPropertyDescriptor(this, V);
12
12
  return !!descriptor && descriptor.enumerable;
@@ -7,7 +7,7 @@ var fails = require('../internals/fails');
7
7
  module.exports = IS_PURE || !fails(function () {
8
8
  var key = Math.random();
9
9
  // In FF throws only define methods
10
- // eslint-disable-next-line no-undef, no-useless-call
10
+ // eslint-disable-next-line no-undef, no-useless-call -- required for testing
11
11
  __defineSetter__.call(null, key, function () { /* empty */ });
12
12
  delete global[key];
13
13
  });
@@ -1,10 +1,10 @@
1
+ /* eslint-disable no-proto -- safe */
1
2
  var anObject = require('../internals/an-object');
2
3
  var aPossiblePrototype = require('../internals/a-possible-prototype');
3
4
 
4
5
  // `Object.setPrototypeOf` method
5
- // https://tc39.github.io/ecma262/#sec-object.setprototypeof
6
+ // https://tc39.es/ecma262/#sec-object.setprototypeof
6
7
  // Works with __proto__ only. Old v8 can't work with null proto objects.
7
- /* eslint-disable no-proto */
8
8
  module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {
9
9
  var CORRECT_SETTER = false;
10
10
  var test = {};
@@ -24,9 +24,9 @@ var createMethod = function (TO_ENTRIES) {
24
24
 
25
25
  module.exports = {
26
26
  // `Object.entries` method
27
- // https://tc39.github.io/ecma262/#sec-object.entries
27
+ // https://tc39.es/ecma262/#sec-object.entries
28
28
  entries: createMethod(true),
29
29
  // `Object.values` method
30
- // https://tc39.github.io/ecma262/#sec-object.values
30
+ // https://tc39.es/ecma262/#sec-object.values
31
31
  values: createMethod(false)
32
32
  };
@@ -3,7 +3,7 @@ var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');
3
3
  var classof = require('../internals/classof');
4
4
 
5
5
  // `Object.prototype.toString` method implementation
6
- // https://tc39.github.io/ecma262/#sec-object.prototype.tostring
6
+ // https://tc39.es/ecma262/#sec-object.prototype.tostring
7
7
  module.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {
8
8
  return '[object ' + classof(this) + ']';
9
9
  };
@@ -40,7 +40,7 @@ var $RangeIterator = createIteratorConstructor(function RangeIterator(start, end
40
40
  if (step === Infinity || step === -Infinity || (step === zero && start !== end)) {
41
41
  throw new RangeError(INCORRECT_RANGE);
42
42
  }
43
- // eslint-disable-next-line no-self-compare
43
+ // eslint-disable-next-line no-self-compare -- NaN check
44
44
  var hitsEnd = start != start || end != end || step != step || (end > start) !== (step > zero);
45
45
  setInternalState(this, {
46
46
  type: RANGE_ITERATOR,
@@ -2,7 +2,7 @@ var classof = require('./classof-raw');
2
2
  var regexpExec = require('./regexp-exec');
3
3
 
4
4
  // `RegExpExec` abstract operation
5
- // https://tc39.github.io/ecma262/#sec-regexpexec
5
+ // https://tc39.es/ecma262/#sec-regexpexec
6
6
  module.exports = function (R, S) {
7
7
  var exec = R.exec;
8
8
  if (typeof exec === 'function') {
@@ -21,6 +21,7 @@ var UPDATES_LAST_INDEX_WRONG = (function () {
21
21
  var UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET;
22
22
 
23
23
  // nonparticipating capturing group, copied from es5-shim's String#split patch.
24
+ // eslint-disable-next-line regexp/no-assertion-capturing-group, regexp/no-empty-group -- required for testing
24
25
  var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
25
26
 
26
27
  var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y;
@@ -2,7 +2,7 @@
2
2
  var anObject = require('../internals/an-object');
3
3
 
4
4
  // `RegExp.prototype.flags` getter implementation
5
- // https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags
5
+ // https://tc39.es/ecma262/#sec-get-regexp.prototype.flags
6
6
  module.exports = function () {
7
7
  var that = anObject(this);
8
8
  var result = '';
@@ -1,5 +1,5 @@
1
1
  // `RequireObjectCoercible` abstract operation
2
- // https://tc39.github.io/ecma262/#sec-requireobjectcoercible
2
+ // https://tc39.es/ecma262/#sec-requireobjectcoercible
3
3
  module.exports = function (it) {
4
4
  if (it == undefined) throw TypeError("Can't call method on " + it);
5
5
  return it;
@@ -1,6 +1,6 @@
1
1
  // `SameValueZero` abstract operation
2
- // https://tc39.github.io/ecma262/#sec-samevaluezero
2
+ // https://tc39.es/ecma262/#sec-samevaluezero
3
3
  module.exports = function (x, y) {
4
- // eslint-disable-next-line no-self-compare
4
+ // eslint-disable-next-line no-self-compare -- NaN check
5
5
  return x === y || x != x && y != y;
6
6
  };
@@ -1,6 +1,6 @@
1
1
  // `SameValue` abstract operation
2
- // https://tc39.github.io/ecma262/#sec-samevalue
2
+ // https://tc39.es/ecma262/#sec-samevalue
3
3
  module.exports = Object.is || function is(x, y) {
4
- // eslint-disable-next-line no-self-compare
4
+ // eslint-disable-next-line no-self-compare -- NaN check
5
5
  return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;
6
6
  };
@@ -4,7 +4,7 @@ var store = require('../internals/shared-store');
4
4
  (module.exports = function (key, value) {
5
5
  return store[key] || (store[key] = value !== undefined ? value : {});
6
6
  })('versions', []).push({
7
- version: '3.8.0',
7
+ version: '3.9.0',
8
8
  mode: IS_PURE ? 'pure' : 'global',
9
- copyright: '© 2020 Denis Pushkarev (zloirock.ru)'
9
+ copyright: '© 2021 Denis Pushkarev (zloirock.ru)'
10
10
  });
@@ -5,7 +5,7 @@ var wellKnownSymbol = require('../internals/well-known-symbol');
5
5
  var SPECIES = wellKnownSymbol('species');
6
6
 
7
7
  // `SpeciesConstructor` abstract operation
8
- // https://tc39.github.io/ecma262/#sec-speciesconstructor
8
+ // https://tc39.es/ecma262/#sec-speciesconstructor
9
9
  module.exports = function (O, defaultConstructor) {
10
10
  var C = anObject(O).constructor;
11
11
  var S;
@@ -19,7 +19,7 @@ var createMethod = function (CONVERT_TO_STRING) {
19
19
 
20
20
  module.exports = {
21
21
  // `String.prototype.codePointAt` method
22
- // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat
22
+ // https://tc39.es/ecma262/#sec-string.prototype.codepointat
23
23
  codeAt: createMethod(false),
24
24
  // `String.prototype.at` method
25
25
  // https://github.com/mathiasbynens/String.prototype.at
@@ -1,5 +1,5 @@
1
1
  // https://github.com/zloirock/core-js/issues/280
2
2
  var userAgent = require('../internals/engine-user-agent');
3
3
 
4
- // eslint-disable-next-line unicorn/no-unsafe-regex
4
+ // eslint-disable-next-line unicorn/no-unsafe-regex -- safe
5
5
  module.exports = /Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(userAgent);
@@ -23,9 +23,9 @@ var createMethod = function (IS_END) {
23
23
 
24
24
  module.exports = {
25
25
  // `String.prototype.padStart` method
26
- // https://tc39.github.io/ecma262/#sec-string.prototype.padstart
26
+ // https://tc39.es/ecma262/#sec-string.prototype.padstart
27
27
  start: createMethod(false),
28
28
  // `String.prototype.padEnd` method
29
- // https://tc39.github.io/ecma262/#sec-string.prototype.padend
29
+ // https://tc39.es/ecma262/#sec-string.prototype.padend
30
30
  end: createMethod(true)
31
31
  };
@@ -74,7 +74,7 @@ var adapt = function (delta, numPoints, firstTime) {
74
74
  * Converts a string of Unicode symbols (e.g. a domain name label) to a
75
75
  * Punycode string of ASCII-only symbols.
76
76
  */
77
- // eslint-disable-next-line max-statements
77
+ // eslint-disable-next-line max-statements -- TODO
78
78
  var encode = function (input) {
79
79
  var output = [];
80
80
 
@@ -3,7 +3,7 @@ var toInteger = require('../internals/to-integer');
3
3
  var requireObjectCoercible = require('../internals/require-object-coercible');
4
4
 
5
5
  // `String.prototype.repeat` method implementation
6
- // https://tc39.github.io/ecma262/#sec-string.prototype.repeat
6
+ // https://tc39.es/ecma262/#sec-string.prototype.repeat
7
7
  module.exports = ''.repeat || function repeat(count) {
8
8
  var str = String(requireObjectCoercible(this));
9
9
  var result = '';
@@ -17,12 +17,12 @@ var createMethod = function (TYPE) {
17
17
 
18
18
  module.exports = {
19
19
  // `String.prototype.{ trimLeft, trimStart }` methods
20
- // https://tc39.github.io/ecma262/#sec-string.prototype.trimstart
20
+ // https://tc39.es/ecma262/#sec-string.prototype.trimstart
21
21
  start: createMethod(1),
22
22
  // `String.prototype.{ trimRight, trimEnd }` methods
23
- // https://tc39.github.io/ecma262/#sec-string.prototype.trimend
23
+ // https://tc39.es/ecma262/#sec-string.prototype.trimend
24
24
  end: createMethod(2),
25
25
  // `String.prototype.trim` method
26
- // https://tc39.github.io/ecma262/#sec-string.prototype.trim
26
+ // https://tc39.es/ecma262/#sec-string.prototype.trim
27
27
  trim: createMethod(3)
28
28
  };
package/internals/task.js CHANGED
@@ -18,7 +18,7 @@ var ONREADYSTATECHANGE = 'onreadystatechange';
18
18
  var defer, channel, port;
19
19
 
20
20
  var run = function (id) {
21
- // eslint-disable-next-line no-prototype-builtins
21
+ // eslint-disable-next-line no-prototype-builtins -- safe
22
22
  if (queue.hasOwnProperty(id)) {
23
23
  var fn = queue[id];
24
24
  delete queue[id];
@@ -48,7 +48,7 @@ if (!set || !clear) {
48
48
  var i = 1;
49
49
  while (arguments.length > i) args.push(arguments[i++]);
50
50
  queue[++counter] = function () {
51
- // eslint-disable-next-line no-new-func
51
+ // eslint-disable-next-line no-new-func -- spec requirement
52
52
  (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);
53
53
  };
54
54
  defer(counter);
@@ -1,7 +1,7 @@
1
1
  var classof = require('../internals/classof-raw');
2
2
 
3
3
  // `thisNumberValue` abstract operation
4
- // https://tc39.github.io/ecma262/#sec-thisnumbervalue
4
+ // https://tc39.es/ecma262/#sec-thisnumbervalue
5
5
  module.exports = function (value) {
6
6
  if (typeof value != 'number' && classof(value) != 'Number') {
7
7
  throw TypeError('Incorrect invocation');
@@ -2,7 +2,7 @@ var toInteger = require('../internals/to-integer');
2
2
  var toLength = require('../internals/to-length');
3
3
 
4
4
  // `ToIndex` abstract operation
5
- // https://tc39.github.io/ecma262/#sec-toindex
5
+ // https://tc39.es/ecma262/#sec-toindex
6
6
  module.exports = function (it) {
7
7
  if (it === undefined) return 0;
8
8
  var number = toInteger(it);
@@ -2,7 +2,7 @@ var ceil = Math.ceil;
2
2
  var floor = Math.floor;
3
3
 
4
4
  // `ToInteger` abstract operation
5
- // https://tc39.github.io/ecma262/#sec-tointeger
5
+ // https://tc39.es/ecma262/#sec-tointeger
6
6
  module.exports = function (argument) {
7
7
  return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
8
8
  };
@@ -3,7 +3,7 @@ var toInteger = require('../internals/to-integer');
3
3
  var min = Math.min;
4
4
 
5
5
  // `ToLength` abstract operation
6
- // https://tc39.github.io/ecma262/#sec-tolength
6
+ // https://tc39.es/ecma262/#sec-tolength
7
7
  module.exports = function (argument) {
8
8
  return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
9
9
  };
@@ -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
  };