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
package/es/promise/any.js CHANGED
@@ -5,6 +5,7 @@ require('../../modules/es.object.to-string');
5
5
  require('../../modules/es.promise');
6
6
  require('../../modules/es.promise.any');
7
7
  require('../../modules/es.string.iterator');
8
+ var call = require('../../internals/function-call');
8
9
  var isCallable = require('../../internals/is-callable');
9
10
  var path = require('../../internals/path');
10
11
 
@@ -12,5 +13,5 @@ var Promise = path.Promise;
12
13
  var $any = Promise.any;
13
14
 
14
15
  module.exports = function any(iterable) {
15
- return $any.call(isCallable(this) ? this : Promise, iterable);
16
+ return call($any, isCallable(this) ? this : Promise, iterable);
16
17
  };
@@ -1,6 +1,5 @@
1
1
  require('../../modules/es.regexp.flags');
2
- var flags = require('../../internals/regexp-flags');
2
+ var uncurryThis = require('../../internals/function-uncurry-this');
3
+ var regExpFlags = require('../../internals/regexp-flags');
3
4
 
4
- module.exports = function (it) {
5
- return flags.call(it);
6
- };
5
+ module.exports = uncurryThis(regExpFlags);
@@ -1,9 +1,10 @@
1
1
  require('../../modules/es.regexp.exec');
2
2
  require('../../modules/es.string.match');
3
+ var call = require('../../internals/function-call');
3
4
  var wellKnownSymbol = require('../../internals/well-known-symbol');
4
5
 
5
6
  var MATCH = wellKnownSymbol('match');
6
7
 
7
8
  module.exports = function (it, str) {
8
- return RegExp.prototype[MATCH].call(it, str);
9
+ return call(RegExp.prototype[MATCH], it, str);
9
10
  };
@@ -1,9 +1,10 @@
1
1
  require('../../modules/es.regexp.exec');
2
2
  require('../../modules/es.string.replace');
3
+ var call = require('../../internals/function-call');
3
4
  var wellKnownSymbol = require('../../internals/well-known-symbol');
4
5
 
5
6
  var REPLACE = wellKnownSymbol('replace');
6
7
 
7
8
  module.exports = function (it, str, replacer) {
8
- return RegExp.prototype[REPLACE].call(it, str, replacer);
9
+ return call(RegExp.prototype[REPLACE], it, str, replacer);
9
10
  };
@@ -1,9 +1,10 @@
1
1
  require('../../modules/es.regexp.exec');
2
2
  require('../../modules/es.string.search');
3
+ var call = require('../../internals/function-call');
3
4
  var wellKnownSymbol = require('../../internals/well-known-symbol');
4
5
 
5
6
  var SEARCH = wellKnownSymbol('search');
6
7
 
7
8
  module.exports = function (it, str) {
8
- return RegExp.prototype[SEARCH].call(it, str);
9
+ return call(RegExp.prototype[SEARCH], it, str);
9
10
  };
@@ -1,9 +1,10 @@
1
1
  require('../../modules/es.regexp.exec');
2
2
  require('../../modules/es.string.split');
3
+ var call = require('../../internals/function-call');
3
4
  var wellKnownSymbol = require('../../internals/well-known-symbol');
4
5
 
5
6
  var SPLIT = wellKnownSymbol('split');
6
7
 
7
8
  module.exports = function (it, str, limit) {
8
- return RegExp.prototype[SPLIT].call(it, str, limit);
9
+ return call(RegExp.prototype[SPLIT], it, str, limit);
9
10
  };
package/es/regexp/test.js CHANGED
@@ -1,6 +1,5 @@
1
1
  require('../../modules/es.regexp.exec');
2
2
  require('../../modules/es.regexp.test');
3
+ var uncurryThis = require('../../internals/function-uncurry-this');
3
4
 
4
- module.exports = function (re, string) {
5
- return RegExp.prototype.test.call(re, string);
6
- };
5
+ module.exports = uncurryThis(/./.test);
@@ -1,5 +1,4 @@
1
1
  require('../../modules/es.regexp.to-string');
2
+ var uncurryThis = require('../../internals/function-uncurry-this');
2
3
 
3
- module.exports = function toString(it) {
4
- return RegExp.prototype.toString.call(it);
5
- };
4
+ module.exports = uncurryThis(/./.toString);
@@ -1,9 +1,6 @@
1
1
  require('../../modules/es.object.to-string');
2
2
  require('../../modules/es.string.iterator');
3
+ var uncurryThis = require('../../internals/function-uncurry-this');
3
4
  var Iterators = require('../../internals/iterators');
4
5
 
5
- var getStringIterator = Iterators.String;
6
-
7
- module.exports = function (it) {
8
- return getStringIterator.call(it);
9
- };
6
+ module.exports = uncurryThis(Iterators.String);
@@ -1,13 +1,14 @@
1
- var arrayAt = require('../array/virtual/at');
2
- var stringAt = require('../string/virtual/at');
1
+ var isPrototypeOf = require('../../internals/object-is-prototype-of');
2
+ var arrayMethod = require('../array/virtual/at');
3
+ var stringMethod = require('../string/virtual/at');
3
4
 
4
5
  var ArrayPrototype = Array.prototype;
5
6
  var StringPrototype = String.prototype;
6
7
 
7
8
  module.exports = function (it) {
8
9
  var own = it.at;
9
- if (it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.at)) return arrayAt;
10
- if (typeof it === 'string' || it === StringPrototype || (it instanceof String && own === StringPrototype.at)) {
11
- return stringAt;
10
+ if (it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.at)) return arrayMethod;
11
+ if (typeof it == 'string' || it === StringPrototype || (isPrototypeOf(StringPrototype, it) && own === StringPrototype.at)) {
12
+ return stringMethod;
12
13
  } return own;
13
14
  };
@@ -1,9 +1,10 @@
1
- var codePoints = require('../string/virtual/code-points');
1
+ var isPrototypeOf = require('../../internals/object-is-prototype-of');
2
+ var method = require('../string/virtual/code-points');
2
3
 
3
4
  var StringPrototype = String.prototype;
4
5
 
5
6
  module.exports = function (it) {
6
7
  var own = it.codePoints;
7
- return typeof it === 'string' || it === StringPrototype
8
- || (it instanceof String && own === StringPrototype.codePoints) ? codePoints : own;
8
+ return typeof it == 'string' || it === StringPrototype
9
+ || (isPrototypeOf(StringPrototype, it) && own === StringPrototype.codePoints) ? method : own;
9
10
  };
@@ -1,9 +1,10 @@
1
1
  // TODO: Remove from `core-js@4`
2
- var filterOut = require('../array/virtual/filter-out');
2
+ var isPrototypeOf = require('../../internals/object-is-prototype-of');
3
+ var method = require('../array/virtual/filter-out');
3
4
 
4
5
  var ArrayPrototype = Array.prototype;
5
6
 
6
7
  module.exports = function (it) {
7
8
  var own = it.filterOut;
8
- return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.filterOut) ? filterOut : own;
9
+ return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.filterOut) ? method : own;
9
10
  };
@@ -1,8 +1,9 @@
1
- var filterReject = require('../array/virtual/filter-reject');
1
+ var isPrototypeOf = require('../../internals/object-is-prototype-of');
2
+ var method = require('../array/virtual/filter-reject');
2
3
 
3
4
  var ArrayPrototype = Array.prototype;
4
5
 
5
6
  module.exports = function (it) {
6
7
  var own = it.filterReject;
7
- return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.filterReject) ? filterReject : own;
8
+ return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.filterReject) ? method : own;
8
9
  };
@@ -1,8 +1,9 @@
1
- var findLastIndex = require('../array/virtual/find-last-index');
1
+ var isPrototypeOf = require('../../internals/object-is-prototype-of');
2
+ var method = require('../array/virtual/find-last-index');
2
3
 
3
4
  var ArrayPrototype = Array.prototype;
4
5
 
5
6
  module.exports = function (it) {
6
7
  var own = it.findLastIndex;
7
- return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.findLastIndex) ? findLastIndex : own;
8
+ return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.findLastIndex) ? method : own;
8
9
  };
@@ -1,8 +1,9 @@
1
- var findLast = require('../array/virtual/find-last');
1
+ var isPrototypeOf = require('../../internals/object-is-prototype-of');
2
+ var method = require('../array/virtual/find-last');
2
3
 
3
4
  var ArrayPrototype = Array.prototype;
4
5
 
5
6
  module.exports = function (it) {
6
7
  var own = it.findLast;
7
- return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.findLast) ? findLast : own;
8
+ return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.findLast) ? method : own;
8
9
  };
@@ -1,8 +1,9 @@
1
- var groupBy = require('../array/virtual/group-by');
1
+ var isPrototypeOf = require('../../internals/object-is-prototype-of');
2
+ var method = require('../array/virtual/group-by');
2
3
 
3
4
  var ArrayPrototype = Array.prototype;
4
5
 
5
6
  module.exports = function (it) {
6
7
  var own = it.groupBy;
7
- return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.groupBy) ? groupBy : own;
8
+ return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.groupBy) ? method : own;
8
9
  };
@@ -1,8 +1,9 @@
1
- var uniqueBy = require('../array/virtual/unique-by');
1
+ var isPrototypeOf = require('../../internals/object-is-prototype-of');
2
+ var method = require('../array/virtual/unique-by');
2
3
 
3
4
  var ArrayPrototype = Array.prototype;
4
5
 
5
6
  module.exports = function (it) {
6
7
  var own = it.uniqueBy;
7
- return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.uniqueBy) ? uniqueBy : own;
8
+ return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.uniqueBy) ? method : own;
8
9
  };
@@ -4,12 +4,13 @@ require('../../modules/es.map');
4
4
  require('../../modules/es.string.iterator');
5
5
  require('../../modules/esnext.map.from');
6
6
  require('../../modules/web.dom-collections.iterator');
7
+ var call = require('../../internals/function-call');
7
8
  var isCallable = require('../../internals/is-callable');
8
9
  var path = require('../../internals/path');
9
10
 
10
11
  var Map = path.Map;
11
- var mapFrom = Map.from;
12
+ var $from = Map.from;
12
13
 
13
14
  module.exports = function from(source, mapFn, thisArg) {
14
- return mapFrom.call(isCallable(this) ? this : Map, source, mapFn, thisArg);
15
+ return call($from, isCallable(this) ? this : Map, source, mapFn, thisArg);
15
16
  };
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
  require('../../modules/es.map');
3
3
  require('../../modules/esnext.map.group-by');
4
+ var call = require('../../internals/function-call');
4
5
  var isCallable = require('../../internals/is-callable');
5
6
  var path = require('../../internals/path');
6
7
 
@@ -8,5 +9,5 @@ var Map = path.Map;
8
9
  var mapGroupBy = Map.groupBy;
9
10
 
10
11
  module.exports = function groupBy(source, iterable, keyDerivative) {
11
- return mapGroupBy.call(isCallable(this) ? this : Map, source, iterable, keyDerivative);
12
+ return call(mapGroupBy, isCallable(this) ? this : Map, source, iterable, keyDerivative);
12
13
  };
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
  require('../../modules/es.map');
3
3
  require('../../modules/esnext.map.key-by');
4
+ var call = require('../../internals/function-call');
4
5
  var isCallable = require('../../internals/is-callable');
5
6
  var path = require('../../internals/path');
6
7
 
@@ -8,5 +9,5 @@ var Map = path.Map;
8
9
  var mapKeyBy = Map.keyBy;
9
10
 
10
11
  module.exports = function keyBy(source, iterable, keyDerivative) {
11
- return mapKeyBy.call(isCallable(this) ? this : Map, source, iterable, keyDerivative);
12
+ return call(mapKeyBy, isCallable(this) ? this : Map, source, iterable, keyDerivative);
12
13
  };
@@ -2,12 +2,13 @@
2
2
  require('../../modules/es.array.iterator');
3
3
  require('../../modules/es.map');
4
4
  require('../../modules/esnext.map.of');
5
- var isCallable = require('../../internals/is-callable');
6
5
  var path = require('../../internals/path');
6
+ var apply = require('../../internals/function-apply');
7
+ var isCallable = require('../../internals/is-callable');
7
8
 
8
9
  var Map = path.Map;
9
10
  var mapOf = Map.of;
10
11
 
11
12
  module.exports = function of() {
12
- return mapOf.apply(isCallable(this) ? this : Map, arguments);
13
+ return apply(mapOf, isCallable(this) ? this : Map, arguments);
13
14
  };
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
  require('../../modules/es.promise');
3
3
  require('../../modules/esnext.promise.try');
4
+ var call = require('../../internals/function-call');
4
5
  var isCallable = require('../../internals/is-callable');
5
6
  var path = require('../../internals/path');
6
7
 
@@ -8,5 +9,5 @@ var Promise = path.Promise;
8
9
  var promiseTry = Promise['try'];
9
10
 
10
11
  module.exports = { 'try': function (callbackfn) {
11
- return promiseTry.call(isCallable(this) ? this : Promise, callbackfn);
12
+ return call(promiseTry, isCallable(this) ? this : Promise, callbackfn);
12
13
  } }['try'];
@@ -4,12 +4,13 @@ require('../../modules/es.set');
4
4
  require('../../modules/es.string.iterator');
5
5
  require('../../modules/esnext.set.from');
6
6
  require('../../modules/web.dom-collections.iterator');
7
+ var call = require('../../internals/function-call');
7
8
  var isCallable = require('../../internals/is-callable');
8
9
  var path = require('../../internals/path');
9
10
 
10
11
  var Set = path.Set;
11
- var setFrom = Set.from;
12
+ var $from = Set.from;
12
13
 
13
14
  module.exports = function from(source, mapFn, thisArg) {
14
- return setFrom.call(isCallable(this) ? this : Set, source, mapFn, thisArg);
15
+ return call($from, isCallable(this) ? this : Set, source, mapFn, thisArg);
15
16
  };
@@ -2,12 +2,13 @@
2
2
  require('../../modules/es.array.iterator');
3
3
  require('../../modules/es.set');
4
4
  require('../../modules/esnext.set.of');
5
- var isCallable = require('../../internals/is-callable');
6
5
  var path = require('../../internals/path');
6
+ var apply = require('../../internals/function-apply');
7
+ var isCallable = require('../../internals/is-callable');
7
8
 
8
9
  var Set = path.Set;
9
10
  var setOf = Set.of;
10
11
 
11
12
  module.exports = function of() {
12
- return setOf.apply(isCallable(this) ? this : Set, arguments);
13
+ return apply(setOf, isCallable(this) ? this : Set, arguments);
13
14
  };
@@ -4,12 +4,13 @@ require('../../modules/es.string.iterator');
4
4
  require('../../modules/es.weak-map');
5
5
  require('../../modules/esnext.weak-map.from');
6
6
  require('../../modules/web.dom-collections.iterator');
7
+ var call = require('../../internals/function-call');
7
8
  var isCallable = require('../../internals/is-callable');
8
9
  var path = require('../../internals/path');
9
10
 
10
11
  var WeakMap = path.WeakMap;
11
- var weakMapFrom = WeakMap.from;
12
+ var $from = WeakMap.from;
12
13
 
13
14
  module.exports = function from(source, mapFn, thisArg) {
14
- return weakMapFrom.call(isCallable(this) ? this : WeakMap, source, mapFn, thisArg);
15
+ return call($from, isCallable(this) ? this : WeakMap, source, mapFn, thisArg);
15
16
  };
@@ -2,12 +2,13 @@
2
2
  require('../../modules/es.array.iterator');
3
3
  require('../../modules/es.weak-map');
4
4
  require('../../modules/esnext.weak-map.of');
5
- var isCallable = require('../../internals/is-callable');
6
5
  var path = require('../../internals/path');
6
+ var apply = require('../../internals/function-apply');
7
+ var isCallable = require('../../internals/is-callable');
7
8
 
8
9
  var WeakMap = path.WeakMap;
9
10
  var weakMapOf = WeakMap.of;
10
11
 
11
12
  module.exports = function of() {
12
- return weakMapOf.apply(isCallable(this) ? this : WeakMap, arguments);
13
+ return apply(weakMapOf, isCallable(this) ? this : WeakMap, arguments);
13
14
  };
@@ -4,12 +4,13 @@ require('../../modules/es.string.iterator');
4
4
  require('../../modules/es.weak-set');
5
5
  require('../../modules/esnext.weak-set.from');
6
6
  require('../../modules/web.dom-collections.iterator');
7
+ var call = require('../../internals/function-call');
7
8
  var isCallable = require('../../internals/is-callable');
8
9
  var path = require('../../internals/path');
9
10
 
10
11
  var WeakSet = path.WeakSet;
11
- var weakSetfrom = WeakSet.from;
12
+ var $from = WeakSet.from;
12
13
 
13
14
  module.exports = function from(source, mapFn, thisArg) {
14
- return weakSetfrom.call(isCallable(this) ? this : WeakSet, source, mapFn, thisArg);
15
+ return call($from, isCallable(this) ? this : WeakSet, source, mapFn, thisArg);
15
16
  };
@@ -2,12 +2,13 @@
2
2
  require('../../modules/es.array.iterator');
3
3
  require('../../modules/es.weak-set');
4
4
  require('../../modules/esnext.weak-set.of');
5
- var isCallable = require('../../internals/is-callable');
6
5
  var path = require('../../internals/path');
6
+ var apply = require('../../internals/function-apply');
7
+ var isCallable = require('../../internals/is-callable');
7
8
 
8
9
  var WeakSet = path.WeakSet;
9
10
  var weakSetOf = WeakSet.of;
10
11
 
11
12
  module.exports = function of() {
12
- return weakSetOf.apply(isCallable(this) ? this : WeakSet, arguments);
13
+ return apply(weakSetOf, isCallable(this) ? this : WeakSet, arguments);
13
14
  };
@@ -1,6 +1,9 @@
1
+ var global = require('../internals/global');
1
2
  var isCallable = require('../internals/is-callable');
2
3
  var tryToString = require('../internals/try-to-string');
3
4
 
5
+ var TypeError = global.TypeError;
6
+
4
7
  // `Assert: IsCallable(argument) is true`
5
8
  module.exports = function (argument) {
6
9
  if (isCallable(argument)) return argument;
@@ -1,6 +1,9 @@
1
+ var global = require('../internals/global');
1
2
  var isConstructor = require('../internals/is-constructor');
2
3
  var tryToString = require('../internals/try-to-string');
3
4
 
5
+ var TypeError = global.TypeError;
6
+
4
7
  // `Assert: IsConstructor(argument) is true`
5
8
  module.exports = function (argument) {
6
9
  if (isConstructor(argument)) return argument;
@@ -1,6 +1,10 @@
1
+ var global = require('../internals/global');
1
2
  var isCallable = require('../internals/is-callable');
2
3
 
4
+ var String = global.String;
5
+ var TypeError = global.TypeError;
6
+
3
7
  module.exports = function (argument) {
4
- if (typeof argument === 'object' || isCallable(argument)) return argument;
8
+ if (typeof argument == 'object' || isCallable(argument)) return argument;
5
9
  throw TypeError("Can't set " + String(argument) + ' as a prototype');
6
10
  };
@@ -1,4 +1,9 @@
1
- module.exports = function (it, Constructor, name) {
2
- if (it instanceof Constructor) return it;
3
- throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');
1
+ var global = require('../internals/global');
2
+ var isPrototypeOf = require('../internals/object-is-prototype-of');
3
+
4
+ var TypeError = global.TypeError;
5
+
6
+ module.exports = function (it, Prototype) {
7
+ if (isPrototypeOf(Prototype, it)) return it;
8
+ throw TypeError('Incorrect invocation');
4
9
  };
@@ -1,5 +1,9 @@
1
+ var global = require('../internals/global');
1
2
  var isObject = require('../internals/is-object');
2
3
 
4
+ var String = global.String;
5
+ var TypeError = global.TypeError;
6
+
3
7
  // `Assert: Type(argument) is Object`
4
8
  module.exports = function (argument) {
5
9
  if (isObject(argument)) return argument;
@@ -1,2 +1,2 @@
1
1
  // eslint-disable-next-line es/no-typed-arrays -- safe
2
- module.exports = typeof ArrayBuffer !== 'undefined' && typeof DataView !== 'undefined';
2
+ module.exports = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined';
@@ -0,0 +1,10 @@
1
+ // FF26- bug: ArrayBuffers are non-extensible, but Object.isExtensible does not report it
2
+ var fails = require('../internals/fails');
3
+
4
+ module.exports = fails(function () {
5
+ if (typeof ArrayBuffer == 'function') {
6
+ var buffer = new ArrayBuffer(8);
7
+ // eslint-disable-next-line es/no-object-isextensible, es/no-object-defineproperty -- safe
8
+ if (Object.isExtensible(buffer)) Object.defineProperty(buffer, 'a', { value: 8 });
9
+ }
10
+ });
@@ -10,6 +10,7 @@ var tryToString = require('../internals/try-to-string');
10
10
  var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
11
11
  var redefine = require('../internals/redefine');
12
12
  var defineProperty = require('../internals/object-define-property').f;
13
+ var isPrototypeOf = require('../internals/object-is-prototype-of');
13
14
  var getPrototypeOf = require('../internals/object-get-prototype-of');
14
15
  var setPrototypeOf = require('../internals/object-set-prototype-of');
15
16
  var wellKnownSymbol = require('../internals/well-known-symbol');
@@ -22,7 +23,7 @@ var Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototyp
22
23
  var TypedArray = Int8Array && getPrototypeOf(Int8Array);
23
24
  var TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);
24
25
  var ObjectPrototype = Object.prototype;
25
- var isPrototypeOf = ObjectPrototype.isPrototypeOf;
26
+ var TypeError = global.TypeError;
26
27
 
27
28
  var TO_STRING_TAG = wellKnownSymbol('toStringTag');
28
29
  var TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');
@@ -70,7 +71,7 @@ var aTypedArray = function (it) {
70
71
  };
71
72
 
72
73
  var aTypedArrayConstructor = function (C) {
73
- if (isCallable(C) && (!setPrototypeOf || isPrototypeOf.call(TypedArray, C))) return C;
74
+ if (isCallable(C) && (!setPrototypeOf || isPrototypeOf(TypedArray, C))) return C;
74
75
  throw TypeError(tryToString(C) + ' is not a typed array constructor');
75
76
  };
76
77