core-js 3.17.2 → 3.18.2

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 (225) hide show
  1. package/configurator.js +7 -3
  2. package/es/promise/all-settled.js +2 -1
  3. package/es/promise/any.js +2 -1
  4. package/features/array/from-async.js +8 -0
  5. package/features/array/index.js +2 -0
  6. package/features/index.js +2 -0
  7. package/features/map/from.js +2 -1
  8. package/features/map/group-by.js +2 -1
  9. package/features/map/key-by.js +2 -1
  10. package/features/map/of.js +2 -1
  11. package/features/promise/try.js +2 -1
  12. package/features/set/from.js +2 -1
  13. package/features/set/of.js +2 -1
  14. package/features/typed-array/from-async.js +1 -0
  15. package/features/typed-array/index.js +2 -0
  16. package/features/typed-array/methods.js +2 -0
  17. package/features/weak-map/from.js +2 -1
  18. package/features/weak-map/of.js +2 -1
  19. package/features/weak-set/from.js +2 -1
  20. package/features/weak-set/of.js +2 -1
  21. package/internals/a-callable.js +8 -0
  22. package/internals/a-constructor.js +8 -0
  23. package/internals/a-possible-prototype.js +4 -5
  24. package/internals/an-instance.js +2 -3
  25. package/internals/an-object.js +4 -4
  26. package/internals/array-buffer-view-core.js +13 -12
  27. package/internals/array-buffer.js +9 -3
  28. package/internals/array-copy-within.js +2 -2
  29. package/internals/array-fill.js +2 -2
  30. package/internals/array-from-async.js +36 -0
  31. package/internals/array-from.js +8 -7
  32. package/internals/array-group-by.js +2 -2
  33. package/internals/array-includes.js +2 -2
  34. package/internals/array-iteration-from-last.js +2 -2
  35. package/internals/array-iteration.js +2 -2
  36. package/internals/array-last-index-of.js +4 -4
  37. package/internals/array-reduce.js +4 -4
  38. package/internals/array-species-constructor.js +3 -2
  39. package/internals/array-unique-by.js +5 -5
  40. package/internals/async-from-sync-iterator.js +4 -4
  41. package/internals/async-iterator-create-proxy.js +7 -6
  42. package/internals/async-iterator-iteration.js +27 -15
  43. package/internals/async-iterator-prototype.js +16 -16
  44. package/internals/classof.js +2 -1
  45. package/internals/collection-add-all.js +2 -2
  46. package/internals/collection-delete-all.js +2 -2
  47. package/internals/collection-from.js +4 -3
  48. package/internals/collection-weak.js +3 -3
  49. package/internals/collection.js +2 -1
  50. package/internals/copy-constructor-properties.js +2 -2
  51. package/internals/define-iterator.js +21 -13
  52. package/internals/define-well-known-symbol.js +2 -2
  53. package/internals/dom-token-list-prototype.js +7 -0
  54. package/internals/export.js +1 -0
  55. package/internals/flatten-into-array.js +4 -3
  56. package/internals/function-bind-context.js +2 -2
  57. package/internals/function-bind.js +2 -2
  58. package/internals/function-name.js +17 -0
  59. package/internals/get-async-iterator.js +2 -5
  60. package/internals/get-built-in.js +3 -2
  61. package/internals/get-iterator-method.js +3 -2
  62. package/internals/get-iterator.js +5 -5
  63. package/internals/get-method.js +4 -3
  64. package/internals/{has.js → has-own-property.js} +2 -0
  65. package/internals/inherit-if-required.js +2 -1
  66. package/internals/inspect-source.js +2 -1
  67. package/internals/install-error-cause.js +10 -0
  68. package/internals/internal-metadata.js +4 -4
  69. package/internals/internal-state.js +4 -4
  70. package/internals/is-array.js +2 -2
  71. package/internals/is-callable.js +5 -0
  72. package/internals/is-constructor.js +41 -0
  73. package/internals/is-data-descriptor.js +2 -2
  74. package/internals/is-forced.js +2 -1
  75. package/internals/is-integral-number.js +10 -0
  76. package/internals/is-object.js +3 -1
  77. package/internals/is-symbol.js +2 -1
  78. package/internals/iterate.js +3 -3
  79. package/internals/iterator-close.js +3 -2
  80. package/internals/iterator-create-proxy.js +10 -9
  81. package/internals/iterators-core.js +8 -6
  82. package/internals/length-of-array-like.js +7 -0
  83. package/internals/map-upsert.js +4 -3
  84. package/internals/native-weak-map.js +2 -1
  85. package/internals/new-promise-capability.js +3 -3
  86. package/internals/number-parse-float.js +6 -1
  87. package/internals/number-parse-int.js +6 -1
  88. package/internals/object-get-own-property-descriptor.js +2 -2
  89. package/internals/object-get-prototype-of.js +8 -6
  90. package/internals/object-iterator.js +2 -2
  91. package/internals/object-keys-internal.js +3 -3
  92. package/internals/ordinary-to-primitive.js +4 -3
  93. package/internals/redefine.js +12 -6
  94. package/internals/regexp-exec-abstract.js +8 -13
  95. package/internals/regexp-unsupported-dot-all.js +1 -1
  96. package/internals/regexp-unsupported-ncg.js +1 -1
  97. package/internals/set-to-string-tag.js +2 -2
  98. package/internals/shared.js +1 -1
  99. package/internals/species-constructor.js +2 -2
  100. package/internals/string-multibyte.js +2 -3
  101. package/internals/string-pad-webkit-bug.js +0 -1
  102. package/internals/string-pad.js +1 -1
  103. package/internals/string-repeat.js +2 -2
  104. package/internals/string-trim-forced.js +4 -1
  105. package/internals/task.js +3 -2
  106. package/internals/to-absolute-index.js +2 -2
  107. package/internals/to-index.js +2 -2
  108. package/internals/to-integer-or-infinity.js +10 -0
  109. package/internals/to-length.js +2 -2
  110. package/internals/to-positive-integer.js +2 -2
  111. package/internals/to-primitive.js +3 -2
  112. package/internals/to-string.js +2 -2
  113. package/internals/try-to-string.js +7 -0
  114. package/internals/typed-array-constructor.js +8 -8
  115. package/internals/typed-array-from.js +6 -4
  116. package/internals/well-known-symbol.js +3 -3
  117. package/modules/es.aggregate-error.js +5 -2
  118. package/modules/es.array.at.js +4 -4
  119. package/modules/es.array.concat.js +2 -2
  120. package/modules/es.array.flat-map.js +4 -4
  121. package/modules/es.array.flat.js +4 -4
  122. package/modules/es.array.of.js +2 -1
  123. package/modules/es.array.slice.js +5 -4
  124. package/modules/es.array.sort.js +4 -4
  125. package/modules/es.array.splice.js +4 -4
  126. package/modules/es.date.set-year.js +2 -2
  127. package/modules/es.date.to-primitive.js +2 -2
  128. package/modules/es.function.has-instance.js +2 -1
  129. package/modules/es.function.name.js +2 -1
  130. package/modules/es.number.constructor.js +15 -14
  131. package/modules/es.number.is-integer.js +2 -2
  132. package/modules/es.number.is-safe-integer.js +2 -2
  133. package/modules/es.number.to-fixed.js +2 -2
  134. package/modules/es.object.define-getter.js +2 -2
  135. package/modules/es.object.define-setter.js +2 -2
  136. package/modules/es.object.has-own.js +1 -1
  137. package/modules/es.parse-float.js +3 -3
  138. package/modules/es.parse-int.js +3 -3
  139. package/modules/es.promise.all-settled.js +2 -2
  140. package/modules/es.promise.any.js +2 -2
  141. package/modules/es.promise.finally.js +3 -2
  142. package/modules/es.promise.js +10 -9
  143. package/modules/es.reflect.apply.js +2 -2
  144. package/modules/es.reflect.construct.js +3 -3
  145. package/modules/es.regexp.constructor.js +2 -2
  146. package/modules/es.regexp.test.js +4 -4
  147. package/modules/es.regexp.to-string.js +2 -1
  148. package/modules/es.string.at-alternative.js +3 -4
  149. package/modules/es.string.ends-with.js +1 -1
  150. package/modules/es.string.match-all.js +6 -16
  151. package/modules/es.string.match.js +3 -2
  152. package/modules/es.string.raw.js +12 -6
  153. package/modules/es.string.replace-all.js +5 -3
  154. package/modules/es.string.replace.js +7 -5
  155. package/modules/es.string.search.js +3 -2
  156. package/modules/es.string.split.js +3 -2
  157. package/modules/es.string.substr.js +7 -4
  158. package/modules/es.string.trim-end.js +1 -1
  159. package/modules/es.string.trim-start.js +1 -1
  160. package/modules/es.symbol.description.js +4 -3
  161. package/modules/es.symbol.js +20 -16
  162. package/modules/es.typed-array.at.js +4 -4
  163. package/modules/es.typed-array.iterator.js +4 -4
  164. package/modules/es.typed-array.set.js +2 -2
  165. package/modules/es.typed-array.sort.js +4 -4
  166. package/modules/esnext.aggregate-error.js +1 -1
  167. package/modules/esnext.array.from-async.js +8 -0
  168. package/modules/esnext.array.last-index.js +2 -2
  169. package/modules/esnext.array.last-item.js +3 -3
  170. package/modules/esnext.async-iterator.constructor.js +3 -3
  171. package/modules/esnext.async-iterator.filter.js +2 -2
  172. package/modules/esnext.async-iterator.flat-map.js +3 -3
  173. package/modules/esnext.async-iterator.from.js +7 -9
  174. package/modules/esnext.async-iterator.map.js +2 -2
  175. package/modules/esnext.async-iterator.reduce.js +3 -3
  176. package/modules/esnext.async-iterator.to-array.js +1 -1
  177. package/modules/esnext.global-this.js +1 -1
  178. package/modules/esnext.iterator.constructor.js +5 -12
  179. package/modules/esnext.iterator.every.js +2 -2
  180. package/modules/esnext.iterator.filter.js +2 -2
  181. package/modules/esnext.iterator.find.js +2 -2
  182. package/modules/esnext.iterator.flat-map.js +4 -4
  183. package/modules/esnext.iterator.from.js +5 -7
  184. package/modules/esnext.iterator.map.js +2 -2
  185. package/modules/esnext.iterator.reduce.js +2 -2
  186. package/modules/esnext.iterator.some.js +2 -2
  187. package/modules/esnext.map.filter.js +2 -2
  188. package/modules/esnext.map.group-by.js +9 -7
  189. package/modules/esnext.map.key-by.js +3 -3
  190. package/modules/esnext.map.key-of.js +1 -1
  191. package/modules/esnext.map.map-keys.js +2 -2
  192. package/modules/esnext.map.map-values.js +2 -2
  193. package/modules/esnext.map.merge.js +2 -2
  194. package/modules/esnext.map.reduce.js +2 -2
  195. package/modules/esnext.map.update-or-insert.js +1 -1
  196. package/modules/esnext.map.update.js +3 -3
  197. package/modules/esnext.number.from-string.js +2 -2
  198. package/modules/esnext.observable.js +16 -14
  199. package/modules/esnext.promise.all-settled.js +1 -1
  200. package/modules/esnext.promise.any.js +1 -1
  201. package/modules/esnext.set.difference.js +2 -2
  202. package/modules/esnext.set.filter.js +2 -2
  203. package/modules/esnext.set.intersection.js +3 -3
  204. package/modules/esnext.set.is-disjoint-from.js +2 -2
  205. package/modules/esnext.set.is-subset-of.js +4 -3
  206. package/modules/esnext.set.is-superset-of.js +2 -2
  207. package/modules/esnext.set.map.js +2 -2
  208. package/modules/esnext.set.reduce.js +2 -2
  209. package/modules/esnext.set.symmetric-difference.js +3 -3
  210. package/modules/esnext.set.union.js +2 -2
  211. package/modules/esnext.string.match-all.js +1 -1
  212. package/modules/esnext.string.replace-all.js +1 -1
  213. package/modules/esnext.typed-array.from-async.js +26 -0
  214. package/modules/web.dom-collections.for-each.js +10 -3
  215. package/modules/web.dom-collections.iterator.js +8 -3
  216. package/modules/web.timers.js +2 -1
  217. package/modules/web.url-search-params.js +7 -6
  218. package/modules/web.url.js +6 -6
  219. package/package.json +2 -2
  220. package/postinstall.js +1 -1
  221. package/proposals/array-from-async.js +3 -0
  222. package/stage/1.js +1 -0
  223. package/internals/a-function.js +0 -5
  224. package/internals/is-integer.js +0 -9
  225. package/internals/to-integer.js +0 -8
@@ -2,8 +2,8 @@
2
2
  var $ = require('../internals/export');
3
3
  var IS_PURE = require('../internals/is-pure');
4
4
  var getBuiltIn = require('../internals/get-built-in');
5
+ var aCallable = require('../internals/a-callable');
5
6
  var anObject = require('../internals/an-object');
6
- var aFunction = require('../internals/a-function');
7
7
  var speciesConstructor = require('../internals/species-constructor');
8
8
  var iterate = require('../internals/iterate');
9
9
 
@@ -13,8 +13,8 @@ $({ target: 'Set', proto: true, real: true, forced: IS_PURE }, {
13
13
  intersection: function intersection(iterable) {
14
14
  var set = anObject(this);
15
15
  var newSet = new (speciesConstructor(set, getBuiltIn('Set')))();
16
- var hasCheck = aFunction(set.has);
17
- var adder = aFunction(newSet.add);
16
+ var hasCheck = aCallable(set.has);
17
+ var adder = aCallable(newSet.add);
18
18
  iterate(iterable, function (value) {
19
19
  if (hasCheck.call(set, value)) adder.call(newSet, value);
20
20
  });
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
  var $ = require('../internals/export');
3
3
  var IS_PURE = require('../internals/is-pure');
4
+ var aCallable = require('../internals/a-callable');
4
5
  var anObject = require('../internals/an-object');
5
- var aFunction = require('../internals/a-function');
6
6
  var iterate = require('../internals/iterate');
7
7
 
8
8
  // `Set.prototype.isDisjointFrom` method
@@ -10,7 +10,7 @@ var iterate = require('../internals/iterate');
10
10
  $({ target: 'Set', proto: true, real: true, forced: IS_PURE }, {
11
11
  isDisjointFrom: function isDisjointFrom(iterable) {
12
12
  var set = anObject(this);
13
- var hasCheck = aFunction(set.has);
13
+ var hasCheck = aCallable(set.has);
14
14
  return !iterate(iterable, function (value, stop) {
15
15
  if (hasCheck.call(set, value) === true) return stop();
16
16
  }, { INTERRUPTED: true }).stopped;
@@ -2,8 +2,9 @@
2
2
  var $ = require('../internals/export');
3
3
  var IS_PURE = require('../internals/is-pure');
4
4
  var getBuiltIn = require('../internals/get-built-in');
5
+ var aCallable = require('../internals/a-callable');
6
+ var isCallable = require('../internals/is-callable');
5
7
  var anObject = require('../internals/an-object');
6
- var aFunction = require('../internals/a-function');
7
8
  var getIterator = require('../internals/get-iterator');
8
9
  var iterate = require('../internals/iterate');
9
10
 
@@ -14,9 +15,9 @@ $({ target: 'Set', proto: true, real: true, forced: IS_PURE }, {
14
15
  var iterator = getIterator(this);
15
16
  var otherSet = anObject(iterable);
16
17
  var hasCheck = otherSet.has;
17
- if (typeof hasCheck != 'function') {
18
+ if (!isCallable(hasCheck)) {
18
19
  otherSet = new (getBuiltIn('Set'))(iterable);
19
- hasCheck = aFunction(otherSet.has);
20
+ hasCheck = aCallable(otherSet.has);
20
21
  }
21
22
  return !iterate(iterator, function (value, stop) {
22
23
  if (hasCheck.call(otherSet, value) === false) return stop();
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
  var $ = require('../internals/export');
3
3
  var IS_PURE = require('../internals/is-pure');
4
+ var aCallable = require('../internals/a-callable');
4
5
  var anObject = require('../internals/an-object');
5
- var aFunction = require('../internals/a-function');
6
6
  var iterate = require('../internals/iterate');
7
7
 
8
8
  // `Set.prototype.isSupersetOf` method
@@ -10,7 +10,7 @@ var iterate = require('../internals/iterate');
10
10
  $({ target: 'Set', proto: true, real: true, forced: IS_PURE }, {
11
11
  isSupersetOf: function isSupersetOf(iterable) {
12
12
  var set = anObject(this);
13
- var hasCheck = aFunction(set.has);
13
+ var hasCheck = aCallable(set.has);
14
14
  return !iterate(iterable, function (value, stop) {
15
15
  if (hasCheck.call(set, value) === false) return stop();
16
16
  }, { INTERRUPTED: true }).stopped;
@@ -2,8 +2,8 @@
2
2
  var $ = require('../internals/export');
3
3
  var IS_PURE = require('../internals/is-pure');
4
4
  var getBuiltIn = require('../internals/get-built-in');
5
+ var aCallable = require('../internals/a-callable');
5
6
  var anObject = require('../internals/an-object');
6
- var aFunction = require('../internals/a-function');
7
7
  var bind = require('../internals/function-bind-context');
8
8
  var speciesConstructor = require('../internals/species-constructor');
9
9
  var getSetIterator = require('../internals/get-set-iterator');
@@ -17,7 +17,7 @@ $({ target: 'Set', proto: true, real: true, forced: IS_PURE }, {
17
17
  var iterator = getSetIterator(set);
18
18
  var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
19
19
  var newSet = new (speciesConstructor(set, getBuiltIn('Set')))();
20
- var adder = aFunction(newSet.add);
20
+ var adder = aCallable(newSet.add);
21
21
  iterate(iterator, function (value) {
22
22
  adder.call(newSet, boundFunction(value, value, set));
23
23
  }, { IS_ITERATOR: true });
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
  var $ = require('../internals/export');
3
3
  var IS_PURE = require('../internals/is-pure');
4
+ var aCallable = require('../internals/a-callable');
4
5
  var anObject = require('../internals/an-object');
5
- var aFunction = require('../internals/a-function');
6
6
  var getSetIterator = require('../internals/get-set-iterator');
7
7
  var iterate = require('../internals/iterate');
8
8
 
@@ -14,7 +14,7 @@ $({ target: 'Set', proto: true, real: true, forced: IS_PURE }, {
14
14
  var iterator = getSetIterator(set);
15
15
  var noInitial = arguments.length < 2;
16
16
  var accumulator = noInitial ? undefined : arguments[1];
17
- aFunction(callbackfn);
17
+ aCallable(callbackfn);
18
18
  iterate(iterator, function (value) {
19
19
  if (noInitial) {
20
20
  noInitial = false;
@@ -2,8 +2,8 @@
2
2
  var $ = require('../internals/export');
3
3
  var IS_PURE = require('../internals/is-pure');
4
4
  var getBuiltIn = require('../internals/get-built-in');
5
+ var aCallable = require('../internals/a-callable');
5
6
  var anObject = require('../internals/an-object');
6
- var aFunction = require('../internals/a-function');
7
7
  var speciesConstructor = require('../internals/species-constructor');
8
8
  var iterate = require('../internals/iterate');
9
9
 
@@ -13,8 +13,8 @@ $({ target: 'Set', proto: true, real: true, forced: IS_PURE }, {
13
13
  symmetricDifference: function symmetricDifference(iterable) {
14
14
  var set = anObject(this);
15
15
  var newSet = new (speciesConstructor(set, getBuiltIn('Set')))(set);
16
- var remover = aFunction(newSet['delete']);
17
- var adder = aFunction(newSet.add);
16
+ var remover = aCallable(newSet['delete']);
17
+ var adder = aCallable(newSet.add);
18
18
  iterate(iterable, function (value) {
19
19
  remover.call(newSet, value) || adder.call(newSet, value);
20
20
  });
@@ -2,8 +2,8 @@
2
2
  var $ = require('../internals/export');
3
3
  var IS_PURE = require('../internals/is-pure');
4
4
  var getBuiltIn = require('../internals/get-built-in');
5
+ var aCallable = require('../internals/a-callable');
5
6
  var anObject = require('../internals/an-object');
6
- var aFunction = require('../internals/a-function');
7
7
  var speciesConstructor = require('../internals/species-constructor');
8
8
  var iterate = require('../internals/iterate');
9
9
 
@@ -13,7 +13,7 @@ $({ target: 'Set', proto: true, real: true, forced: IS_PURE }, {
13
13
  union: function union(iterable) {
14
14
  var set = anObject(this);
15
15
  var newSet = new (speciesConstructor(set, getBuiltIn('Set')))(set);
16
- iterate(iterable, aFunction(newSet.add), { that: newSet });
16
+ iterate(iterable, aCallable(newSet.add), { that: newSet });
17
17
  return newSet;
18
18
  }
19
19
  });
@@ -1,2 +1,2 @@
1
1
  // TODO: Remove from `core-js@4`
2
- require('./es.string.match-all');
2
+ require('../modules/es.string.match-all');
@@ -1,2 +1,2 @@
1
1
  // TODO: Remove from `core-js@4`
2
- require('./es.string.replace-all');
2
+ require('../modules/es.string.replace-all');
@@ -0,0 +1,26 @@
1
+ 'use strict';
2
+ var getBuiltIn = require('../internals/get-built-in');
3
+ var aConstructor = require('../internals/a-constructor');
4
+ var arrayFromAsync = require('../internals/array-from-async');
5
+ var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-array-constructors-require-wrappers');
6
+ var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
7
+ var arrayFromConstructorAndList = require('../internals/array-from-constructor-and-list');
8
+
9
+ var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;
10
+ var exportTypedArrayStaticMethod = ArrayBufferViewCore.exportTypedArrayStaticMethod;
11
+
12
+ // `%TypedArray%.fromAsync` method
13
+ // https://github.com/tc39/proposal-array-from-async
14
+ // eslint-disable-next-line -- required for .length
15
+ exportTypedArrayStaticMethod('fromAsync', function fromAsync(asyncItems /* , mapfn = undefined, thisArg = undefined */) {
16
+ var C = this;
17
+ var argumentsLength = arguments.length;
18
+ var mapfn = argumentsLength > 1 ? arguments[1] : undefined;
19
+ var thisArg = argumentsLength > 2 ? arguments[2] : undefined;
20
+ return new (getBuiltIn('Promise'))(function (resolve) {
21
+ aConstructor(C);
22
+ resolve(arrayFromAsync(asyncItems, mapfn, thisArg));
23
+ }).then(function (list) {
24
+ return arrayFromConstructorAndList(aTypedArrayConstructor(C), list);
25
+ });
26
+ }, TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS);
@@ -1,15 +1,22 @@
1
1
  var global = require('../internals/global');
2
2
  var DOMIterables = require('../internals/dom-iterables');
3
+ var DOMTokenListPrototype = require('../internals/dom-token-list-prototype');
3
4
  var forEach = require('../internals/array-for-each');
4
5
  var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
5
6
 
6
- for (var COLLECTION_NAME in DOMIterables) {
7
- var Collection = global[COLLECTION_NAME];
8
- var CollectionPrototype = Collection && Collection.prototype;
7
+ var handlePrototype = function (CollectionPrototype) {
9
8
  // some Chrome versions have non-configurable methods on DOMTokenList
10
9
  if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {
11
10
  createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);
12
11
  } catch (error) {
13
12
  CollectionPrototype.forEach = forEach;
14
13
  }
14
+ };
15
+
16
+ for (var COLLECTION_NAME in DOMIterables) {
17
+ if (DOMIterables[COLLECTION_NAME]) {
18
+ handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype);
19
+ }
15
20
  }
21
+
22
+ handlePrototype(DOMTokenListPrototype);
@@ -1,5 +1,6 @@
1
1
  var global = require('../internals/global');
2
2
  var DOMIterables = require('../internals/dom-iterables');
3
+ var DOMTokenListPrototype = require('../internals/dom-token-list-prototype');
3
4
  var ArrayIteratorMethods = require('../modules/es.array.iterator');
4
5
  var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
5
6
  var wellKnownSymbol = require('../internals/well-known-symbol');
@@ -8,9 +9,7 @@ var ITERATOR = wellKnownSymbol('iterator');
8
9
  var TO_STRING_TAG = wellKnownSymbol('toStringTag');
9
10
  var ArrayValues = ArrayIteratorMethods.values;
10
11
 
11
- for (var COLLECTION_NAME in DOMIterables) {
12
- var Collection = global[COLLECTION_NAME];
13
- var CollectionPrototype = Collection && Collection.prototype;
12
+ var handlePrototype = function (CollectionPrototype, COLLECTION_NAME) {
14
13
  if (CollectionPrototype) {
15
14
  // some Chrome versions have non-configurable methods on DOMTokenList
16
15
  if (CollectionPrototype[ITERATOR] !== ArrayValues) try {
@@ -30,4 +29,10 @@ for (var COLLECTION_NAME in DOMIterables) {
30
29
  }
31
30
  }
32
31
  }
32
+ };
33
+
34
+ for (var COLLECTION_NAME in DOMIterables) {
35
+ handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype, COLLECTION_NAME);
33
36
  }
37
+
38
+ handlePrototype(DOMTokenListPrototype, 'DOMTokenList');
@@ -1,5 +1,6 @@
1
1
  var $ = require('../internals/export');
2
2
  var global = require('../internals/global');
3
+ var isCallable = require('../internals/is-callable');
3
4
  var userAgent = require('../internals/engine-user-agent');
4
5
 
5
6
  var slice = [].slice;
@@ -11,7 +12,7 @@ var wrap = function (scheduler) {
11
12
  var args = boundArgs ? slice.call(arguments, 2) : undefined;
12
13
  return scheduler(boundArgs ? function () {
13
14
  // eslint-disable-next-line no-new-func -- spec requirement
14
- (typeof handler == 'function' ? handler : Function(handler)).apply(this, args);
15
+ (isCallable(handler) ? handler : Function(handler)).apply(this, args);
15
16
  } : handler, timeout);
16
17
  };
17
18
  };
@@ -10,7 +10,8 @@ var setToStringTag = require('../internals/set-to-string-tag');
10
10
  var createIteratorConstructor = require('../internals/create-iterator-constructor');
11
11
  var InternalStateModule = require('../internals/internal-state');
12
12
  var anInstance = require('../internals/an-instance');
13
- var hasOwn = require('../internals/has');
13
+ var isCallable = require('../internals/is-callable');
14
+ var hasOwn = require('../internals/has-own-property');
14
15
  var bind = require('../internals/function-bind-context');
15
16
  var classof = require('../internals/classof');
16
17
  var anObject = require('../internals/an-object');
@@ -142,7 +143,7 @@ var URLSearchParamsConstructor = function URLSearchParams(/* init */) {
142
143
  if (init !== undefined) {
143
144
  if (isObject(init)) {
144
145
  iteratorMethod = getIteratorMethod(init);
145
- if (typeof iteratorMethod === 'function') {
146
+ if (iteratorMethod) {
146
147
  iterator = getIterator(init, iteratorMethod);
147
148
  next = iterator.next;
148
149
  while (!(step = next.call(iterator)).done) {
@@ -298,7 +299,7 @@ redefineAll(URLSearchParamsPrototype, {
298
299
  }, { enumerable: true });
299
300
 
300
301
  // `URLSearchParams.prototype[@@iterator]` method
301
- redefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);
302
+ redefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries, { name: 'entries' });
302
303
 
303
304
  // `URLSearchParams.prototype.toString` method
304
305
  // https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior
@@ -320,7 +321,7 @@ $({ global: true, forced: !USE_NATIVE_URL }, {
320
321
  });
321
322
 
322
323
  // Wrap `fetch` and `Request` for correct work with polyfilled `URLSearchParams`
323
- if (!USE_NATIVE_URL && typeof Headers == 'function') {
324
+ if (!USE_NATIVE_URL && isCallable(Headers)) {
324
325
  var wrapRequestOptions = function (init) {
325
326
  if (isObject(init)) {
326
327
  var body = init.body;
@@ -338,7 +339,7 @@ if (!USE_NATIVE_URL && typeof Headers == 'function') {
338
339
  } return init;
339
340
  };
340
341
 
341
- if (typeof nativeFetch == 'function') {
342
+ if (isCallable(nativeFetch)) {
342
343
  $({ global: true, enumerable: true, forced: true }, {
343
344
  fetch: function fetch(input /* , init */) {
344
345
  return nativeFetch(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {});
@@ -346,7 +347,7 @@ if (!USE_NATIVE_URL && typeof Headers == 'function') {
346
347
  });
347
348
  }
348
349
 
349
- if (typeof NativeRequest == 'function') {
350
+ if (isCallable(NativeRequest)) {
350
351
  var RequestConstructor = function Request(input /* , init */) {
351
352
  anInstance(this, RequestConstructor, 'Request');
352
353
  return new NativeRequest(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {});
@@ -8,7 +8,7 @@ var global = require('../internals/global');
8
8
  var defineProperties = require('../internals/object-define-properties');
9
9
  var redefine = require('../internals/redefine');
10
10
  var anInstance = require('../internals/an-instance');
11
- var has = require('../internals/has');
11
+ var hasOwn = require('../internals/has-own-property');
12
12
  var assign = require('../internals/object-assign');
13
13
  var arrayFrom = require('../internals/array-from');
14
14
  var codeAt = require('../internals/string-multibyte').codeAt;
@@ -39,12 +39,12 @@ var HEX_START = /^0x/i;
39
39
  var OCT = /^[0-7]+$/;
40
40
  var DEC = /^\d+$/;
41
41
  var HEX = /^[\dA-Fa-f]+$/;
42
- /* eslint-disable no-control-regex -- safe */
42
+ /* eslint-disable regexp/no-control-character -- safe */
43
43
  var FORBIDDEN_HOST_CODE_POINT = /[\0\t\n\r #%/:<>?@[\\\]^|]/;
44
44
  var FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\0\t\n\r #/:<>?@[\\\]^|]/;
45
45
  var LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\u0000-\u0020]+|[\u0000-\u0020]+$/g;
46
46
  var TAB_AND_NEW_LINE = /[\t\n\r]/g;
47
- /* eslint-enable no-control-regex -- safe */
47
+ /* eslint-enable regexp/no-control-character -- safe */
48
48
  var EOF;
49
49
 
50
50
  var parseHost = function (url, input) {
@@ -254,7 +254,7 @@ var userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {
254
254
 
255
255
  var percentEncode = function (chr, set) {
256
256
  var code = codeAt(chr, 0);
257
- return code > 0x20 && code < 0x7F && !has(set, chr) ? chr : encodeURIComponent(chr);
257
+ return code > 0x20 && code < 0x7F && !hasOwn(set, chr) ? chr : encodeURIComponent(chr);
258
258
  };
259
259
 
260
260
  var specialSchemes = {
@@ -267,7 +267,7 @@ var specialSchemes = {
267
267
  };
268
268
 
269
269
  var isSpecial = function (url) {
270
- return has(specialSchemes, url.scheme);
270
+ return hasOwn(specialSchemes, url.scheme);
271
271
  };
272
272
 
273
273
  var includesCredentials = function (url) {
@@ -377,7 +377,7 @@ var parseURL = function (url, input, stateOverride, base) {
377
377
  buffer += chr.toLowerCase();
378
378
  } else if (chr == ':') {
379
379
  if (stateOverride && (
380
- (isSpecial(url) != has(specialSchemes, buffer)) ||
380
+ (isSpecial(url) != hasOwn(specialSchemes, buffer)) ||
381
381
  (buffer == 'file' && (includesCredentials(url) || url.port !== null)) ||
382
382
  (url.scheme == 'file' && !url.host)
383
383
  )) return;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "core-js",
3
3
  "description": "Standard library",
4
- "version": "3.17.2",
4
+ "version": "3.18.2",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/zloirock/core-js.git"
@@ -54,5 +54,5 @@
54
54
  "scripts": {
55
55
  "postinstall": "node -e \"try{require('./postinstall')}catch(e){}\""
56
56
  },
57
- "gitHead": "4f68180d6e5227f144ba0a9a024f62ffe541be12"
57
+ "gitHead": "ac4a27025eb557d7c7a94b928236fbcb6f21ba0e"
58
58
  }
package/postinstall.js CHANGED
@@ -52,7 +52,7 @@ function isBannerRequired() {
52
52
  }
53
53
 
54
54
  function showBanner() {
55
- // eslint-disable-next-line no-console,no-control-regex -- output
55
+ // eslint-disable-next-line no-console, regexp/no-control-character -- output
56
56
  console.log(COLOR ? BANNER : BANNER.replace(/\u001B\[\d+m/g, ''));
57
57
  }
58
58
 
@@ -0,0 +1,3 @@
1
+ // https://github.com/tc39/proposal-array-from-async
2
+ require('../modules/esnext.array.from-async');
3
+ require('../modules/esnext.typed-array.from-async');
package/stage/1.js CHANGED
@@ -1,4 +1,5 @@
1
1
  require('../proposals/array-filtering');
2
+ require('../proposals/array-from-async');
2
3
  require('../proposals/array-grouping');
3
4
  require('../proposals/array-last');
4
5
  require('../proposals/array-unique');
@@ -1,5 +0,0 @@
1
- module.exports = function (it) {
2
- if (typeof it != 'function') {
3
- throw TypeError(String(it) + ' is not a function');
4
- } return it;
5
- };
@@ -1,9 +0,0 @@
1
- var isObject = require('../internals/is-object');
2
-
3
- var floor = Math.floor;
4
-
5
- // `Number.isInteger` method implementation
6
- // https://tc39.es/ecma262/#sec-number.isinteger
7
- module.exports = function isInteger(it) {
8
- return !isObject(it) && isFinite(it) && floor(it) === it;
9
- };
@@ -1,8 +0,0 @@
1
- var ceil = Math.ceil;
2
- var floor = Math.floor;
3
-
4
- // `ToInteger` abstract operation
5
- // https://tc39.es/ecma262/#sec-tointeger
6
- module.exports = function (argument) {
7
- return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
8
- };