core-js-pure 3.18.2 → 3.19.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 (293) hide show
  1. package/es/date/to-primitive.js +2 -3
  2. package/es/date/to-string.js +2 -4
  3. package/es/instance/at.js +6 -5
  4. package/es/instance/bind.js +3 -2
  5. package/es/instance/code-point-at.js +4 -3
  6. package/es/instance/concat.js +3 -2
  7. package/es/instance/copy-within.js +3 -2
  8. package/es/instance/ends-with.js +4 -3
  9. package/es/instance/entries.js +3 -2
  10. package/es/instance/every.js +3 -2
  11. package/es/instance/fill.js +3 -2
  12. package/es/instance/filter.js +3 -2
  13. package/es/instance/find-index.js +3 -2
  14. package/es/instance/find.js +3 -2
  15. package/es/instance/flags.js +2 -1
  16. package/es/instance/flat-map.js +3 -2
  17. package/es/instance/flat.js +3 -2
  18. package/es/instance/for-each.js +3 -2
  19. package/es/instance/includes.js +6 -5
  20. package/es/instance/index-of.js +3 -2
  21. package/es/instance/keys.js +3 -2
  22. package/es/instance/last-index-of.js +3 -2
  23. package/es/instance/map.js +3 -2
  24. package/es/instance/match-all.js +4 -3
  25. package/es/instance/pad-end.js +4 -3
  26. package/es/instance/pad-start.js +4 -3
  27. package/es/instance/reduce-right.js +3 -2
  28. package/es/instance/reduce.js +3 -2
  29. package/es/instance/repeat.js +4 -3
  30. package/es/instance/replace-all.js +4 -3
  31. package/es/instance/reverse.js +3 -2
  32. package/es/instance/slice.js +3 -2
  33. package/es/instance/some.js +3 -2
  34. package/es/instance/sort.js +3 -2
  35. package/es/instance/splice.js +3 -2
  36. package/es/instance/starts-with.js +4 -3
  37. package/es/instance/trim-end.js +4 -3
  38. package/es/instance/trim-left.js +4 -3
  39. package/es/instance/trim-right.js +4 -3
  40. package/es/instance/trim-start.js +4 -3
  41. package/es/instance/trim.js +4 -3
  42. package/es/instance/values.js +3 -2
  43. package/es/json/stringify.js +4 -3
  44. package/es/promise/all-settled.js +2 -1
  45. package/es/promise/any.js +2 -1
  46. package/es/regexp/flags.js +3 -4
  47. package/es/regexp/match.js +2 -1
  48. package/es/regexp/replace.js +2 -1
  49. package/es/regexp/search.js +2 -1
  50. package/es/regexp/split.js +2 -1
  51. package/es/regexp/test.js +2 -3
  52. package/es/regexp/to-string.js +2 -3
  53. package/es/string/iterator.js +2 -5
  54. package/features/instance/at.js +6 -5
  55. package/features/instance/code-points.js +4 -3
  56. package/features/instance/filter-out.js +3 -2
  57. package/features/instance/filter-reject.js +3 -2
  58. package/features/instance/find-last-index.js +3 -2
  59. package/features/instance/find-last.js +3 -2
  60. package/features/instance/group-by.js +3 -2
  61. package/features/instance/unique-by.js +3 -2
  62. package/features/map/from.js +3 -2
  63. package/features/map/group-by.js +2 -1
  64. package/features/map/key-by.js +2 -1
  65. package/features/map/of.js +3 -2
  66. package/features/promise/try.js +2 -1
  67. package/features/set/from.js +3 -2
  68. package/features/set/of.js +3 -2
  69. package/features/weak-map/from.js +3 -2
  70. package/features/weak-map/of.js +3 -2
  71. package/features/weak-set/from.js +3 -2
  72. package/features/weak-set/of.js +3 -2
  73. package/internals/a-callable.js +3 -0
  74. package/internals/a-constructor.js +3 -0
  75. package/internals/a-possible-prototype.js +5 -1
  76. package/internals/an-instance.js +8 -3
  77. package/internals/an-object.js +4 -0
  78. package/internals/array-buffer-native.js +1 -1
  79. package/internals/array-buffer-non-extensible.js +10 -0
  80. package/internals/array-from-async.js +1 -1
  81. package/internals/array-from.js +6 -2
  82. package/internals/array-group-by.js +6 -3
  83. package/internals/array-iteration-from-last.js +1 -1
  84. package/internals/array-iteration.js +5 -4
  85. package/internals/array-last-index-of.js +2 -1
  86. package/internals/array-reduce.js +3 -0
  87. package/internals/array-slice-simple.js +17 -0
  88. package/internals/array-slice.js +3 -0
  89. package/internals/array-sort.js +10 -11
  90. package/internals/array-species-constructor.js +2 -0
  91. package/internals/array-unique-by.js +13 -9
  92. package/internals/async-from-sync-iterator.js +4 -3
  93. package/internals/async-iterator-create-proxy.js +4 -3
  94. package/internals/async-iterator-iteration.js +5 -2
  95. package/internals/classof-raw.js +5 -2
  96. package/internals/classof.js +3 -0
  97. package/internals/clear-error-stack.js +20 -0
  98. package/internals/collection-add-all.js +3 -2
  99. package/internals/collection-delete-all.js +3 -2
  100. package/internals/collection-from.js +7 -4
  101. package/internals/collection-of.js +3 -4
  102. package/internals/collection-strong.js +11 -9
  103. package/internals/collection-weak.js +10 -6
  104. package/internals/collection.js +5 -3
  105. package/internals/composite-key.js +9 -2
  106. package/internals/create-html.js +3 -1
  107. package/internals/date-to-iso-string.js +23 -13
  108. package/internals/date-to-primitive.js +3 -0
  109. package/internals/define-iterator.js +2 -1
  110. package/internals/engine-v8-version.js +10 -4
  111. package/internals/error-stack-installable.js +10 -0
  112. package/internals/export.js +6 -4
  113. package/internals/flatten-into-array.js +4 -1
  114. package/internals/function-apply.js +9 -0
  115. package/internals/function-bind-context.js +5 -17
  116. package/internals/function-bind.js +15 -9
  117. package/internals/function-call.js +5 -0
  118. package/internals/function-uncurry-this.js +12 -0
  119. package/internals/get-async-iterator.js +2 -1
  120. package/internals/get-iterator.js +7 -2
  121. package/internals/get-substitution.js +10 -7
  122. package/internals/has-own-property.js +3 -2
  123. package/internals/host-report-errors.js +1 -1
  124. package/internals/ieee754.js +24 -6
  125. package/internals/indexed-object.js +5 -2
  126. package/internals/inspect-source.js +3 -2
  127. package/internals/install-error-cause.js +1 -1
  128. package/internals/internal-metadata.js +4 -7
  129. package/internals/internal-state.js +9 -7
  130. package/internals/is-callable.js +1 -1
  131. package/internals/is-constructor.js +6 -4
  132. package/internals/is-iterable.js +4 -2
  133. package/internals/is-object.js +1 -1
  134. package/internals/is-symbol.js +6 -2
  135. package/internals/iterate.js +14 -6
  136. package/internals/iterator-close.js +2 -1
  137. package/internals/iterator-create-proxy.js +4 -3
  138. package/internals/map-emplace.js +8 -3
  139. package/internals/map-upsert.js +12 -4
  140. package/internals/math-scale.js +9 -12
  141. package/internals/microtask.js +6 -4
  142. package/internals/normalize-string-argument.js +5 -0
  143. package/internals/not-a-regexp.js +3 -0
  144. package/internals/number-parse-float.js +8 -6
  145. package/internals/number-parse-int.js +4 -2
  146. package/internals/numeric-range-iterator.js +4 -0
  147. package/internals/object-assign.js +5 -2
  148. package/internals/object-define-properties.js +3 -1
  149. package/internals/object-define-property.js +2 -0
  150. package/internals/object-get-own-property-descriptor.js +2 -1
  151. package/internals/object-get-own-property-names-external.js +4 -4
  152. package/internals/object-get-prototype-of.js +2 -1
  153. package/internals/object-is-extensible.js +16 -0
  154. package/internals/object-is-prototype-of.js +3 -0
  155. package/internals/object-keys-internal.js +5 -2
  156. package/internals/object-set-prototype-of.js +4 -3
  157. package/internals/object-to-array.js +7 -3
  158. package/internals/ordinary-to-primitive.js +7 -3
  159. package/internals/own-keys.js +4 -1
  160. package/internals/reflect-metadata.js +9 -3
  161. package/internals/regexp-exec-abstract.js +6 -2
  162. package/internals/require-object-coercible.js +4 -0
  163. package/internals/set-global.js +4 -2
  164. package/internals/shared.js +1 -1
  165. package/internals/string-multibyte.js +13 -4
  166. package/internals/string-pad.js +6 -3
  167. package/internals/string-punycode-to-ascii.js +34 -20
  168. package/internals/string-repeat.js +3 -0
  169. package/internals/string-trim.js +4 -2
  170. package/internals/task.js +11 -11
  171. package/internals/this-number-value.js +2 -4
  172. package/internals/to-index.js +3 -0
  173. package/internals/to-object.js +3 -0
  174. package/internals/to-positive-integer.js +3 -0
  175. package/internals/to-primitive.js +4 -1
  176. package/internals/to-property-key.js +1 -1
  177. package/internals/to-string.js +3 -0
  178. package/internals/try-to-string.js +4 -0
  179. package/internals/uid.js +4 -1
  180. package/internals/well-known-symbol.js +5 -1
  181. package/modules/es.aggregate-error.js +27 -11
  182. package/modules/es.array.concat.js +2 -0
  183. package/modules/es.array.index-of.js +7 -5
  184. package/modules/es.array.join.js +3 -2
  185. package/modules/es.array.of.js +3 -1
  186. package/modules/es.array.reduce.js +2 -1
  187. package/modules/es.array.reverse.js +3 -2
  188. package/modules/es.array.slice.js +4 -2
  189. package/modules/es.array.sort.js +7 -4
  190. package/modules/es.array.splice.js +2 -0
  191. package/modules/es.date.get-year.js +3 -2
  192. package/modules/es.date.now.js +6 -1
  193. package/modules/es.date.set-year.js +6 -4
  194. package/modules/es.date.to-json.js +3 -2
  195. package/modules/es.escape.js +12 -5
  196. package/modules/es.function.has-instance.js +3 -2
  197. package/modules/es.json.stringify.js +18 -7
  198. package/modules/es.map.js +1 -1
  199. package/modules/es.number.to-fixed.js +19 -13
  200. package/modules/es.number.to-precision.js +6 -5
  201. package/modules/es.object.is-extensible.js +4 -10
  202. package/modules/es.object.is-frozen.js +6 -2
  203. package/modules/es.object.is-sealed.js +6 -2
  204. package/modules/es.promise.all-settled.js +2 -2
  205. package/modules/es.promise.any.js +5 -4
  206. package/modules/es.promise.js +22 -18
  207. package/modules/es.reflect.apply.js +4 -10
  208. package/modules/es.reflect.construct.js +10 -5
  209. package/modules/es.reflect.get.js +2 -1
  210. package/modules/es.reflect.is-extensible.js +2 -4
  211. package/modules/es.reflect.set.js +2 -1
  212. package/modules/es.set.js +1 -1
  213. package/modules/es.string.at-alternative.js +4 -1
  214. package/modules/es.string.ends-with.js +6 -4
  215. package/modules/es.string.from-code-point.js +7 -4
  216. package/modules/es.string.includes.js +8 -2
  217. package/modules/es.string.match-all.js +25 -19
  218. package/modules/es.string.raw.js +6 -6
  219. package/modules/es.string.replace-all.js +19 -13
  220. package/modules/es.string.starts-with.js +6 -4
  221. package/modules/es.string.substr.js +3 -2
  222. package/modules/es.symbol.js +34 -21
  223. package/modules/es.unescape.js +14 -9
  224. package/modules/es.weak-map.js +15 -15
  225. package/modules/esnext.array.is-template-object.js +1 -1
  226. package/modules/esnext.async-iterator.as-indexed-pairs.js +2 -1
  227. package/modules/esnext.async-iterator.constructor.js +1 -1
  228. package/modules/esnext.async-iterator.drop.js +2 -1
  229. package/modules/esnext.async-iterator.filter.js +2 -1
  230. package/modules/esnext.async-iterator.flat-map.js +3 -2
  231. package/modules/esnext.async-iterator.from.js +4 -4
  232. package/modules/esnext.async-iterator.map.js +2 -1
  233. package/modules/esnext.async-iterator.reduce.js +4 -1
  234. package/modules/esnext.async-iterator.take.js +4 -2
  235. package/modules/esnext.composite-key.js +5 -1
  236. package/modules/esnext.composite-symbol.js +3 -2
  237. package/modules/esnext.iterator.as-indexed-pairs.js +2 -1
  238. package/modules/esnext.iterator.constructor.js +1 -1
  239. package/modules/esnext.iterator.drop.js +4 -2
  240. package/modules/esnext.iterator.filter.js +2 -1
  241. package/modules/esnext.iterator.flat-map.js +7 -3
  242. package/modules/esnext.iterator.from.js +4 -4
  243. package/modules/esnext.iterator.map.js +2 -1
  244. package/modules/esnext.iterator.reduce.js +3 -0
  245. package/modules/esnext.iterator.take.js +2 -1
  246. package/modules/esnext.map.delete-all.js +2 -4
  247. package/modules/esnext.map.emplace.js +2 -2
  248. package/modules/esnext.map.every.js +1 -1
  249. package/modules/esnext.map.filter.js +5 -4
  250. package/modules/esnext.map.find-key.js +1 -1
  251. package/modules/esnext.map.find.js +1 -1
  252. package/modules/esnext.map.group-by.js +6 -2
  253. package/modules/esnext.map.includes.js +1 -1
  254. package/modules/esnext.map.key-by.js +2 -1
  255. package/modules/esnext.map.map-keys.js +5 -4
  256. package/modules/esnext.map.map-values.js +5 -4
  257. package/modules/esnext.map.reduce.js +3 -0
  258. package/modules/esnext.map.some.js +1 -1
  259. package/modules/esnext.map.update-or-insert.js +2 -2
  260. package/modules/esnext.map.update.js +11 -4
  261. package/modules/esnext.map.upsert.js +2 -2
  262. package/modules/esnext.math.seeded-prng.js +3 -1
  263. package/modules/esnext.number.from-string.js +12 -3
  264. package/modules/esnext.observable.js +14 -9
  265. package/modules/esnext.reflect.get-metadata-keys.js +5 -10
  266. package/modules/esnext.set.add-all.js +2 -4
  267. package/modules/esnext.set.delete-all.js +2 -4
  268. package/modules/esnext.set.difference.js +3 -2
  269. package/modules/esnext.set.every.js +1 -1
  270. package/modules/esnext.set.filter.js +4 -3
  271. package/modules/esnext.set.find.js +1 -1
  272. package/modules/esnext.set.intersection.js +3 -2
  273. package/modules/esnext.set.is-disjoint-from.js +3 -2
  274. package/modules/esnext.set.is-subset-of.js +3 -2
  275. package/modules/esnext.set.is-superset-of.js +3 -2
  276. package/modules/esnext.set.join.js +9 -4
  277. package/modules/esnext.set.map.js +5 -4
  278. package/modules/esnext.set.reduce.js +3 -0
  279. package/modules/esnext.set.some.js +1 -1
  280. package/modules/esnext.set.symmetric-difference.js +3 -2
  281. package/modules/esnext.weak-map.delete-all.js +2 -4
  282. package/modules/esnext.weak-map.emplace.js +2 -2
  283. package/modules/esnext.weak-map.upsert.js +2 -2
  284. package/modules/esnext.weak-set.add-all.js +2 -4
  285. package/modules/esnext.weak-set.delete-all.js +2 -4
  286. package/modules/web.timers.js +5 -4
  287. package/modules/web.url-search-params.js +122 -104
  288. package/modules/web.url.js +664 -628
  289. package/package.json +2 -2
  290. package/stable/instance/entries.js +6 -4
  291. package/stable/instance/for-each.js +6 -4
  292. package/stable/instance/keys.js +6 -4
  293. package/stable/instance/values.js +6 -4
@@ -1,16 +1,16 @@
1
1
  // https://github.com/tc39/proposal-iterator-helpers
2
2
  var $ = require('../internals/export');
3
+ var apply = require('../internals/function-apply');
3
4
  var anObject = require('../internals/an-object');
4
5
  var toObject = require('../internals/to-object');
6
+ var isPrototypeOf = require('../internals/object-is-prototype-of');
5
7
  var IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;
6
8
  var createIteratorProxy = require('../internals/iterator-create-proxy');
7
9
  var getIterator = require('../internals/get-iterator');
8
10
  var getIteratorMethod = require('../internals/get-iterator-method');
9
11
 
10
- var isPrototypeOf = {}.isPrototypeOf;
11
-
12
12
  var IteratorProxy = createIteratorProxy(function (args) {
13
- var result = anObject(this.next.apply(this.iterator, args));
13
+ var result = anObject(apply(this.next, this.iterator, args));
14
14
  var done = this.done = !!result.done;
15
15
  if (!done) return result.value;
16
16
  }, true);
@@ -22,7 +22,7 @@ $({ target: 'Iterator', stat: true }, {
22
22
  var iterator;
23
23
  if (usingIterator) {
24
24
  iterator = getIterator(object, usingIterator);
25
- if (isPrototypeOf.call(IteratorPrototype, iterator)) return iterator;
25
+ if (isPrototypeOf(IteratorPrototype, iterator)) return iterator;
26
26
  } else {
27
27
  iterator = object;
28
28
  } return new IteratorProxy({ iterator: iterator });
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
  // https://github.com/tc39/proposal-iterator-helpers
3
3
  var $ = require('../internals/export');
4
+ var apply = require('../internals/function-apply');
4
5
  var aCallable = require('../internals/a-callable');
5
6
  var anObject = require('../internals/an-object');
6
7
  var createIteratorProxy = require('../internals/iterator-create-proxy');
@@ -8,7 +9,7 @@ var callWithSafeIterationClosing = require('../internals/call-with-safe-iteratio
8
9
 
9
10
  var IteratorProxy = createIteratorProxy(function (args) {
10
11
  var iterator = this.iterator;
11
- var result = anObject(this.next.apply(iterator, args));
12
+ var result = anObject(apply(this.next, iterator, args));
12
13
  var done = this.done = !!result.done;
13
14
  if (!done) return callWithSafeIterationClosing(iterator, this.mapper, result.value);
14
15
  });
@@ -1,10 +1,13 @@
1
1
  'use strict';
2
2
  // https://github.com/tc39/proposal-iterator-helpers
3
3
  var $ = require('../internals/export');
4
+ var global = require('../internals/global');
4
5
  var iterate = require('../internals/iterate');
5
6
  var aCallable = require('../internals/a-callable');
6
7
  var anObject = require('../internals/an-object');
7
8
 
9
+ var TypeError = global.TypeError;
10
+
8
11
  $({ target: 'Iterator', proto: true, real: true }, {
9
12
  reduce: function reduce(reducer /* , initialValue */) {
10
13
  anObject(this);
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
  // https://github.com/tc39/proposal-iterator-helpers
3
3
  var $ = require('../internals/export');
4
+ var apply = require('../internals/function-apply');
4
5
  var anObject = require('../internals/an-object');
5
6
  var toPositiveInteger = require('../internals/to-positive-integer');
6
7
  var createIteratorProxy = require('../internals/iterator-create-proxy');
@@ -12,7 +13,7 @@ var IteratorProxy = createIteratorProxy(function (args) {
12
13
  this.done = true;
13
14
  return iteratorClose(iterator, 'normal', undefined);
14
15
  }
15
- var result = anObject(this.next.apply(iterator, args));
16
+ var result = anObject(apply(this.next, iterator, args));
16
17
  var done = this.done = !!result.done;
17
18
  if (!done) return result.value;
18
19
  });
@@ -1,12 +1,10 @@
1
1
  'use strict';
2
2
  var $ = require('../internals/export');
3
3
  var IS_PURE = require('../internals/is-pure');
4
- var collectionDeleteAll = require('../internals/collection-delete-all');
4
+ var deleteAll = require('../internals/collection-delete-all');
5
5
 
6
6
  // `Map.prototype.deleteAll` method
7
7
  // https://github.com/tc39/proposal-collection-methods
8
8
  $({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {
9
- deleteAll: function deleteAll(/* ...elements */) {
10
- return collectionDeleteAll.apply(this, arguments);
11
- }
9
+ deleteAll: deleteAll
12
10
  });
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
  var $ = require('../internals/export');
3
3
  var IS_PURE = require('../internals/is-pure');
4
- var $emplace = require('../internals/map-emplace');
4
+ var emplace = require('../internals/map-emplace');
5
5
 
6
6
  // `Map.prototype.emplace` method
7
7
  // https://github.com/thumbsupep/proposal-upsert
8
8
  $({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {
9
- emplace: $emplace
9
+ emplace: emplace
10
10
  });
@@ -12,7 +12,7 @@ $({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {
12
12
  every: function every(callbackfn /* , thisArg */) {
13
13
  var map = anObject(this);
14
14
  var iterator = getMapIterator(map);
15
- var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
15
+ var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);
16
16
  return !iterate(iterator, function (key, value, stop) {
17
17
  if (!boundFunction(value, key, map)) return stop();
18
18
  }, { AS_ENTRIES: true, IS_ITERATOR: true, INTERRUPTED: true }).stopped;
@@ -1,10 +1,11 @@
1
1
  'use strict';
2
- var $ = require('../internals/export');
3
2
  var IS_PURE = require('../internals/is-pure');
3
+ var $ = require('../internals/export');
4
4
  var getBuiltIn = require('../internals/get-built-in');
5
+ var bind = require('../internals/function-bind-context');
6
+ var call = require('../internals/function-call');
5
7
  var aCallable = require('../internals/a-callable');
6
8
  var anObject = require('../internals/an-object');
7
- var bind = require('../internals/function-bind-context');
8
9
  var speciesConstructor = require('../internals/species-constructor');
9
10
  var getMapIterator = require('../internals/get-map-iterator');
10
11
  var iterate = require('../internals/iterate');
@@ -15,11 +16,11 @@ $({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {
15
16
  filter: function filter(callbackfn /* , thisArg */) {
16
17
  var map = anObject(this);
17
18
  var iterator = getMapIterator(map);
18
- var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
19
+ var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);
19
20
  var newMap = new (speciesConstructor(map, getBuiltIn('Map')))();
20
21
  var setter = aCallable(newMap.set);
21
22
  iterate(iterator, function (key, value) {
22
- if (boundFunction(value, key, map)) setter.call(newMap, key, value);
23
+ if (boundFunction(value, key, map)) call(setter, newMap, key, value);
23
24
  }, { AS_ENTRIES: true, IS_ITERATOR: true });
24
25
  return newMap;
25
26
  }
@@ -12,7 +12,7 @@ $({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {
12
12
  findKey: function findKey(callbackfn /* , thisArg */) {
13
13
  var map = anObject(this);
14
14
  var iterator = getMapIterator(map);
15
- var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
15
+ var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);
16
16
  return iterate(iterator, function (key, value, stop) {
17
17
  if (boundFunction(value, key, map)) return stop(key);
18
18
  }, { AS_ENTRIES: true, IS_ITERATOR: true, INTERRUPTED: true }).result;
@@ -12,7 +12,7 @@ $({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {
12
12
  find: function find(callbackfn /* , thisArg */) {
13
13
  var map = anObject(this);
14
14
  var iterator = getMapIterator(map);
15
- var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
15
+ var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);
16
16
  return iterate(iterator, function (key, value, stop) {
17
17
  if (boundFunction(value, key, map)) return stop(value);
18
18
  }, { AS_ENTRIES: true, IS_ITERATOR: true, INTERRUPTED: true }).result;
@@ -1,9 +1,13 @@
1
1
  'use strict';
2
2
  var $ = require('../internals/export');
3
+ var call = require('../internals/function-call');
4
+ var uncurryThis = require('../internals/function-uncurry-this');
3
5
  var aCallable = require('../internals/a-callable');
4
6
  var getIterator = require('../internals/get-iterator');
5
7
  var iterate = require('../internals/iterate');
6
8
 
9
+ var push = uncurryThis([].push);
10
+
7
11
  // `Map.groupBy` method
8
12
  // https://github.com/tc39/proposal-collection-methods
9
13
  $({ target: 'Map', stat: true }, {
@@ -16,8 +20,8 @@ $({ target: 'Map', stat: true }, {
16
20
  var set = aCallable(newMap.set);
17
21
  iterate(iterator, function (element) {
18
22
  var derivedKey = keyDerivative(element);
19
- if (!has.call(newMap, derivedKey)) set.call(newMap, derivedKey, [element]);
20
- else get.call(newMap, derivedKey).push(element);
23
+ if (!call(has, newMap, derivedKey)) call(set, newMap, derivedKey, [element]);
24
+ else push(call(get, newMap, derivedKey), element);
21
25
  }, { IS_ITERATOR: true });
22
26
  return newMap;
23
27
  }
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
- var $ = require('../internals/export');
3
2
  var IS_PURE = require('../internals/is-pure');
3
+ var $ = require('../internals/export');
4
4
  var anObject = require('../internals/an-object');
5
5
  var getMapIterator = require('../internals/get-map-iterator');
6
6
  var sameValueZero = require('../internals/same-value-zero');
@@ -1,5 +1,6 @@
1
1
  'use strict';
2
2
  var $ = require('../internals/export');
3
+ var call = require('../internals/function-call');
3
4
  var iterate = require('../internals/iterate');
4
5
  var aCallable = require('../internals/a-callable');
5
6
 
@@ -11,7 +12,7 @@ $({ target: 'Map', stat: true }, {
11
12
  aCallable(keyDerivative);
12
13
  var setter = aCallable(newMap.set);
13
14
  iterate(iterable, function (element) {
14
- setter.call(newMap, keyDerivative(element), element);
15
+ call(setter, newMap, keyDerivative(element), element);
15
16
  });
16
17
  return newMap;
17
18
  }
@@ -1,10 +1,11 @@
1
1
  'use strict';
2
- var $ = require('../internals/export');
3
2
  var IS_PURE = require('../internals/is-pure');
3
+ var $ = require('../internals/export');
4
4
  var getBuiltIn = require('../internals/get-built-in');
5
+ var bind = require('../internals/function-bind-context');
6
+ var call = require('../internals/function-call');
5
7
  var aCallable = require('../internals/a-callable');
6
8
  var anObject = require('../internals/an-object');
7
- var bind = require('../internals/function-bind-context');
8
9
  var speciesConstructor = require('../internals/species-constructor');
9
10
  var getMapIterator = require('../internals/get-map-iterator');
10
11
  var iterate = require('../internals/iterate');
@@ -15,11 +16,11 @@ $({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {
15
16
  mapKeys: function mapKeys(callbackfn /* , thisArg */) {
16
17
  var map = anObject(this);
17
18
  var iterator = getMapIterator(map);
18
- var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
19
+ var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);
19
20
  var newMap = new (speciesConstructor(map, getBuiltIn('Map')))();
20
21
  var setter = aCallable(newMap.set);
21
22
  iterate(iterator, function (key, value) {
22
- setter.call(newMap, boundFunction(value, key, map), value);
23
+ call(setter, newMap, boundFunction(value, key, map), value);
23
24
  }, { AS_ENTRIES: true, IS_ITERATOR: true });
24
25
  return newMap;
25
26
  }
@@ -1,10 +1,11 @@
1
1
  'use strict';
2
- var $ = require('../internals/export');
3
2
  var IS_PURE = require('../internals/is-pure');
3
+ var $ = require('../internals/export');
4
4
  var getBuiltIn = require('../internals/get-built-in');
5
+ var bind = require('../internals/function-bind-context');
6
+ var call = require('../internals/function-call');
5
7
  var aCallable = require('../internals/a-callable');
6
8
  var anObject = require('../internals/an-object');
7
- var bind = require('../internals/function-bind-context');
8
9
  var speciesConstructor = require('../internals/species-constructor');
9
10
  var getMapIterator = require('../internals/get-map-iterator');
10
11
  var iterate = require('../internals/iterate');
@@ -15,11 +16,11 @@ $({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {
15
16
  mapValues: function mapValues(callbackfn /* , thisArg */) {
16
17
  var map = anObject(this);
17
18
  var iterator = getMapIterator(map);
18
- var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
19
+ var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);
19
20
  var newMap = new (speciesConstructor(map, getBuiltIn('Map')))();
20
21
  var setter = aCallable(newMap.set);
21
22
  iterate(iterator, function (key, value) {
22
- setter.call(newMap, key, boundFunction(value, key, map));
23
+ call(setter, newMap, key, boundFunction(value, key, map));
23
24
  }, { AS_ENTRIES: true, IS_ITERATOR: true });
24
25
  return newMap;
25
26
  }
@@ -1,11 +1,14 @@
1
1
  'use strict';
2
2
  var $ = require('../internals/export');
3
+ var global = require('../internals/global');
3
4
  var IS_PURE = require('../internals/is-pure');
4
5
  var anObject = require('../internals/an-object');
5
6
  var aCallable = require('../internals/a-callable');
6
7
  var getMapIterator = require('../internals/get-map-iterator');
7
8
  var iterate = require('../internals/iterate');
8
9
 
10
+ var TypeError = global.TypeError;
11
+
9
12
  // `Map.prototype.reduce` method
10
13
  // https://github.com/tc39/proposal-collection-methods
11
14
  $({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {
@@ -12,7 +12,7 @@ $({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {
12
12
  some: function some(callbackfn /* , thisArg */) {
13
13
  var map = anObject(this);
14
14
  var iterator = getMapIterator(map);
15
- var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
15
+ var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);
16
16
  return iterate(iterator, function (key, value, stop) {
17
17
  if (boundFunction(value, key, map)) return stop();
18
18
  }, { AS_ENTRIES: true, IS_ITERATOR: true, INTERRUPTED: true }).stopped;
@@ -2,10 +2,10 @@
2
2
  // TODO: remove from `core-js@4`
3
3
  var $ = require('../internals/export');
4
4
  var IS_PURE = require('../internals/is-pure');
5
- var $upsert = require('../internals/map-upsert');
5
+ var upsert = require('../internals/map-upsert');
6
6
 
7
7
  // `Map.prototype.updateOrInsert` method (replaced by `Map.prototype.emplace`)
8
8
  // https://github.com/thumbsupep/proposal-upsert
9
9
  $({ target: 'Map', proto: true, real: true, name: 'upsert', forced: IS_PURE }, {
10
- updateOrInsert: $upsert
10
+ updateOrInsert: upsert
11
11
  });
@@ -1,22 +1,29 @@
1
1
  'use strict';
2
- var $ = require('../internals/export');
3
2
  var IS_PURE = require('../internals/is-pure');
3
+ var $ = require('../internals/export');
4
+ var global = require('../internals/global');
5
+ var call = require('../internals/function-call');
4
6
  var anObject = require('../internals/an-object');
5
7
  var aCallable = require('../internals/a-callable');
6
8
 
9
+ var TypeError = global.TypeError;
10
+
7
11
  // `Set.prototype.update` method
8
12
  // https://github.com/tc39/proposal-collection-methods
9
13
  $({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {
10
14
  update: function update(key, callback /* , thunk */) {
11
15
  var map = anObject(this);
16
+ var get = aCallable(map.get);
17
+ var has = aCallable(map.has);
18
+ var set = aCallable(map.set);
12
19
  var length = arguments.length;
13
20
  aCallable(callback);
14
- var isPresentInMap = map.has(key);
21
+ var isPresentInMap = call(has, map, key);
15
22
  if (!isPresentInMap && length < 3) {
16
23
  throw TypeError('Updating absent value');
17
24
  }
18
- var value = isPresentInMap ? map.get(key) : aCallable(length > 2 ? arguments[2] : undefined)(key, map);
19
- map.set(key, callback(value, key, map));
25
+ var value = isPresentInMap ? call(get, map, key) : aCallable(length > 2 ? arguments[2] : undefined)(key, map);
26
+ call(set, map, key, callback(value, key, map));
20
27
  return map;
21
28
  }
22
29
  });
@@ -2,10 +2,10 @@
2
2
  // TODO: remove from `core-js@4`
3
3
  var $ = require('../internals/export');
4
4
  var IS_PURE = require('../internals/is-pure');
5
- var $upsert = require('../internals/map-upsert');
5
+ var upsert = require('../internals/map-upsert');
6
6
 
7
7
  // `Map.prototype.upsert` method (replaced by `Map.prototype.emplace`)
8
8
  // https://github.com/thumbsupep/proposal-upsert
9
9
  $({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {
10
- upsert: $upsert
10
+ upsert: upsert
11
11
  });
@@ -1,4 +1,5 @@
1
1
  var $ = require('../internals/export');
2
+ var global = require('../internals/global');
2
3
  var anObject = require('../internals/an-object');
3
4
  var numberIsFinite = require('../internals/number-is-finite');
4
5
  var createIteratorConstructor = require('../internals/create-iterator-constructor');
@@ -6,9 +7,10 @@ var InternalStateModule = require('../internals/internal-state');
6
7
 
7
8
  var SEEDED_RANDOM = 'Seeded Random';
8
9
  var SEEDED_RANDOM_GENERATOR = SEEDED_RANDOM + ' Generator';
10
+ var SEED_TYPE_ERROR = 'Math.seededPRNG() argument should have a "seed" field with a finite value.';
9
11
  var setInternalState = InternalStateModule.set;
10
12
  var getInternalState = InternalStateModule.getterFor(SEEDED_RANDOM_GENERATOR);
11
- var SEED_TYPE_ERROR = 'Math.seededPRNG() argument should have a "seed" field with a finite value.';
13
+ var TypeError = global.TypeError;
12
14
 
13
15
  var $SeededRandomGenerator = createIteratorConstructor(function SeededRandomGenerator(seed) {
14
16
  setInternalState(this, {
@@ -1,11 +1,20 @@
1
1
  'use strict';
2
2
  var $ = require('../internals/export');
3
+ var global = require('../internals/global');
4
+ var uncurryThis = require('../internals/function-uncurry-this');
3
5
  var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
4
6
  var parseInt = require('../internals/number-parse-int');
5
7
 
6
8
  var INVALID_NUMBER_REPRESENTATION = 'Invalid number representation';
7
9
  var INVALID_RADIX = 'Invalid radix';
10
+ var RangeError = global.RangeError;
11
+ var SyntaxError = global.SyntaxError;
12
+ var TypeError = global.TypeError;
8
13
  var valid = /^[\da-z]+$/;
14
+ var charAt = uncurryThis(''.charAt);
15
+ var exec = uncurryThis(valid.exec);
16
+ var numberToString = uncurryThis(1.0.toString);
17
+ var stringSlice = uncurryThis(''.slice);
9
18
 
10
19
  // `Number.fromString` method
11
20
  // https://github.com/tc39/proposal-number-fromstring
@@ -15,14 +24,14 @@ $({ target: 'Number', stat: true }, {
15
24
  var R, mathNum;
16
25
  if (typeof string != 'string') throw TypeError(INVALID_NUMBER_REPRESENTATION);
17
26
  if (!string.length) throw SyntaxError(INVALID_NUMBER_REPRESENTATION);
18
- if (string.charAt(0) == '-') {
27
+ if (charAt(string, 0) == '-') {
19
28
  sign = -1;
20
- string = string.slice(1);
29
+ string = stringSlice(string, 1);
21
30
  if (!string.length) throw SyntaxError(INVALID_NUMBER_REPRESENTATION);
22
31
  }
23
32
  R = radix === undefined ? 10 : toIntegerOrInfinity(radix);
24
33
  if (R < 2 || R > 36) throw RangeError(INVALID_RADIX);
25
- if (!valid.test(string) || (mathNum = parseInt(string, R)).toString(R) !== string) {
34
+ if (!exec(valid, string) || numberToString(mathNum = parseInt(string, R), R) !== string) {
26
35
  throw SyntaxError(INVALID_NUMBER_REPRESENTATION);
27
36
  }
28
37
  return sign * mathNum;
@@ -1,6 +1,8 @@
1
1
  'use strict';
2
2
  // https://github.com/tc39/proposal-observable
3
3
  var $ = require('../internals/export');
4
+ var global = require('../internals/global');
5
+ var call = require('../internals/function-call');
4
6
  var DESCRIPTORS = require('../internals/descriptors');
5
7
  var setSpecies = require('../internals/set-species');
6
8
  var aCallable = require('../internals/a-callable');
@@ -22,6 +24,7 @@ var InternalStateModule = require('../internals/internal-state');
22
24
  var OBSERVABLE = wellKnownSymbol('observable');
23
25
  var getInternalState = InternalStateModule.get;
24
26
  var setInternalState = InternalStateModule.set;
27
+ var Array = global.Array;
25
28
 
26
29
  var cleanupSubscription = function (subscriptionState) {
27
30
  var cleanup = subscriptionState.cleanup;
@@ -57,7 +60,7 @@ var Subscription = function (observer, subscriber) {
57
60
  var start;
58
61
  if (!DESCRIPTORS) this.closed = false;
59
62
  try {
60
- if (start = getMethod(observer, 'start')) start.call(observer, this);
63
+ if (start = getMethod(observer, 'start')) call(start, observer, this);
61
64
  } catch (error) {
62
65
  hostReportErrors(error);
63
66
  }
@@ -104,7 +107,7 @@ SubscriptionObserver.prototype = redefineAll({}, {
104
107
  var observer = subscriptionState.observer;
105
108
  try {
106
109
  var nextMethod = getMethod(observer, 'next');
107
- if (nextMethod) nextMethod.call(observer, value);
110
+ if (nextMethod) call(nextMethod, observer, value);
108
111
  } catch (error) {
109
112
  hostReportErrors(error);
110
113
  }
@@ -117,7 +120,7 @@ SubscriptionObserver.prototype = redefineAll({}, {
117
120
  close(subscriptionState);
118
121
  try {
119
122
  var errorMethod = getMethod(observer, 'error');
120
- if (errorMethod) errorMethod.call(observer, value);
123
+ if (errorMethod) call(errorMethod, observer, value);
121
124
  else hostReportErrors(value);
122
125
  } catch (err) {
123
126
  hostReportErrors(err);
@@ -131,7 +134,7 @@ SubscriptionObserver.prototype = redefineAll({}, {
131
134
  close(subscriptionState);
132
135
  try {
133
136
  var completeMethod = getMethod(observer, 'complete');
134
- if (completeMethod) completeMethod.call(observer);
137
+ if (completeMethod) call(completeMethod, observer);
135
138
  } catch (error) {
136
139
  hostReportErrors(error);
137
140
  } cleanupSubscription(subscriptionState);
@@ -147,11 +150,13 @@ if (DESCRIPTORS) defineProperty(SubscriptionObserver.prototype, 'closed', {
147
150
  });
148
151
 
149
152
  var $Observable = function Observable(subscriber) {
150
- anInstance(this, $Observable, 'Observable');
153
+ anInstance(this, ObservablePrototype);
151
154
  setInternalState(this, { subscriber: aCallable(subscriber) });
152
155
  };
153
156
 
154
- redefineAll($Observable.prototype, {
157
+ var ObservablePrototype = $Observable.prototype;
158
+
159
+ redefineAll(ObservablePrototype, {
155
160
  subscribe: function subscribe(observer) {
156
161
  var length = arguments.length;
157
162
  return new Subscription(isCallable(observer) ? {
@@ -167,7 +172,7 @@ redefineAll($Observable, {
167
172
  var C = isConstructor(this) ? this : $Observable;
168
173
  var observableMethod = getMethod(anObject(x), OBSERVABLE);
169
174
  if (observableMethod) {
170
- var observable = anObject(observableMethod.call(x));
175
+ var observable = anObject(call(observableMethod, x));
171
176
  return observable.constructor === C ? observable : new C(function (observer) {
172
177
  return observable.subscribe(observer);
173
178
  });
@@ -184,7 +189,7 @@ redefineAll($Observable, {
184
189
  of: function of() {
185
190
  var C = isConstructor(this) ? this : $Observable;
186
191
  var length = arguments.length;
187
- var items = new Array(length);
192
+ var items = Array(length);
188
193
  var index = 0;
189
194
  while (index < length) items[index] = arguments[index++];
190
195
  return new C(function (observer) {
@@ -196,7 +201,7 @@ redefineAll($Observable, {
196
201
  }
197
202
  });
198
203
 
199
- redefine($Observable.prototype, OBSERVABLE, function () { return this; });
204
+ redefine(ObservablePrototype, OBSERVABLE, function () { return this; });
200
205
 
201
206
  $({ global: true }, {
202
207
  Observable: $Observable
@@ -1,26 +1,21 @@
1
1
  var $ = require('../internals/export');
2
- // TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`
3
- var Set = require('../modules/es.set');
2
+ var uncurryThis = require('../internals/function-uncurry-this');
4
3
  var ReflectMetadataModule = require('../internals/reflect-metadata');
5
4
  var anObject = require('../internals/an-object');
6
5
  var getPrototypeOf = require('../internals/object-get-prototype-of');
7
- var iterate = require('../internals/iterate');
6
+ var $arrayUniqueBy = require('../internals/array-unique-by');
8
7
 
8
+ var arrayUniqueBy = uncurryThis($arrayUniqueBy);
9
+ var concat = uncurryThis([].concat);
9
10
  var ordinaryOwnMetadataKeys = ReflectMetadataModule.keys;
10
11
  var toMetadataKey = ReflectMetadataModule.toKey;
11
12
 
12
- var from = function (iter) {
13
- var result = [];
14
- iterate(iter, result.push, { that: result });
15
- return result;
16
- };
17
-
18
13
  var ordinaryMetadataKeys = function (O, P) {
19
14
  var oKeys = ordinaryOwnMetadataKeys(O, P);
20
15
  var parent = getPrototypeOf(O);
21
16
  if (parent === null) return oKeys;
22
17
  var pKeys = ordinaryMetadataKeys(parent, P);
23
- return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys;
18
+ return pKeys.length ? oKeys.length ? arrayUniqueBy(concat(oKeys, pKeys)) : pKeys : oKeys;
24
19
  };
25
20
 
26
21
  // `Reflect.getMetadataKeys` method
@@ -1,12 +1,10 @@
1
1
  'use strict';
2
2
  var $ = require('../internals/export');
3
3
  var IS_PURE = require('../internals/is-pure');
4
- var collectionAddAll = require('../internals/collection-add-all');
4
+ var addAll = require('../internals/collection-add-all');
5
5
 
6
6
  // `Set.prototype.addAll` method
7
7
  // https://github.com/tc39/proposal-collection-methods
8
8
  $({ target: 'Set', proto: true, real: true, forced: IS_PURE }, {
9
- addAll: function addAll(/* ...elements */) {
10
- return collectionAddAll.apply(this, arguments);
11
- }
9
+ addAll: addAll
12
10
  });
@@ -1,12 +1,10 @@
1
1
  'use strict';
2
2
  var $ = require('../internals/export');
3
3
  var IS_PURE = require('../internals/is-pure');
4
- var collectionDeleteAll = require('../internals/collection-delete-all');
4
+ var deleteAll = require('../internals/collection-delete-all');
5
5
 
6
6
  // `Set.prototype.deleteAll` method
7
7
  // https://github.com/tc39/proposal-collection-methods
8
8
  $({ target: 'Set', proto: true, real: true, forced: IS_PURE }, {
9
- deleteAll: function deleteAll(/* ...elements */) {
10
- return collectionDeleteAll.apply(this, arguments);
11
- }
9
+ deleteAll: deleteAll
12
10
  });
@@ -1,7 +1,8 @@
1
1
  'use strict';
2
- var $ = require('../internals/export');
3
2
  var IS_PURE = require('../internals/is-pure');
3
+ var $ = require('../internals/export');
4
4
  var getBuiltIn = require('../internals/get-built-in');
5
+ var call = require('../internals/function-call');
5
6
  var aCallable = require('../internals/a-callable');
6
7
  var anObject = require('../internals/an-object');
7
8
  var speciesConstructor = require('../internals/species-constructor');
@@ -15,7 +16,7 @@ $({ target: 'Set', proto: true, real: true, forced: IS_PURE }, {
15
16
  var newSet = new (speciesConstructor(set, getBuiltIn('Set')))(set);
16
17
  var remover = aCallable(newSet['delete']);
17
18
  iterate(iterable, function (value) {
18
- remover.call(newSet, value);
19
+ call(remover, newSet, value);
19
20
  });
20
21
  return newSet;
21
22
  }
@@ -12,7 +12,7 @@ $({ target: 'Set', proto: true, real: true, forced: IS_PURE }, {
12
12
  every: function every(callbackfn /* , thisArg */) {
13
13
  var set = anObject(this);
14
14
  var iterator = getSetIterator(set);
15
- var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
15
+ var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);
16
16
  return !iterate(iterator, function (value, stop) {
17
17
  if (!boundFunction(value, value, set)) return stop();
18
18
  }, { IS_ITERATOR: true, INTERRUPTED: true }).stopped;
@@ -1,7 +1,8 @@
1
1
  'use strict';
2
- var $ = require('../internals/export');
3
2
  var IS_PURE = require('../internals/is-pure');
3
+ var $ = require('../internals/export');
4
4
  var getBuiltIn = require('../internals/get-built-in');
5
+ var call = require('../internals/function-call');
5
6
  var aCallable = require('../internals/a-callable');
6
7
  var anObject = require('../internals/an-object');
7
8
  var bind = require('../internals/function-bind-context');
@@ -15,11 +16,11 @@ $({ target: 'Set', proto: true, real: true, forced: IS_PURE }, {
15
16
  filter: function filter(callbackfn /* , thisArg */) {
16
17
  var set = anObject(this);
17
18
  var iterator = getSetIterator(set);
18
- var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
19
+ var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);
19
20
  var newSet = new (speciesConstructor(set, getBuiltIn('Set')))();
20
21
  var adder = aCallable(newSet.add);
21
22
  iterate(iterator, function (value) {
22
- if (boundFunction(value, value, set)) adder.call(newSet, value);
23
+ if (boundFunction(value, value, set)) call(adder, newSet, value);
23
24
  }, { IS_ITERATOR: true });
24
25
  return newSet;
25
26
  }