core-js 3.18.3 → 3.19.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 +7 -4
  95. package/internals/async-iterator-create-proxy.js +7 -4
  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/create-iterator-constructor.js +2 -2
  110. package/internals/date-to-iso-string.js +23 -13
  111. package/internals/date-to-primitive.js +3 -0
  112. package/internals/define-iterator.js +2 -1
  113. package/internals/engine-v8-version.js +10 -4
  114. package/internals/entry-unbind.js +3 -5
  115. package/internals/error-stack-installable.js +10 -0
  116. package/internals/export.js +1 -1
  117. package/internals/fix-regexp-well-known-symbol-logic.js +5 -3
  118. package/internals/flatten-into-array.js +4 -1
  119. package/internals/function-apply.js +9 -0
  120. package/internals/function-bind-context.js +5 -17
  121. package/internals/function-bind.js +15 -9
  122. package/internals/function-call.js +5 -0
  123. package/internals/function-uncurry-this.js +12 -0
  124. package/internals/get-async-iterator.js +2 -1
  125. package/internals/get-iterator.js +7 -2
  126. package/internals/get-map-iterator.js +3 -1
  127. package/internals/get-set-iterator.js +3 -1
  128. package/internals/get-substitution.js +10 -7
  129. package/internals/has-own-property.js +3 -2
  130. package/internals/host-report-errors.js +1 -1
  131. package/internals/ieee754.js +24 -6
  132. package/internals/indexed-object.js +5 -2
  133. package/internals/inspect-source.js +3 -2
  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 +7 -4
  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 +3 -1
  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 +20 -8
  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 +23 -19
  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 +82 -62
  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 +123 -105
  328. package/modules/web.url.js +661 -625
  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');
@@ -19,50 +21,60 @@ var hostReportErrors = require('../internals/host-report-errors');
19
21
  var wellKnownSymbol = require('../internals/well-known-symbol');
20
22
  var InternalStateModule = require('../internals/internal-state');
21
23
 
22
- var OBSERVABLE = wellKnownSymbol('observable');
23
- var getInternalState = InternalStateModule.get;
24
+ var $$OBSERVABLE = wellKnownSymbol('observable');
25
+ var OBSERVABLE = 'Observable';
26
+ var SUBSCRIPTION = 'Subscription';
27
+ var SUBSCRIPTION_OBSERVER = 'SubscriptionObserver';
28
+ var getterFor = InternalStateModule.getterFor;
24
29
  var setInternalState = InternalStateModule.set;
30
+ var getObservableInternalState = getterFor(OBSERVABLE);
31
+ var getSubscriptionInternalState = getterFor(SUBSCRIPTION);
32
+ var getSubscriptionObserverInternalState = getterFor(SUBSCRIPTION_OBSERVER);
33
+ var Array = global.Array;
34
+
35
+ var SubscriptionState = function (observer) {
36
+ this.observer = anObject(observer);
37
+ this.cleanup = undefined;
38
+ this.subscriptionObserver = undefined;
39
+ };
25
40
 
26
- var cleanupSubscription = function (subscriptionState) {
27
- var cleanup = subscriptionState.cleanup;
28
- if (cleanup) {
29
- subscriptionState.cleanup = undefined;
30
- try {
31
- cleanup();
32
- } catch (error) {
33
- hostReportErrors(error);
41
+ SubscriptionState.prototype = {
42
+ type: SUBSCRIPTION,
43
+ clean: function () {
44
+ var cleanup = this.cleanup;
45
+ if (cleanup) {
46
+ this.cleanup = undefined;
47
+ try {
48
+ cleanup();
49
+ } catch (error) {
50
+ hostReportErrors(error);
51
+ }
34
52
  }
53
+ },
54
+ close: function () {
55
+ if (!DESCRIPTORS) {
56
+ var subscription = this.facade;
57
+ var subscriptionObserver = this.subscriptionObserver;
58
+ subscription.closed = true;
59
+ if (subscriptionObserver) subscriptionObserver.closed = true;
60
+ } this.observer = undefined;
61
+ },
62
+ isClosed: function () {
63
+ return this.observer === undefined;
35
64
  }
36
65
  };
37
66
 
38
- var subscriptionClosed = function (subscriptionState) {
39
- return subscriptionState.observer === undefined;
40
- };
41
-
42
- var close = function (subscriptionState) {
43
- var subscription = subscriptionState.facade;
44
- if (!DESCRIPTORS) {
45
- subscription.closed = true;
46
- var subscriptionObserver = subscriptionState.subscriptionObserver;
47
- if (subscriptionObserver) subscriptionObserver.closed = true;
48
- } subscriptionState.observer = undefined;
49
- };
50
-
51
67
  var Subscription = function (observer, subscriber) {
52
- var subscriptionState = setInternalState(this, {
53
- cleanup: undefined,
54
- observer: anObject(observer),
55
- subscriptionObserver: undefined
56
- });
68
+ var subscriptionState = setInternalState(this, new SubscriptionState(observer));
57
69
  var start;
58
70
  if (!DESCRIPTORS) this.closed = false;
59
71
  try {
60
- if (start = getMethod(observer, 'start')) start.call(observer, this);
72
+ if (start = getMethod(observer, 'start')) call(start, observer, this);
61
73
  } catch (error) {
62
74
  hostReportErrors(error);
63
75
  }
64
- if (subscriptionClosed(subscriptionState)) return;
65
- var subscriptionObserver = subscriptionState.subscriptionObserver = new SubscriptionObserver(this);
76
+ if (subscriptionState.isClosed()) return;
77
+ var subscriptionObserver = subscriptionState.subscriptionObserver = new SubscriptionObserver(subscriptionState);
66
78
  try {
67
79
  var cleanup = subscriber(subscriptionObserver);
68
80
  var subscription = cleanup;
@@ -72,15 +84,15 @@ var Subscription = function (observer, subscriber) {
72
84
  } catch (error) {
73
85
  subscriptionObserver.error(error);
74
86
  return;
75
- } if (subscriptionClosed(subscriptionState)) cleanupSubscription(subscriptionState);
87
+ } if (subscriptionState.isClosed()) subscriptionState.clean();
76
88
  };
77
89
 
78
90
  Subscription.prototype = redefineAll({}, {
79
91
  unsubscribe: function unsubscribe() {
80
- var subscriptionState = getInternalState(this);
81
- if (!subscriptionClosed(subscriptionState)) {
82
- close(subscriptionState);
83
- cleanupSubscription(subscriptionState);
92
+ var subscriptionState = getSubscriptionInternalState(this);
93
+ if (!subscriptionState.isClosed()) {
94
+ subscriptionState.close();
95
+ subscriptionState.clean();
84
96
  }
85
97
  }
86
98
  });
@@ -88,53 +100,56 @@ Subscription.prototype = redefineAll({}, {
88
100
  if (DESCRIPTORS) defineProperty(Subscription.prototype, 'closed', {
89
101
  configurable: true,
90
102
  get: function () {
91
- return subscriptionClosed(getInternalState(this));
103
+ return getSubscriptionInternalState(this).isClosed();
92
104
  }
93
105
  });
94
106
 
95
- var SubscriptionObserver = function (subscription) {
96
- setInternalState(this, { subscription: subscription });
107
+ var SubscriptionObserver = function (subscriptionState) {
108
+ setInternalState(this, {
109
+ type: SUBSCRIPTION_OBSERVER,
110
+ subscriptionState: subscriptionState
111
+ });
97
112
  if (!DESCRIPTORS) this.closed = false;
98
113
  };
99
114
 
100
115
  SubscriptionObserver.prototype = redefineAll({}, {
101
116
  next: function next(value) {
102
- var subscriptionState = getInternalState(getInternalState(this).subscription);
103
- if (!subscriptionClosed(subscriptionState)) {
117
+ var subscriptionState = getSubscriptionObserverInternalState(this).subscriptionState;
118
+ if (!subscriptionState.isClosed()) {
104
119
  var observer = subscriptionState.observer;
105
120
  try {
106
121
  var nextMethod = getMethod(observer, 'next');
107
- if (nextMethod) nextMethod.call(observer, value);
122
+ if (nextMethod) call(nextMethod, observer, value);
108
123
  } catch (error) {
109
124
  hostReportErrors(error);
110
125
  }
111
126
  }
112
127
  },
113
128
  error: function error(value) {
114
- var subscriptionState = getInternalState(getInternalState(this).subscription);
115
- if (!subscriptionClosed(subscriptionState)) {
129
+ var subscriptionState = getSubscriptionObserverInternalState(this).subscriptionState;
130
+ if (!subscriptionState.isClosed()) {
116
131
  var observer = subscriptionState.observer;
117
- close(subscriptionState);
132
+ subscriptionState.close();
118
133
  try {
119
134
  var errorMethod = getMethod(observer, 'error');
120
- if (errorMethod) errorMethod.call(observer, value);
135
+ if (errorMethod) call(errorMethod, observer, value);
121
136
  else hostReportErrors(value);
122
137
  } catch (err) {
123
138
  hostReportErrors(err);
124
- } cleanupSubscription(subscriptionState);
139
+ } subscriptionState.clean();
125
140
  }
126
141
  },
127
142
  complete: function complete() {
128
- var subscriptionState = getInternalState(getInternalState(this).subscription);
129
- if (!subscriptionClosed(subscriptionState)) {
143
+ var subscriptionState = getSubscriptionObserverInternalState(this).subscriptionState;
144
+ if (!subscriptionState.isClosed()) {
130
145
  var observer = subscriptionState.observer;
131
- close(subscriptionState);
146
+ subscriptionState.close();
132
147
  try {
133
148
  var completeMethod = getMethod(observer, 'complete');
134
- if (completeMethod) completeMethod.call(observer);
149
+ if (completeMethod) call(completeMethod, observer);
135
150
  } catch (error) {
136
151
  hostReportErrors(error);
137
- } cleanupSubscription(subscriptionState);
152
+ } subscriptionState.clean();
138
153
  }
139
154
  }
140
155
  });
@@ -142,32 +157,37 @@ SubscriptionObserver.prototype = redefineAll({}, {
142
157
  if (DESCRIPTORS) defineProperty(SubscriptionObserver.prototype, 'closed', {
143
158
  configurable: true,
144
159
  get: function () {
145
- return subscriptionClosed(getInternalState(getInternalState(this).subscription));
160
+ return getSubscriptionObserverInternalState(this).subscriptionState.isClosed();
146
161
  }
147
162
  });
148
163
 
149
164
  var $Observable = function Observable(subscriber) {
150
- anInstance(this, $Observable, 'Observable');
151
- setInternalState(this, { subscriber: aCallable(subscriber) });
165
+ anInstance(this, ObservablePrototype);
166
+ setInternalState(this, {
167
+ type: OBSERVABLE,
168
+ subscriber: aCallable(subscriber)
169
+ });
152
170
  };
153
171
 
154
- redefineAll($Observable.prototype, {
172
+ var ObservablePrototype = $Observable.prototype;
173
+
174
+ redefineAll(ObservablePrototype, {
155
175
  subscribe: function subscribe(observer) {
156
176
  var length = arguments.length;
157
177
  return new Subscription(isCallable(observer) ? {
158
178
  next: observer,
159
179
  error: length > 1 ? arguments[1] : undefined,
160
180
  complete: length > 2 ? arguments[2] : undefined
161
- } : isObject(observer) ? observer : {}, getInternalState(this).subscriber);
181
+ } : isObject(observer) ? observer : {}, getObservableInternalState(this).subscriber);
162
182
  }
163
183
  });
164
184
 
165
185
  redefineAll($Observable, {
166
186
  from: function from(x) {
167
187
  var C = isConstructor(this) ? this : $Observable;
168
- var observableMethod = getMethod(anObject(x), OBSERVABLE);
188
+ var observableMethod = getMethod(anObject(x), $$OBSERVABLE);
169
189
  if (observableMethod) {
170
- var observable = anObject(observableMethod.call(x));
190
+ var observable = anObject(call(observableMethod, x));
171
191
  return observable.constructor === C ? observable : new C(function (observer) {
172
192
  return observable.subscribe(observer);
173
193
  });
@@ -184,7 +204,7 @@ redefineAll($Observable, {
184
204
  of: function of() {
185
205
  var C = isConstructor(this) ? this : $Observable;
186
206
  var length = arguments.length;
187
- var items = new Array(length);
207
+ var items = Array(length);
188
208
  var index = 0;
189
209
  while (index < length) items[index] = arguments[index++];
190
210
  return new C(function (observer) {
@@ -196,10 +216,10 @@ redefineAll($Observable, {
196
216
  }
197
217
  });
198
218
 
199
- redefine($Observable.prototype, OBSERVABLE, function () { return this; });
219
+ redefine(ObservablePrototype, $$OBSERVABLE, function () { return this; });
200
220
 
201
221
  $({ global: true }, {
202
222
  Observable: $Observable
203
223
  });
204
224
 
205
- setSpecies('Observable');
225
+ setSpecies(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;