core-js 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 (334) 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-buffer-view-core.js +3 -2
  81. package/internals/array-buffer.js +29 -16
  82. package/internals/array-from-async.js +1 -1
  83. package/internals/array-from.js +6 -2
  84. package/internals/array-group-by.js +6 -3
  85. package/internals/array-iteration-from-last.js +1 -1
  86. package/internals/array-iteration.js +5 -4
  87. package/internals/array-last-index-of.js +2 -1
  88. package/internals/array-reduce.js +3 -0
  89. package/internals/array-slice-simple.js +17 -0
  90. package/internals/array-slice.js +3 -0
  91. package/internals/array-sort.js +10 -11
  92. package/internals/array-species-constructor.js +2 -0
  93. package/internals/array-unique-by.js +13 -9
  94. package/internals/async-from-sync-iterator.js +4 -3
  95. package/internals/async-iterator-create-proxy.js +4 -3
  96. package/internals/async-iterator-iteration.js +5 -2
  97. package/internals/classof-raw.js +5 -2
  98. package/internals/classof.js +3 -0
  99. package/internals/clear-error-stack.js +20 -0
  100. package/internals/collection-add-all.js +3 -2
  101. package/internals/collection-delete-all.js +3 -2
  102. package/internals/collection-from.js +7 -4
  103. package/internals/collection-of.js +3 -4
  104. package/internals/collection-strong.js +11 -9
  105. package/internals/collection-weak.js +10 -6
  106. package/internals/collection.js +8 -7
  107. package/internals/composite-key.js +9 -2
  108. package/internals/create-html.js +3 -1
  109. package/internals/date-to-iso-string.js +23 -13
  110. package/internals/date-to-primitive.js +3 -0
  111. package/internals/define-iterator.js +2 -1
  112. package/internals/engine-v8-version.js +10 -4
  113. package/internals/entry-unbind.js +3 -5
  114. package/internals/error-stack-installable.js +10 -0
  115. package/internals/export.js +1 -1
  116. package/internals/fix-regexp-well-known-symbol-logic.js +5 -3
  117. package/internals/flatten-into-array.js +4 -1
  118. package/internals/function-apply.js +9 -0
  119. package/internals/function-bind-context.js +5 -17
  120. package/internals/function-bind.js +15 -9
  121. package/internals/function-call.js +5 -0
  122. package/internals/function-uncurry-this.js +12 -0
  123. package/internals/get-async-iterator.js +2 -1
  124. package/internals/get-iterator.js +7 -2
  125. package/internals/get-map-iterator.js +3 -1
  126. package/internals/get-set-iterator.js +3 -1
  127. package/internals/get-substitution.js +10 -7
  128. package/internals/has-own-property.js +3 -2
  129. package/internals/host-report-errors.js +1 -1
  130. package/internals/ieee754.js +24 -6
  131. package/internals/indexed-object.js +5 -2
  132. package/internals/inspect-source.js +3 -2
  133. package/internals/install-error-cause.js +1 -1
  134. package/internals/internal-metadata.js +4 -7
  135. package/internals/internal-state.js +9 -7
  136. package/internals/is-callable.js +1 -1
  137. package/internals/is-constructor.js +6 -4
  138. package/internals/is-iterable.js +4 -2
  139. package/internals/is-object.js +1 -1
  140. package/internals/is-symbol.js +6 -2
  141. package/internals/iterate.js +14 -6
  142. package/internals/iterator-close.js +2 -1
  143. package/internals/iterator-create-proxy.js +4 -3
  144. package/internals/map-emplace.js +8 -3
  145. package/internals/map-upsert.js +12 -4
  146. package/internals/math-scale.js +9 -12
  147. package/internals/microtask.js +6 -4
  148. package/internals/normalize-string-argument.js +5 -0
  149. package/internals/not-a-regexp.js +3 -0
  150. package/internals/number-parse-float.js +8 -6
  151. package/internals/number-parse-int.js +4 -2
  152. package/internals/numeric-range-iterator.js +4 -0
  153. package/internals/object-assign.js +5 -2
  154. package/internals/object-define-properties.js +3 -1
  155. package/internals/object-define-property.js +2 -0
  156. package/internals/object-get-own-property-descriptor.js +2 -1
  157. package/internals/object-get-own-property-names-external.js +4 -4
  158. package/internals/object-get-prototype-of.js +2 -1
  159. package/internals/object-is-extensible.js +16 -0
  160. package/internals/object-is-prototype-of.js +3 -0
  161. package/internals/object-keys-internal.js +5 -2
  162. package/internals/object-set-prototype-of.js +4 -3
  163. package/internals/object-to-array.js +7 -3
  164. package/internals/ordinary-to-primitive.js +7 -3
  165. package/internals/own-keys.js +4 -1
  166. package/internals/reflect-metadata.js +9 -3
  167. package/internals/regexp-exec-abstract.js +6 -2
  168. package/internals/regexp-exec.js +20 -16
  169. package/internals/regexp-sticky-helpers.js +14 -2
  170. package/internals/require-object-coercible.js +4 -0
  171. package/internals/set-global.js +4 -2
  172. package/internals/shared.js +1 -1
  173. package/internals/string-multibyte.js +13 -4
  174. package/internals/string-pad.js +6 -3
  175. package/internals/string-punycode-to-ascii.js +34 -20
  176. package/internals/string-repeat.js +3 -0
  177. package/internals/string-trim.js +4 -2
  178. package/internals/task.js +11 -11
  179. package/internals/this-number-value.js +2 -4
  180. package/internals/to-index.js +3 -0
  181. package/internals/to-object.js +3 -0
  182. package/internals/to-offset.js +3 -0
  183. package/internals/to-positive-integer.js +3 -0
  184. package/internals/to-primitive.js +4 -1
  185. package/internals/to-property-key.js +1 -1
  186. package/internals/to-string.js +3 -0
  187. package/internals/try-to-string.js +4 -0
  188. package/internals/typed-array-constructor.js +10 -6
  189. package/internals/typed-array-from.js +4 -3
  190. package/internals/uid.js +4 -1
  191. package/internals/well-known-symbol.js +5 -1
  192. package/modules/es.aggregate-error.js +27 -11
  193. package/modules/es.array-buffer.slice.js +8 -4
  194. package/modules/es.array.concat.js +2 -0
  195. package/modules/es.array.index-of.js +7 -5
  196. package/modules/es.array.join.js +3 -2
  197. package/modules/es.array.of.js +3 -1
  198. package/modules/es.array.reduce.js +2 -1
  199. package/modules/es.array.reverse.js +3 -2
  200. package/modules/es.array.slice.js +4 -2
  201. package/modules/es.array.sort.js +7 -4
  202. package/modules/es.array.splice.js +2 -0
  203. package/modules/es.date.get-year.js +3 -2
  204. package/modules/es.date.now.js +6 -1
  205. package/modules/es.date.set-year.js +6 -4
  206. package/modules/es.date.to-primitive.js +2 -1
  207. package/modules/es.date.to-string.js +5 -4
  208. package/modules/es.escape.js +12 -5
  209. package/modules/es.function.has-instance.js +3 -2
  210. package/modules/es.function.name.js +5 -3
  211. package/modules/es.json.stringify.js +18 -7
  212. package/modules/es.map.js +1 -1
  213. package/modules/es.number.constructor.js +12 -7
  214. package/modules/es.number.to-fixed.js +19 -13
  215. package/modules/es.number.to-precision.js +6 -5
  216. package/modules/es.object.is-extensible.js +4 -10
  217. package/modules/es.object.is-frozen.js +6 -2
  218. package/modules/es.object.is-sealed.js +6 -2
  219. package/modules/es.promise.all-settled.js +2 -2
  220. package/modules/es.promise.any.js +5 -4
  221. package/modules/es.promise.js +22 -18
  222. package/modules/es.reflect.apply.js +4 -10
  223. package/modules/es.reflect.construct.js +10 -5
  224. package/modules/es.reflect.get.js +2 -1
  225. package/modules/es.reflect.is-extensible.js +2 -4
  226. package/modules/es.reflect.set.js +2 -1
  227. package/modules/es.regexp.constructor.js +26 -16
  228. package/modules/es.regexp.dot-all.js +5 -1
  229. package/modules/es.regexp.flags.js +4 -2
  230. package/modules/es.regexp.sticky.js +7 -3
  231. package/modules/es.regexp.test.js +7 -3
  232. package/modules/es.regexp.to-string.js +8 -5
  233. package/modules/es.set.js +1 -1
  234. package/modules/es.string.at-alternative.js +4 -1
  235. package/modules/es.string.ends-with.js +6 -4
  236. package/modules/es.string.from-code-point.js +7 -4
  237. package/modules/es.string.includes.js +8 -2
  238. package/modules/es.string.match-all.js +25 -19
  239. package/modules/es.string.match.js +2 -1
  240. package/modules/es.string.raw.js +6 -6
  241. package/modules/es.string.replace-all.js +19 -13
  242. package/modules/es.string.replace.js +19 -12
  243. package/modules/es.string.search.js +2 -1
  244. package/modules/es.string.split.js +23 -16
  245. package/modules/es.string.starts-with.js +6 -4
  246. package/modules/es.string.substr.js +3 -2
  247. package/modules/es.symbol.description.js +20 -12
  248. package/modules/es.symbol.js +34 -21
  249. package/modules/es.typed-array.copy-within.js +4 -2
  250. package/modules/es.typed-array.fill.js +9 -2
  251. package/modules/es.typed-array.iterator.js +7 -6
  252. package/modules/es.typed-array.join.js +3 -3
  253. package/modules/es.typed-array.last-index-of.js +3 -2
  254. package/modules/es.typed-array.reduce-right.js +2 -1
  255. package/modules/es.typed-array.reduce.js +2 -1
  256. package/modules/es.typed-array.set.js +2 -0
  257. package/modules/es.typed-array.slice.js +2 -2
  258. package/modules/es.typed-array.sort.js +13 -28
  259. package/modules/es.typed-array.to-locale-string.js +7 -2
  260. package/modules/es.typed-array.to-string.js +3 -2
  261. package/modules/es.unescape.js +14 -9
  262. package/modules/es.weak-map.js +15 -15
  263. package/modules/esnext.array.is-template-object.js +1 -1
  264. package/modules/esnext.async-iterator.as-indexed-pairs.js +2 -1
  265. package/modules/esnext.async-iterator.constructor.js +1 -1
  266. package/modules/esnext.async-iterator.drop.js +2 -1
  267. package/modules/esnext.async-iterator.filter.js +2 -1
  268. package/modules/esnext.async-iterator.flat-map.js +3 -2
  269. package/modules/esnext.async-iterator.from.js +4 -4
  270. package/modules/esnext.async-iterator.map.js +2 -1
  271. package/modules/esnext.async-iterator.reduce.js +4 -1
  272. package/modules/esnext.async-iterator.take.js +4 -2
  273. package/modules/esnext.composite-key.js +5 -1
  274. package/modules/esnext.composite-symbol.js +3 -2
  275. package/modules/esnext.iterator.as-indexed-pairs.js +2 -1
  276. package/modules/esnext.iterator.constructor.js +1 -1
  277. package/modules/esnext.iterator.drop.js +4 -2
  278. package/modules/esnext.iterator.filter.js +2 -1
  279. package/modules/esnext.iterator.flat-map.js +7 -3
  280. package/modules/esnext.iterator.from.js +4 -4
  281. package/modules/esnext.iterator.map.js +2 -1
  282. package/modules/esnext.iterator.reduce.js +3 -0
  283. package/modules/esnext.iterator.take.js +2 -1
  284. package/modules/esnext.map.delete-all.js +2 -4
  285. package/modules/esnext.map.emplace.js +2 -2
  286. package/modules/esnext.map.every.js +1 -1
  287. package/modules/esnext.map.filter.js +5 -4
  288. package/modules/esnext.map.find-key.js +1 -1
  289. package/modules/esnext.map.find.js +1 -1
  290. package/modules/esnext.map.group-by.js +6 -2
  291. package/modules/esnext.map.includes.js +1 -1
  292. package/modules/esnext.map.key-by.js +2 -1
  293. package/modules/esnext.map.map-keys.js +5 -4
  294. package/modules/esnext.map.map-values.js +5 -4
  295. package/modules/esnext.map.reduce.js +3 -0
  296. package/modules/esnext.map.some.js +1 -1
  297. package/modules/esnext.map.update-or-insert.js +2 -2
  298. package/modules/esnext.map.update.js +11 -4
  299. package/modules/esnext.map.upsert.js +2 -2
  300. package/modules/esnext.math.seeded-prng.js +3 -1
  301. package/modules/esnext.number.from-string.js +12 -3
  302. package/modules/esnext.observable.js +14 -9
  303. package/modules/esnext.reflect.get-metadata-keys.js +5 -10
  304. package/modules/esnext.set.add-all.js +2 -4
  305. package/modules/esnext.set.delete-all.js +2 -4
  306. package/modules/esnext.set.difference.js +3 -2
  307. package/modules/esnext.set.every.js +1 -1
  308. package/modules/esnext.set.filter.js +4 -3
  309. package/modules/esnext.set.find.js +1 -1
  310. package/modules/esnext.set.intersection.js +3 -2
  311. package/modules/esnext.set.is-disjoint-from.js +3 -2
  312. package/modules/esnext.set.is-subset-of.js +3 -2
  313. package/modules/esnext.set.is-superset-of.js +3 -2
  314. package/modules/esnext.set.join.js +9 -4
  315. package/modules/esnext.set.map.js +5 -4
  316. package/modules/esnext.set.reduce.js +3 -0
  317. package/modules/esnext.set.some.js +1 -1
  318. package/modules/esnext.set.symmetric-difference.js +3 -2
  319. package/modules/esnext.typed-array.from-async.js +0 -1
  320. package/modules/esnext.typed-array.unique-by.js +4 -2
  321. package/modules/esnext.weak-map.delete-all.js +2 -4
  322. package/modules/esnext.weak-map.emplace.js +2 -2
  323. package/modules/esnext.weak-map.upsert.js +2 -2
  324. package/modules/esnext.weak-set.add-all.js +2 -4
  325. package/modules/esnext.weak-set.delete-all.js +2 -4
  326. package/modules/web.timers.js +5 -4
  327. package/modules/web.url-search-params.js +122 -104
  328. package/modules/web.url.js +664 -628
  329. package/modules/web.url.to-json.js +2 -1
  330. package/package.json +2 -2
  331. package/stable/instance/entries.js +6 -4
  332. package/stable/instance/for-each.js +6 -4
  333. package/stable/instance/keys.js +6 -4
  334. package/stable/instance/values.js +6 -4
@@ -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
  }
@@ -12,7 +12,7 @@ $({ target: 'Set', proto: true, real: true, forced: IS_PURE }, {
12
12
  find: function find(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(value);
18
18
  }, { IS_ITERATOR: true, INTERRUPTED: true }).result;
@@ -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');
@@ -16,7 +17,7 @@ $({ target: 'Set', proto: true, real: true, forced: IS_PURE }, {
16
17
  var hasCheck = aCallable(set.has);
17
18
  var adder = aCallable(newSet.add);
18
19
  iterate(iterable, function (value) {
19
- if (hasCheck.call(set, value)) adder.call(newSet, value);
20
+ if (call(hasCheck, set, value)) call(adder, newSet, value);
20
21
  });
21
22
  return newSet;
22
23
  }
@@ -1,6 +1,7 @@
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 call = require('../internals/function-call');
4
5
  var aCallable = require('../internals/a-callable');
5
6
  var anObject = require('../internals/an-object');
6
7
  var iterate = require('../internals/iterate');
@@ -12,7 +13,7 @@ $({ target: 'Set', proto: true, real: true, forced: IS_PURE }, {
12
13
  var set = anObject(this);
13
14
  var hasCheck = aCallable(set.has);
14
15
  return !iterate(iterable, function (value, stop) {
15
- if (hasCheck.call(set, value) === true) return stop();
16
+ if (call(hasCheck, set, value) === true) return stop();
16
17
  }, { INTERRUPTED: true }).stopped;
17
18
  }
18
19
  });
@@ -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 isCallable = require('../internals/is-callable');
7
8
  var anObject = require('../internals/an-object');
@@ -20,7 +21,7 @@ $({ target: 'Set', proto: true, real: true, forced: IS_PURE }, {
20
21
  hasCheck = aCallable(otherSet.has);
21
22
  }
22
23
  return !iterate(iterator, function (value, stop) {
23
- if (hasCheck.call(otherSet, value) === false) return stop();
24
+ if (call(hasCheck, otherSet, value) === false) return stop();
24
25
  }, { IS_ITERATOR: true, INTERRUPTED: true }).stopped;
25
26
  }
26
27
  });
@@ -1,6 +1,7 @@
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 call = require('../internals/function-call');
4
5
  var aCallable = require('../internals/a-callable');
5
6
  var anObject = require('../internals/an-object');
6
7
  var iterate = require('../internals/iterate');
@@ -12,7 +13,7 @@ $({ target: 'Set', proto: true, real: true, forced: IS_PURE }, {
12
13
  var set = anObject(this);
13
14
  var hasCheck = aCallable(set.has);
14
15
  return !iterate(iterable, function (value, stop) {
15
- if (hasCheck.call(set, value) === false) return stop();
16
+ if (call(hasCheck, set, value) === false) return stop();
16
17
  }, { INTERRUPTED: true }).stopped;
17
18
  }
18
19
  });
@@ -1,19 +1,24 @@
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 uncurryThis = require('../internals/function-uncurry-this');
4
5
  var anObject = require('../internals/an-object');
6
+ var toString = require('../internals/to-string');
5
7
  var getSetIterator = require('../internals/get-set-iterator');
6
8
  var iterate = require('../internals/iterate');
7
9
 
10
+ var arrayJoin = uncurryThis([].join);
11
+ var push = [].push;
12
+
8
13
  // `Set.prototype.join` method
9
14
  // https://github.com/tc39/proposal-collection-methods
10
15
  $({ target: 'Set', proto: true, real: true, forced: IS_PURE }, {
11
16
  join: function join(separator) {
12
17
  var set = anObject(this);
13
18
  var iterator = getSetIterator(set);
14
- var sep = separator === undefined ? ',' : String(separator);
19
+ var sep = separator === undefined ? ',' : toString(separator);
15
20
  var result = [];
16
- iterate(iterator, result.push, { that: result, IS_ITERATOR: true });
17
- return result.join(sep);
21
+ iterate(iterator, push, { that: result, IS_ITERATOR: true });
22
+ return arrayJoin(result, sep);
18
23
  }
19
24
  });
@@ -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 getSetIterator = require('../internals/get-set-iterator');
10
11
  var iterate = require('../internals/iterate');
@@ -15,11 +16,11 @@ $({ target: 'Set', proto: true, real: true, forced: IS_PURE }, {
15
16
  map: function map(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
- adder.call(newSet, boundFunction(value, value, set));
23
+ call(adder, newSet, boundFunction(value, value, set));
23
24
  }, { IS_ITERATOR: true });
24
25
  return newSet;
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 aCallable = require('../internals/a-callable');
5
6
  var anObject = require('../internals/an-object');
6
7
  var getSetIterator = require('../internals/get-set-iterator');
7
8
  var iterate = require('../internals/iterate');
8
9
 
10
+ var TypeError = global.TypeError;
11
+
9
12
  // `Set.prototype.reduce` method
10
13
  // https://github.com/tc39/proposal-collection-methods
11
14
  $({ target: 'Set', proto: true, real: true, forced: IS_PURE }, {
@@ -12,7 +12,7 @@ $({ target: 'Set', proto: true, real: true, forced: IS_PURE }, {
12
12
  some: function some(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 speciesConstructor = require('../internals/species-constructor');
@@ -16,7 +17,7 @@ $({ target: 'Set', proto: true, real: true, forced: IS_PURE }, {
16
17
  var remover = aCallable(newSet['delete']);
17
18
  var adder = aCallable(newSet.add);
18
19
  iterate(iterable, function (value) {
19
- remover.call(newSet, value) || adder.call(newSet, value);
20
+ call(remover, newSet, value) || call(adder, newSet, value);
20
21
  });
21
22
  return newSet;
22
23
  }
@@ -11,7 +11,6 @@ var exportTypedArrayStaticMethod = ArrayBufferViewCore.exportTypedArrayStaticMet
11
11
 
12
12
  // `%TypedArray%.fromAsync` method
13
13
  // https://github.com/tc39/proposal-array-from-async
14
- // eslint-disable-next-line -- required for .length
15
14
  exportTypedArrayStaticMethod('fromAsync', function fromAsync(asyncItems /* , mapfn = undefined, thisArg = undefined */) {
16
15
  var C = this;
17
16
  var argumentsLength = arguments.length;
@@ -1,13 +1,15 @@
1
1
  'use strict';
2
+ var uncurryThis = require('../internals/function-uncurry-this');
2
3
  var ArrayBufferViewCore = require('../internals/array-buffer-view-core');
3
- var arrayUniqueBy = require('../internals/array-unique-by');
4
+ var $arrayUniqueBy = require('../internals/array-unique-by');
4
5
  var fromSpeciesAndList = require('../internals/typed-array-from-species-and-list');
5
6
 
6
7
  var aTypedArray = ArrayBufferViewCore.aTypedArray;
7
8
  var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
9
+ var arrayUniqueBy = uncurryThis($arrayUniqueBy);
8
10
 
9
11
  // `%TypedArray%.prototype.uniqueBy` method
10
12
  // https://github.com/tc39/proposal-array-unique
11
13
  exportTypedArrayMethod('uniqueBy', function uniqueBy(resolver) {
12
- return fromSpeciesAndList(this, arrayUniqueBy.call(aTypedArray(this), resolver));
14
+ return fromSpeciesAndList(this, arrayUniqueBy(aTypedArray(this), resolver));
13
15
  });
@@ -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
  // `WeakMap.prototype.deleteAll` method
7
7
  // https://github.com/tc39/proposal-collection-methods
8
8
  $({ target: 'WeakMap', 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
  // `WeakMap.prototype.emplace` method
7
7
  // https://github.com/tc39/proposal-upsert
8
8
  $({ target: 'WeakMap', proto: true, real: true, forced: IS_PURE }, {
9
- emplace: $emplace
9
+ emplace: emplace
10
10
  });
@@ -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
  // `WeakMap.prototype.upsert` method (replaced by `WeakMap.prototype.emplace`)
8
8
  // https://github.com/tc39/proposal-upsert
9
9
  $({ target: 'WeakMap', proto: true, real: true, forced: IS_PURE }, {
10
- upsert: $upsert
10
+ upsert: upsert
11
11
  });
@@ -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
  // `WeakSet.prototype.addAll` method
7
7
  // https://github.com/tc39/proposal-collection-methods
8
8
  $({ target: 'WeakSet', 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
  // `WeakSet.prototype.deleteAll` method
7
7
  // https://github.com/tc39/proposal-collection-methods
8
8
  $({ target: 'WeakSet', 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,18 +1,19 @@
1
1
  var $ = require('../internals/export');
2
2
  var global = require('../internals/global');
3
+ var apply = require('../internals/function-apply');
3
4
  var isCallable = require('../internals/is-callable');
4
5
  var userAgent = require('../internals/engine-user-agent');
6
+ var arraySlice = require('../internals/array-slice');
5
7
 
6
- var slice = [].slice;
7
8
  var MSIE = /MSIE .\./.test(userAgent); // <- dirty ie9- check
9
+ var Function = global.Function;
8
10
 
9
11
  var wrap = function (scheduler) {
10
12
  return function (handler, timeout /* , ...arguments */) {
11
13
  var boundArgs = arguments.length > 2;
12
- var args = boundArgs ? slice.call(arguments, 2) : undefined;
14
+ var args = boundArgs ? arraySlice(arguments, 2) : undefined;
13
15
  return scheduler(boundArgs ? function () {
14
- // eslint-disable-next-line no-new-func -- spec requirement
15
- (isCallable(handler) ? handler : Function(handler)).apply(this, args);
16
+ apply(isCallable(handler) ? handler : Function(handler), this, args);
16
17
  } : handler, timeout);
17
18
  };
18
19
  };