core-js-pure 3.7.0 → 3.8.3

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 (255) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +3 -2
  3. package/es/array/virtual/filter-out.js +4 -0
  4. package/es/instance/replace-all.js +9 -0
  5. package/es/promise/all-settled.js +2 -0
  6. package/es/promise/any.js +2 -0
  7. package/features/array/at.js +4 -0
  8. package/features/array/filter-out.js +4 -0
  9. package/features/array/index.js +4 -0
  10. package/features/array/unique-by.js +5 -0
  11. package/features/array/virtual/at.js +4 -0
  12. package/features/array/virtual/filter-out.js +4 -0
  13. package/features/array/virtual/index.js +3 -0
  14. package/features/array/virtual/unique-by.js +5 -0
  15. package/features/bigint/index.js +4 -0
  16. package/features/bigint/range.js +4 -0
  17. package/features/instance/at.js +7 -3
  18. package/features/instance/filter-out.js +8 -0
  19. package/features/instance/replace-all.js +2 -8
  20. package/features/instance/unique-by.js +8 -0
  21. package/features/number/index.js +1 -0
  22. package/features/number/range.js +4 -0
  23. package/features/string/index.js +2 -0
  24. package/features/string/virtual/index.js +2 -0
  25. package/features/typed-array/at.js +1 -0
  26. package/features/typed-array/filter-out.js +1 -0
  27. package/features/typed-array/index.js +2 -0
  28. package/internals/advance-string-index.js +1 -1
  29. package/internals/array-copy-within.js +1 -1
  30. package/internals/array-fill.js +1 -1
  31. package/internals/array-for-each.js +1 -1
  32. package/internals/array-from.js +1 -1
  33. package/internals/array-includes.js +2 -2
  34. package/internals/array-iteration.js +18 -11
  35. package/internals/array-last-index-of.js +1 -1
  36. package/internals/array-reduce.js +2 -2
  37. package/internals/array-species-create.js +1 -1
  38. package/internals/create-html.js +1 -1
  39. package/internals/date-to-iso-string.js +1 -1
  40. package/internals/descriptors.js +1 -1
  41. package/internals/engine-is-webos-webkit.js +3 -0
  42. package/internals/function-bind.js +1 -1
  43. package/internals/get-substitution.js +40 -0
  44. package/internals/is-array.js +1 -1
  45. package/internals/is-integer.js +1 -1
  46. package/internals/is-regexp.js +1 -1
  47. package/internals/iterators-core.js +10 -3
  48. package/internals/math-expm1.js +1 -1
  49. package/internals/math-fround.js +1 -1
  50. package/internals/math-log1p.js +1 -1
  51. package/internals/math-sign.js +1 -1
  52. package/internals/microtask.js +3 -1
  53. package/internals/number-is-finite.js +1 -1
  54. package/internals/number-parse-float.js +1 -1
  55. package/internals/number-parse-int.js +1 -1
  56. package/internals/object-assign.js +1 -1
  57. package/internals/object-create.js +1 -1
  58. package/internals/object-define-properties.js +1 -1
  59. package/internals/object-define-property.js +1 -1
  60. package/internals/object-get-own-property-descriptor.js +1 -1
  61. package/internals/object-get-own-property-names.js +1 -1
  62. package/internals/object-get-prototype-of.js +1 -1
  63. package/internals/object-keys.js +1 -1
  64. package/internals/object-property-is-enumerable.js +1 -1
  65. package/internals/object-set-prototype-of.js +1 -1
  66. package/internals/object-to-array.js +2 -2
  67. package/internals/object-to-string.js +1 -1
  68. package/internals/range-iterator.js +102 -0
  69. package/internals/regexp-flags.js +1 -1
  70. package/internals/require-object-coercible.js +1 -1
  71. package/internals/same-value-zero.js +1 -1
  72. package/internals/same-value.js +1 -1
  73. package/internals/shared.js +2 -2
  74. package/internals/species-constructor.js +1 -1
  75. package/internals/string-multibyte.js +1 -1
  76. package/internals/string-pad.js +2 -2
  77. package/internals/string-repeat.js +1 -1
  78. package/internals/string-trim.js +3 -3
  79. package/internals/this-number-value.js +1 -1
  80. package/internals/to-index.js +1 -1
  81. package/internals/to-integer.js +1 -1
  82. package/internals/to-length.js +1 -1
  83. package/internals/to-object.js +1 -1
  84. package/internals/to-primitive.js +1 -1
  85. package/modules/es.aggregate-error.js +3 -0
  86. package/modules/es.array.concat.js +1 -1
  87. package/modules/es.array.copy-within.js +2 -2
  88. package/modules/es.array.every.js +1 -1
  89. package/modules/es.array.fill.js +2 -2
  90. package/modules/es.array.filter.js +1 -1
  91. package/modules/es.array.find-index.js +2 -2
  92. package/modules/es.array.find.js +2 -2
  93. package/modules/es.array.flat-map.js +1 -1
  94. package/modules/es.array.flat.js +1 -1
  95. package/modules/es.array.for-each.js +1 -1
  96. package/modules/es.array.from.js +1 -1
  97. package/modules/es.array.includes.js +2 -2
  98. package/modules/es.array.index-of.js +1 -1
  99. package/modules/es.array.is-array.js +1 -1
  100. package/modules/es.array.iterator.js +9 -9
  101. package/modules/es.array.join.js +1 -1
  102. package/modules/es.array.last-index-of.js +1 -1
  103. package/modules/es.array.map.js +1 -1
  104. package/modules/es.array.of.js +1 -1
  105. package/modules/es.array.reduce-right.js +1 -1
  106. package/modules/es.array.reduce.js +1 -1
  107. package/modules/es.array.reverse.js +1 -1
  108. package/modules/es.array.slice.js +1 -1
  109. package/modules/es.array.some.js +1 -1
  110. package/modules/es.array.sort.js +1 -1
  111. package/modules/es.array.species.js +1 -1
  112. package/modules/es.array.splice.js +1 -1
  113. package/modules/es.array.unscopables.flat-map.js +1 -0
  114. package/modules/es.array.unscopables.flat.js +1 -0
  115. package/modules/es.date.now.js +1 -1
  116. package/modules/es.date.to-iso-string.js +1 -1
  117. package/modules/es.date.to-json.js +2 -0
  118. package/modules/es.function.bind.js +1 -1
  119. package/modules/es.function.has-instance.js +1 -1
  120. package/modules/es.global-this.js +1 -1
  121. package/modules/es.json.stringify.js +2 -0
  122. package/modules/es.json.to-string-tag.js +1 -1
  123. package/modules/es.map.js +1 -1
  124. package/modules/es.math.acosh.js +1 -1
  125. package/modules/es.math.asinh.js +1 -1
  126. package/modules/es.math.atanh.js +1 -1
  127. package/modules/es.math.cbrt.js +1 -1
  128. package/modules/es.math.clz32.js +1 -1
  129. package/modules/es.math.cosh.js +1 -1
  130. package/modules/es.math.expm1.js +1 -1
  131. package/modules/es.math.fround.js +1 -1
  132. package/modules/es.math.hypot.js +1 -1
  133. package/modules/es.math.imul.js +1 -1
  134. package/modules/es.math.log10.js +1 -1
  135. package/modules/es.math.log1p.js +1 -1
  136. package/modules/es.math.log2.js +1 -1
  137. package/modules/es.math.sign.js +1 -1
  138. package/modules/es.math.sinh.js +1 -1
  139. package/modules/es.math.tanh.js +1 -1
  140. package/modules/es.math.trunc.js +1 -1
  141. package/modules/es.number.epsilon.js +1 -1
  142. package/modules/es.number.is-finite.js +1 -1
  143. package/modules/es.number.is-integer.js +1 -1
  144. package/modules/es.number.is-nan.js +1 -1
  145. package/modules/es.number.is-safe-integer.js +1 -1
  146. package/modules/es.number.max-safe-integer.js +1 -1
  147. package/modules/es.number.min-safe-integer.js +1 -1
  148. package/modules/es.number.parse-float.js +1 -1
  149. package/modules/es.number.parse-int.js +1 -1
  150. package/modules/es.number.to-fixed.js +1 -1
  151. package/modules/es.number.to-precision.js +1 -1
  152. package/modules/es.object.assign.js +1 -1
  153. package/modules/es.object.create.js +1 -1
  154. package/modules/es.object.define-getter.js +1 -1
  155. package/modules/es.object.define-properties.js +1 -1
  156. package/modules/es.object.define-property.js +1 -1
  157. package/modules/es.object.define-setter.js +1 -1
  158. package/modules/es.object.entries.js +1 -1
  159. package/modules/es.object.freeze.js +1 -1
  160. package/modules/es.object.get-own-property-descriptor.js +1 -1
  161. package/modules/es.object.get-own-property-descriptors.js +1 -1
  162. package/modules/es.object.get-own-property-names.js +1 -1
  163. package/modules/es.object.get-prototype-of.js +1 -1
  164. package/modules/es.object.is-extensible.js +1 -1
  165. package/modules/es.object.is-frozen.js +1 -1
  166. package/modules/es.object.is-sealed.js +1 -1
  167. package/modules/es.object.is.js +1 -1
  168. package/modules/es.object.keys.js +1 -1
  169. package/modules/es.object.lookup-getter.js +1 -1
  170. package/modules/es.object.lookup-setter.js +1 -1
  171. package/modules/es.object.prevent-extensions.js +1 -1
  172. package/modules/es.object.seal.js +1 -1
  173. package/modules/es.object.set-prototype-of.js +1 -1
  174. package/modules/es.object.values.js +1 -1
  175. package/modules/es.parse-float.js +1 -1
  176. package/modules/es.parse-int.js +1 -1
  177. package/modules/es.promise.all-settled.js +1 -1
  178. package/modules/es.promise.any.js +1 -1
  179. package/modules/es.promise.finally.js +1 -1
  180. package/modules/es.promise.js +6 -6
  181. package/modules/es.reflect.apply.js +1 -1
  182. package/modules/es.reflect.construct.js +1 -1
  183. package/modules/es.reflect.define-property.js +1 -1
  184. package/modules/es.reflect.delete-property.js +1 -1
  185. package/modules/es.reflect.get-own-property-descriptor.js +1 -1
  186. package/modules/es.reflect.get-prototype-of.js +1 -1
  187. package/modules/es.reflect.get.js +1 -1
  188. package/modules/es.reflect.has.js +1 -1
  189. package/modules/es.reflect.is-extensible.js +1 -1
  190. package/modules/es.reflect.own-keys.js +1 -1
  191. package/modules/es.reflect.prevent-extensions.js +1 -1
  192. package/modules/es.reflect.set-prototype-of.js +1 -1
  193. package/modules/es.reflect.set.js +1 -1
  194. package/modules/es.set.js +1 -1
  195. package/modules/es.string.anchor.js +1 -1
  196. package/modules/es.string.big.js +1 -1
  197. package/modules/es.string.blink.js +1 -1
  198. package/modules/es.string.bold.js +1 -1
  199. package/modules/es.string.code-point-at.js +1 -1
  200. package/modules/es.string.ends-with.js +1 -1
  201. package/modules/es.string.fixed.js +1 -1
  202. package/modules/es.string.fontcolor.js +1 -1
  203. package/modules/es.string.fontsize.js +1 -1
  204. package/modules/es.string.from-code-point.js +1 -1
  205. package/modules/es.string.includes.js +1 -1
  206. package/modules/es.string.italics.js +1 -1
  207. package/modules/es.string.iterator.js +2 -2
  208. package/modules/es.string.link.js +1 -1
  209. package/modules/es.string.match-all.js +1 -1
  210. package/modules/es.string.pad-end.js +1 -1
  211. package/modules/es.string.pad-start.js +1 -1
  212. package/modules/es.string.raw.js +1 -1
  213. package/modules/es.string.repeat.js +1 -1
  214. package/modules/es.string.replace-all.js +29 -12
  215. package/modules/es.string.small.js +1 -1
  216. package/modules/es.string.starts-with.js +1 -1
  217. package/modules/es.string.strike.js +1 -1
  218. package/modules/es.string.sub.js +1 -1
  219. package/modules/es.string.sup.js +1 -1
  220. package/modules/es.string.trim-end.js +2 -1
  221. package/modules/es.string.trim-start.js +2 -1
  222. package/modules/es.string.trim.js +1 -1
  223. package/modules/es.symbol.async-iterator.js +1 -1
  224. package/modules/es.symbol.has-instance.js +1 -1
  225. package/modules/es.symbol.is-concat-spreadable.js +1 -1
  226. package/modules/es.symbol.iterator.js +1 -1
  227. package/modules/es.symbol.js +12 -12
  228. package/modules/es.symbol.match-all.js +1 -0
  229. package/modules/es.symbol.match.js +1 -1
  230. package/modules/es.symbol.replace.js +1 -1
  231. package/modules/es.symbol.search.js +1 -1
  232. package/modules/es.symbol.species.js +1 -1
  233. package/modules/es.symbol.split.js +1 -1
  234. package/modules/es.symbol.to-primitive.js +1 -1
  235. package/modules/es.symbol.to-string-tag.js +1 -1
  236. package/modules/es.symbol.unscopables.js +1 -1
  237. package/modules/es.weak-map.js +1 -1
  238. package/modules/es.weak-set.js +1 -1
  239. package/modules/esnext.array.at.js +20 -0
  240. package/modules/esnext.array.filter-out.js +14 -0
  241. package/modules/esnext.array.unique-by.js +38 -0
  242. package/modules/esnext.bigint.range.js +14 -0
  243. package/modules/esnext.number.range.js +11 -0
  244. package/modules/esnext.string.at-alternative.js +23 -0
  245. package/modules/esnext.string.at.js +6 -1
  246. package/modules/esnext.typed-array.at.js +1 -0
  247. package/modules/esnext.typed-array.filter-out.js +1 -0
  248. package/package.json +3 -2
  249. package/proposals/array-filtering.js +3 -0
  250. package/proposals/array-unique.js +3 -0
  251. package/proposals/number-range.js +3 -0
  252. package/proposals/relative-indexing-method.js +5 -0
  253. package/stable/instance/replace-all.js +3 -0
  254. package/stage/1.js +3 -0
  255. package/stage/3.js +1 -0
package/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2014-2020 Denis Pushkarev
1
+ Copyright (c) 2014-2021 Denis Pushkarev
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -1,8 +1,9 @@
1
1
  # core-js-pure
2
2
 
3
- [![Sponsors on Open Collective](https://opencollective.com/core-js/sponsors/badge.svg)](#sponsors) [![Backers on Open Collective](https://opencollective.com/core-js/backers/badge.svg)](#backers) [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/zloirock/core-js?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![version](https://img.shields.io/npm/v/core-js-pure.svg)](https://www.npmjs.com/package/core-js-pure) [![npm downloads](https://img.shields.io/npm/dm/core-js-pure.svg)](http://npm-stat.com/charts.html?package=core-js-pure&author=&from=2019-03-18) [![Build Status](https://travis-ci.org/zloirock/core-js.svg)](https://travis-ci.org/zloirock/core-js) [![devDependency status](https://david-dm.org/zloirock/core-js/dev-status.svg)](https://david-dm.org/zloirock/core-js?type=dev)
3
+ [![Sponsors on Open Collective](https://opencollective.com/core-js/sponsors/badge.svg)](#sponsors) [![Backers on Open Collective](https://opencollective.com/core-js/backers/badge.svg)](#backers) [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/zloirock/core-js?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![version](https://img.shields.io/npm/v/core-js-pure.svg)](https://www.npmjs.com/package/core-js-pure) [![npm downloads](https://img.shields.io/npm/dm/core-js-pure.svg)](http://npm-stat.com/charts.html?package=core-js-pure&author=&from=2019-03-18) [![tests](https://github.com/zloirock/core-js/workflows/tests/badge.svg)](https://github.com/zloirock/core-js/actions)
4
+ [![eslint](https://github.com/zloirock/core-js/workflows/eslint/badge.svg)](https://github.com/zloirock/core-js/actions)
4
5
 
5
- > Modular standard library for JavaScript. Includes polyfills for [ECMAScript up to 2019](https://github.com/zloirock/core-js#ecmascript): [promises](https://github.com/zloirock/core-js#ecmascript-promise), [symbols](https://github.com/zloirock/core-js#ecmascript-symbol), [collections](https://github.com/zloirock/core-js#ecmascript-collections), iterators, [typed arrays](https://github.com/zloirock/core-js#ecmascript-typed-arrays), many other features, [ECMAScript proposals](https://github.com/zloirock/core-js#ecmascript-proposals), [some cross-platform WHATWG / W3C features and proposals](#web-standards) like [`URL`](https://github.com/zloirock/core-js#url-and-urlsearchparams). You can load only required features or use it without global namespace pollution.
6
+ > Modular standard library for JavaScript. Includes polyfills for [ECMAScript up to 2021](https://github.com/zloirock/core-js#ecmascript): [promises](https://github.com/zloirock/core-js#ecmascript-promise), [symbols](https://github.com/zloirock/core-js#ecmascript-symbol), [collections](https://github.com/zloirock/core-js#ecmascript-collections), iterators, [typed arrays](https://github.com/zloirock/core-js#ecmascript-typed-arrays), many other features, [ECMAScript proposals](https://github.com/zloirock/core-js#ecmascript-proposals), [some cross-platform WHATWG / W3C features and proposals](#web-standards) like [`URL`](https://github.com/zloirock/core-js#url-and-urlsearchparams). You can load only required features or use it without global namespace pollution.
6
7
 
7
8
  ## As advertising: the author is looking for a good job -)
8
9
 
@@ -0,0 +1,4 @@
1
+ require('../../../modules/esnext.array.filter-out');
2
+ var entryVirtual = require('../../../internals/entry-virtual');
3
+
4
+ module.exports = entryVirtual('Array').filterOut;
@@ -0,0 +1,9 @@
1
+ var replaceAll = require('../string/virtual/replace-all');
2
+
3
+ var StringPrototype = String.prototype;
4
+
5
+ module.exports = function (it) {
6
+ var own = it.replaceAll;
7
+ return typeof it === 'string' || it === StringPrototype
8
+ || (it instanceof String && own === StringPrototype.replaceAll) ? replaceAll : own;
9
+ };
@@ -1,6 +1,8 @@
1
1
  'use strict';
2
2
  require('../../modules/es.promise');
3
3
  require('../../modules/es.promise.all-settled');
4
+ require('../../modules/es.string.iterator');
5
+ require('../../modules/web.dom-collections.iterator');
4
6
  var path = require('../../internals/path');
5
7
 
6
8
  var Promise = path.Promise;
package/es/promise/any.js CHANGED
@@ -2,6 +2,8 @@
2
2
  require('../../modules/es.aggregate-error');
3
3
  require('../../modules/es.promise');
4
4
  require('../../modules/es.promise.any');
5
+ require('../../modules/es.string.iterator');
6
+ require('../../modules/web.dom-collections.iterator');
5
7
  var path = require('../../internals/path');
6
8
 
7
9
  var Promise = path.Promise;
@@ -0,0 +1,4 @@
1
+ require('../../modules/esnext.array.at');
2
+ var entryUnbind = require('../../internals/entry-unbind');
3
+
4
+ module.exports = entryUnbind('Array', 'at');
@@ -0,0 +1,4 @@
1
+ require('../../modules/esnext.array.filter-out');
2
+ var entryUnbind = require('../../internals/entry-unbind');
3
+
4
+ module.exports = entryUnbind('Array', 'filterOut');
@@ -1,6 +1,10 @@
1
1
  var parent = require('../../es/array');
2
+ require('../../modules/es.map');
3
+ require('../../modules/esnext.array.at');
4
+ require('../../modules/esnext.array.filter-out');
2
5
  require('../../modules/esnext.array.is-template-object');
3
6
  require('../../modules/esnext.array.last-item');
4
7
  require('../../modules/esnext.array.last-index');
8
+ require('../../modules/esnext.array.unique-by');
5
9
 
6
10
  module.exports = parent;
@@ -0,0 +1,5 @@
1
+ require('../../modules/es.map');
2
+ require('../../modules/esnext.array.unique-by');
3
+ var entryUnbind = require('../../internals/entry-unbind');
4
+
5
+ module.exports = entryUnbind('Array', 'uniqueBy');
@@ -0,0 +1,4 @@
1
+ require('../../../modules/esnext.array.at');
2
+ var entryVirtual = require('../../../internals/entry-virtual');
3
+
4
+ module.exports = entryVirtual('Array').at;
@@ -0,0 +1,4 @@
1
+ require('../../../modules/esnext.array.filter-out');
2
+ var entryVirtual = require('../../../internals/entry-virtual');
3
+
4
+ module.exports = entryVirtual('Array').filterOut;
@@ -1,3 +1,6 @@
1
1
  var parent = require('../../../es/array/virtual');
2
+ require('../../../modules/esnext.array.at');
3
+ require('../../../modules/esnext.array.filter-out');
4
+ require('../../../modules/esnext.array.unique-by');
2
5
 
3
6
  module.exports = parent;
@@ -0,0 +1,5 @@
1
+ require('../../../modules/es.map');
2
+ require('../../../modules/esnext.array.unique-by');
3
+ var entryVirtual = require('../../../internals/entry-virtual');
4
+
5
+ module.exports = entryVirtual('Array').uniqueBy;
@@ -0,0 +1,4 @@
1
+ require('../../modules/esnext.bigint.range');
2
+ var BigInt = require('../../internals/path').BigInt;
3
+
4
+ module.exports = BigInt;
@@ -0,0 +1,4 @@
1
+ require('../../modules/esnext.bigint.range');
2
+ var BigInt = require('../../internals/path').BigInt;
3
+
4
+ module.exports = BigInt && BigInt.range;
@@ -1,9 +1,13 @@
1
- var at = require('../string/virtual/at');
1
+ var arrayAt = require('../array/virtual/at');
2
+ var stringAt = require('../string/virtual/at');
2
3
 
4
+ var ArrayPrototype = Array.prototype;
3
5
  var StringPrototype = String.prototype;
4
6
 
5
7
  module.exports = function (it) {
6
8
  var own = it.at;
7
- return typeof it === 'string' || it === StringPrototype
8
- || (it instanceof String && own === StringPrototype.at) ? at : own;
9
+ if (it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.at)) return arrayAt;
10
+ if (typeof it === 'string' || it === StringPrototype || (it instanceof String && own === StringPrototype.at)) {
11
+ return stringAt;
12
+ } return own;
9
13
  };
@@ -0,0 +1,8 @@
1
+ var filterOut = require('../array/virtual/filter-out');
2
+
3
+ var ArrayPrototype = Array.prototype;
4
+
5
+ module.exports = function (it) {
6
+ var own = it.filterOut;
7
+ return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.filterOut) ? filterOut : own;
8
+ };
@@ -1,9 +1,3 @@
1
- var replaceAll = require('../string/virtual/replace-all');
1
+ var parent = require('../../stable/instance/replace-all');
2
2
 
3
- var StringPrototype = String.prototype;
4
-
5
- module.exports = function (it) {
6
- var own = it.replaceAll;
7
- return typeof it === 'string' || it === StringPrototype
8
- || (it instanceof String && own === StringPrototype.replaceAll) ? replaceAll : own;
9
- };
3
+ module.exports = parent;
@@ -0,0 +1,8 @@
1
+ var uniqueBy = require('../array/virtual/unique-by');
2
+
3
+ var ArrayPrototype = Array.prototype;
4
+
5
+ module.exports = function (it) {
6
+ var own = it.uniqueBy;
7
+ return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.uniqueBy) ? uniqueBy : own;
8
+ };
@@ -3,3 +3,4 @@ var parent = require('../../es/number');
3
3
  module.exports = parent;
4
4
 
5
5
  require('../../modules/esnext.number.from-string');
6
+ require('../../modules/esnext.number.range');
@@ -0,0 +1,4 @@
1
+ require('../../modules/esnext.number.range');
2
+ var path = require('../../internals/path');
3
+
4
+ module.exports = path.Number.range;
@@ -1,5 +1,7 @@
1
1
  var parent = require('../../es/string');
2
2
  require('../../modules/esnext.string.at');
3
+ // TODO: disabled by default because of the conflict with another proposal
4
+ // require('../../modules/esnext.string.at-alternative');
3
5
  require('../../modules/esnext.string.code-points');
4
6
  // TODO: remove from `core-js@4`
5
7
  require('../../modules/esnext.string.match-all');
@@ -1,5 +1,7 @@
1
1
  var parent = require('../../../es/string/virtual');
2
2
  require('../../../modules/esnext.string.at');
3
+ // TODO: disabled by default because of the conflict with another proposal
4
+ // require('../../../modules/esnext.string.at-alternative');
3
5
  require('../../../modules/esnext.string.code-points');
4
6
  // TODO: remove from `core-js@4`
5
7
  require('../../../modules/esnext.string.match-all');
@@ -0,0 +1 @@
1
+ require('../../modules/esnext.typed-array.at');
@@ -0,0 +1 @@
1
+ require('../../modules/esnext.typed-array.filter-out');
@@ -1,3 +1,5 @@
1
1
  var parent = require('../../es/typed-array');
2
+ require('../../modules/esnext.typed-array.at');
3
+ require('../../modules/esnext.typed-array.filter-out');
2
4
 
3
5
  module.exports = parent;
@@ -2,7 +2,7 @@
2
2
  var charAt = require('../internals/string-multibyte').charAt;
3
3
 
4
4
  // `AdvanceStringIndex` abstract operation
5
- // https://tc39.github.io/ecma262/#sec-advancestringindex
5
+ // https://tc39.es/ecma262/#sec-advancestringindex
6
6
  module.exports = function (S, index, unicode) {
7
7
  return index + (unicode ? charAt(S, index).length : 1);
8
8
  };
@@ -6,7 +6,7 @@ var toLength = require('../internals/to-length');
6
6
  var min = Math.min;
7
7
 
8
8
  // `Array.prototype.copyWithin` method implementation
9
- // https://tc39.github.io/ecma262/#sec-array.prototype.copywithin
9
+ // https://tc39.es/ecma262/#sec-array.prototype.copywithin
10
10
  module.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {
11
11
  var O = toObject(this);
12
12
  var len = toLength(O.length);
@@ -4,7 +4,7 @@ var toAbsoluteIndex = require('../internals/to-absolute-index');
4
4
  var toLength = require('../internals/to-length');
5
5
 
6
6
  // `Array.prototype.fill` method implementation
7
- // https://tc39.github.io/ecma262/#sec-array.prototype.fill
7
+ // https://tc39.es/ecma262/#sec-array.prototype.fill
8
8
  module.exports = function fill(value /* , start = 0, end = @length */) {
9
9
  var O = toObject(this);
10
10
  var length = toLength(O.length);
@@ -7,7 +7,7 @@ var STRICT_METHOD = arrayMethodIsStrict('forEach');
7
7
  var USES_TO_LENGTH = arrayMethodUsesToLength('forEach');
8
8
 
9
9
  // `Array.prototype.forEach` method implementation
10
- // https://tc39.github.io/ecma262/#sec-array.prototype.foreach
10
+ // https://tc39.es/ecma262/#sec-array.prototype.foreach
11
11
  module.exports = (!STRICT_METHOD || !USES_TO_LENGTH) ? function forEach(callbackfn /* , thisArg */) {
12
12
  return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
13
13
  } : [].forEach;
@@ -8,7 +8,7 @@ var createProperty = require('../internals/create-property');
8
8
  var getIteratorMethod = require('../internals/get-iterator-method');
9
9
 
10
10
  // `Array.from` method implementation
11
- // https://tc39.github.io/ecma262/#sec-array.from
11
+ // https://tc39.es/ecma262/#sec-array.from
12
12
  module.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {
13
13
  var O = toObject(arrayLike);
14
14
  var C = typeof this == 'function' ? this : Array;
@@ -24,9 +24,9 @@ var createMethod = function (IS_INCLUDES) {
24
24
 
25
25
  module.exports = {
26
26
  // `Array.prototype.includes` method
27
- // https://tc39.github.io/ecma262/#sec-array.prototype.includes
27
+ // https://tc39.es/ecma262/#sec-array.prototype.includes
28
28
  includes: createMethod(true),
29
29
  // `Array.prototype.indexOf` method
30
- // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
30
+ // https://tc39.es/ecma262/#sec-array.prototype.indexof
31
31
  indexOf: createMethod(false)
32
32
  };
@@ -6,13 +6,14 @@ var arraySpeciesCreate = require('../internals/array-species-create');
6
6
 
7
7
  var push = [].push;
8
8
 
9
- // `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation
9
+ // `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterOut }` methods implementation
10
10
  var createMethod = function (TYPE) {
11
11
  var IS_MAP = TYPE == 1;
12
12
  var IS_FILTER = TYPE == 2;
13
13
  var IS_SOME = TYPE == 3;
14
14
  var IS_EVERY = TYPE == 4;
15
15
  var IS_FIND_INDEX = TYPE == 6;
16
+ var IS_FILTER_OUT = TYPE == 7;
16
17
  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
17
18
  return function ($this, callbackfn, that, specificCreate) {
18
19
  var O = toObject($this);
@@ -21,7 +22,7 @@ var createMethod = function (TYPE) {
21
22
  var length = toLength(self.length);
22
23
  var index = 0;
23
24
  var create = specificCreate || arraySpeciesCreate;
24
- var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
25
+ var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_OUT ? create($this, 0) : undefined;
25
26
  var value, result;
26
27
  for (;length > index; index++) if (NO_HOLES || index in self) {
27
28
  value = self[index];
@@ -33,7 +34,10 @@ var createMethod = function (TYPE) {
33
34
  case 5: return value; // find
34
35
  case 6: return index; // findIndex
35
36
  case 2: push.call(target, value); // filter
36
- } else if (IS_EVERY) return false; // every
37
+ } else switch (TYPE) {
38
+ case 4: return false; // every
39
+ case 7: push.call(target, value); // filterOut
40
+ }
37
41
  }
38
42
  }
39
43
  return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
@@ -42,24 +46,27 @@ var createMethod = function (TYPE) {
42
46
 
43
47
  module.exports = {
44
48
  // `Array.prototype.forEach` method
45
- // https://tc39.github.io/ecma262/#sec-array.prototype.foreach
49
+ // https://tc39.es/ecma262/#sec-array.prototype.foreach
46
50
  forEach: createMethod(0),
47
51
  // `Array.prototype.map` method
48
- // https://tc39.github.io/ecma262/#sec-array.prototype.map
52
+ // https://tc39.es/ecma262/#sec-array.prototype.map
49
53
  map: createMethod(1),
50
54
  // `Array.prototype.filter` method
51
- // https://tc39.github.io/ecma262/#sec-array.prototype.filter
55
+ // https://tc39.es/ecma262/#sec-array.prototype.filter
52
56
  filter: createMethod(2),
53
57
  // `Array.prototype.some` method
54
- // https://tc39.github.io/ecma262/#sec-array.prototype.some
58
+ // https://tc39.es/ecma262/#sec-array.prototype.some
55
59
  some: createMethod(3),
56
60
  // `Array.prototype.every` method
57
- // https://tc39.github.io/ecma262/#sec-array.prototype.every
61
+ // https://tc39.es/ecma262/#sec-array.prototype.every
58
62
  every: createMethod(4),
59
63
  // `Array.prototype.find` method
60
- // https://tc39.github.io/ecma262/#sec-array.prototype.find
64
+ // https://tc39.es/ecma262/#sec-array.prototype.find
61
65
  find: createMethod(5),
62
66
  // `Array.prototype.findIndex` method
63
- // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex
64
- findIndex: createMethod(6)
67
+ // https://tc39.es/ecma262/#sec-array.prototype.findIndex
68
+ findIndex: createMethod(6),
69
+ // `Array.prototype.filterOut` method
70
+ // https://github.com/tc39/proposal-array-filtering
71
+ filterOut: createMethod(7)
65
72
  };
@@ -14,7 +14,7 @@ var USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0
14
14
  var FORCED = NEGATIVE_ZERO || !STRICT_METHOD || !USES_TO_LENGTH;
15
15
 
16
16
  // `Array.prototype.lastIndexOf` method implementation
17
- // https://tc39.github.io/ecma262/#sec-array.prototype.lastindexof
17
+ // https://tc39.es/ecma262/#sec-array.prototype.lastindexof
18
18
  module.exports = FORCED ? function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {
19
19
  // convert -0 to +0
20
20
  if (NEGATIVE_ZERO) return nativeLastIndexOf.apply(this, arguments) || 0;
@@ -32,9 +32,9 @@ var createMethod = function (IS_RIGHT) {
32
32
 
33
33
  module.exports = {
34
34
  // `Array.prototype.reduce` method
35
- // https://tc39.github.io/ecma262/#sec-array.prototype.reduce
35
+ // https://tc39.es/ecma262/#sec-array.prototype.reduce
36
36
  left: createMethod(false),
37
37
  // `Array.prototype.reduceRight` method
38
- // https://tc39.github.io/ecma262/#sec-array.prototype.reduceright
38
+ // https://tc39.es/ecma262/#sec-array.prototype.reduceright
39
39
  right: createMethod(true)
40
40
  };
@@ -5,7 +5,7 @@ var wellKnownSymbol = require('../internals/well-known-symbol');
5
5
  var SPECIES = wellKnownSymbol('species');
6
6
 
7
7
  // `ArraySpeciesCreate` abstract operation
8
- // https://tc39.github.io/ecma262/#sec-arrayspeciescreate
8
+ // https://tc39.es/ecma262/#sec-arrayspeciescreate
9
9
  module.exports = function (originalArray, length) {
10
10
  var C;
11
11
  if (isArray(originalArray)) {
@@ -3,7 +3,7 @@ var requireObjectCoercible = require('../internals/require-object-coercible');
3
3
  var quot = /"/g;
4
4
 
5
5
  // B.2.3.2.1 CreateHTML(string, tag, attribute, value)
6
- // https://tc39.github.io/ecma262/#sec-createhtml
6
+ // https://tc39.es/ecma262/#sec-createhtml
7
7
  module.exports = function (string, tag, attribute, value) {
8
8
  var S = String(requireObjectCoercible(string));
9
9
  var p1 = '<' + tag;
@@ -8,7 +8,7 @@ var getTime = DatePrototype.getTime;
8
8
  var nativeDateToISOString = DatePrototype.toISOString;
9
9
 
10
10
  // `Date.prototype.toISOString` method implementation
11
- // https://tc39.github.io/ecma262/#sec-date.prototype.toisostring
11
+ // https://tc39.es/ecma262/#sec-date.prototype.toisostring
12
12
  // PhantomJS / old WebKit fails here:
13
13
  module.exports = (fails(function () {
14
14
  return nativeDateToISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z';
@@ -1,6 +1,6 @@
1
1
  var fails = require('../internals/fails');
2
2
 
3
- // Thank's IE8 for his funny defineProperty
3
+ // Detect IE8's incomplete defineProperty implementation
4
4
  module.exports = !fails(function () {
5
5
  return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;
6
6
  });
@@ -0,0 +1,3 @@
1
+ var userAgent = require('../internals/engine-user-agent');
2
+
3
+ module.exports = /web0s(?!.*chrome)/i.test(userAgent);
@@ -14,7 +14,7 @@ var construct = function (C, argsLength, args) {
14
14
  };
15
15
 
16
16
  // `Function.prototype.bind` method implementation
17
- // https://tc39.github.io/ecma262/#sec-function.prototype.bind
17
+ // https://tc39.es/ecma262/#sec-function.prototype.bind
18
18
  module.exports = Function.bind || function bind(that /* , ...args */) {
19
19
  var fn = aFunction(this);
20
20
  var partArgs = slice.call(arguments, 1);
@@ -0,0 +1,40 @@
1
+ var toObject = require('../internals/to-object');
2
+
3
+ var floor = Math.floor;
4
+ var replace = ''.replace;
5
+ var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d\d?|<[^>]*>)/g;
6
+ var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d\d?)/g;
7
+
8
+ // https://tc39.es/ecma262/#sec-getsubstitution
9
+ module.exports = function (matched, str, position, captures, namedCaptures, replacement) {
10
+ var tailPos = position + matched.length;
11
+ var m = captures.length;
12
+ var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;
13
+ if (namedCaptures !== undefined) {
14
+ namedCaptures = toObject(namedCaptures);
15
+ symbols = SUBSTITUTION_SYMBOLS;
16
+ }
17
+ return replace.call(replacement, symbols, function (match, ch) {
18
+ var capture;
19
+ switch (ch.charAt(0)) {
20
+ case '$': return '$';
21
+ case '&': return matched;
22
+ case '`': return str.slice(0, position);
23
+ case "'": return str.slice(tailPos);
24
+ case '<':
25
+ capture = namedCaptures[ch.slice(1, -1)];
26
+ break;
27
+ default: // \d\d?
28
+ var n = +ch;
29
+ if (n === 0) return match;
30
+ if (n > m) {
31
+ var f = floor(n / 10);
32
+ if (f === 0) return match;
33
+ if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);
34
+ return match;
35
+ }
36
+ capture = captures[n - 1];
37
+ }
38
+ return capture === undefined ? '' : capture;
39
+ });
40
+ };
@@ -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
  };
@@ -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);
@@ -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
  };
@@ -1,5 +1,5 @@
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
4
  // eslint-disable-next-line no-self-compare
5
5
  return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;
@@ -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 });
@@ -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
  };