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
@@ -1,4 +1,7 @@
1
1
  // IEEE754 conversions based on https://github.com/feross/ieee754
2
+ var global = require('../internals/global');
3
+
4
+ var Array = global.Array;
2
5
  var abs = Math.abs;
3
6
  var pow = Math.pow;
4
7
  var floor = Math.floor;
@@ -6,7 +9,7 @@ var log = Math.log;
6
9
  var LN2 = Math.LN2;
7
10
 
8
11
  var pack = function (number, mantissaLength, bytes) {
9
- var buffer = new Array(bytes);
12
+ var buffer = Array(bytes);
10
13
  var exponentLength = bytes * 8 - mantissaLength - 1;
11
14
  var eMax = (1 << exponentLength) - 1;
12
15
  var eBias = eMax >> 1;
@@ -22,7 +25,8 @@ var pack = function (number, mantissaLength, bytes) {
22
25
  exponent = eMax;
23
26
  } else {
24
27
  exponent = floor(log(number) / LN2);
25
- if (number * (c = pow(2, -exponent)) < 1) {
28
+ c = pow(2, -exponent);
29
+ if (number * c < 1) {
26
30
  exponent--;
27
31
  c *= 2;
28
32
  }
@@ -46,10 +50,18 @@ var pack = function (number, mantissaLength, bytes) {
46
50
  exponent = 0;
47
51
  }
48
52
  }
49
- for (; mantissaLength >= 8; buffer[index++] = mantissa & 255, mantissa /= 256, mantissaLength -= 8);
53
+ while (mantissaLength >= 8) {
54
+ buffer[index++] = mantissa & 255;
55
+ mantissa /= 256;
56
+ mantissaLength -= 8;
57
+ }
50
58
  exponent = exponent << mantissaLength | mantissa;
51
59
  exponentLength += mantissaLength;
52
- for (; exponentLength > 0; buffer[index++] = exponent & 255, exponent /= 256, exponentLength -= 8);
60
+ while (exponentLength > 0) {
61
+ buffer[index++] = exponent & 255;
62
+ exponent /= 256;
63
+ exponentLength -= 8;
64
+ }
53
65
  buffer[--index] |= sign * 128;
54
66
  return buffer;
55
67
  };
@@ -65,11 +77,17 @@ var unpack = function (buffer, mantissaLength) {
65
77
  var exponent = sign & 127;
66
78
  var mantissa;
67
79
  sign >>= 7;
68
- for (; nBits > 0; exponent = exponent * 256 + buffer[index], index--, nBits -= 8);
80
+ while (nBits > 0) {
81
+ exponent = exponent * 256 + buffer[index--];
82
+ nBits -= 8;
83
+ }
69
84
  mantissa = exponent & (1 << -nBits) - 1;
70
85
  exponent >>= -nBits;
71
86
  nBits += mantissaLength;
72
- for (; nBits > 0; mantissa = mantissa * 256 + buffer[index], index--, nBits -= 8);
87
+ while (nBits > 0) {
88
+ mantissa = mantissa * 256 + buffer[index--];
89
+ nBits -= 8;
90
+ }
73
91
  if (exponent === 0) {
74
92
  exponent = 1 - eBias;
75
93
  } else if (exponent === eMax) {
@@ -1,7 +1,10 @@
1
+ var global = require('../internals/global');
2
+ var uncurryThis = require('../internals/function-uncurry-this');
1
3
  var fails = require('../internals/fails');
2
4
  var classof = require('../internals/classof-raw');
3
5
 
4
- var split = ''.split;
6
+ var Object = global.Object;
7
+ var split = uncurryThis(''.split);
5
8
 
6
9
  // fallback for non-array-like ES3 and non-enumerable old V8 strings
7
10
  module.exports = fails(function () {
@@ -9,5 +12,5 @@ module.exports = fails(function () {
9
12
  // eslint-disable-next-line no-prototype-builtins -- safe
10
13
  return !Object('z').propertyIsEnumerable(0);
11
14
  }) ? function (it) {
12
- return classof(it) == 'String' ? split.call(it, '') : Object(it);
15
+ return classof(it) == 'String' ? split(it, '') : Object(it);
13
16
  } : Object;
@@ -1,12 +1,13 @@
1
+ var uncurryThis = require('../internals/function-uncurry-this');
1
2
  var isCallable = require('../internals/is-callable');
2
3
  var store = require('../internals/shared-store');
3
4
 
4
- var functionToString = Function.toString;
5
+ var functionToString = uncurryThis(Function.toString);
5
6
 
6
7
  // this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper
7
8
  if (!isCallable(store.inspectSource)) {
8
9
  store.inspectSource = function (it) {
9
- return functionToString.call(it);
10
+ return functionToString(it);
10
11
  };
11
12
  }
12
13
 
@@ -5,6 +5,6 @@ var createNonEnumerableProperty = require('../internals/create-non-enumerable-pr
5
5
  // https://tc39.es/proposal-error-cause/#sec-errorobjects-install-error-cause
6
6
  module.exports = function (O, options) {
7
7
  if (isObject(options) && 'cause' in options) {
8
- createNonEnumerableProperty(O, 'cause', O.cause);
8
+ createNonEnumerableProperty(O, 'cause', options.cause);
9
9
  }
10
10
  };
@@ -1,10 +1,12 @@
1
1
  var $ = require('../internals/export');
2
+ var uncurryThis = require('../internals/function-uncurry-this');
2
3
  var hiddenKeys = require('../internals/hidden-keys');
3
4
  var isObject = require('../internals/is-object');
4
5
  var hasOwn = require('../internals/has-own-property');
5
6
  var defineProperty = require('../internals/object-define-property').f;
6
7
  var getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');
7
8
  var getOwnPropertyNamesExternalModule = require('../internals/object-get-own-property-names-external');
9
+ var isExtensible = require('../internals/object-is-extensible');
8
10
  var uid = require('../internals/uid');
9
11
  var FREEZING = require('../internals/freezing');
10
12
 
@@ -12,11 +14,6 @@ var REQUIRED = false;
12
14
  var METADATA = uid('meta');
13
15
  var id = 0;
14
16
 
15
- // eslint-disable-next-line es/no-object-isextensible -- safe
16
- var isExtensible = Object.isExtensible || function () {
17
- return true;
18
- };
19
-
20
17
  var setMetadata = function (it) {
21
18
  defineProperty(it, METADATA, { value: {
22
19
  objectID: 'O' + id++, // object ID
@@ -60,7 +57,7 @@ var enable = function () {
60
57
  meta.enable = function () { /* empty */ };
61
58
  REQUIRED = true;
62
59
  var getOwnPropertyNames = getOwnPropertyNamesModule.f;
63
- var splice = [].splice;
60
+ var splice = uncurryThis([].splice);
64
61
  var test = {};
65
62
  test[METADATA] = 1;
66
63
 
@@ -70,7 +67,7 @@ var enable = function () {
70
67
  var result = getOwnPropertyNames(it);
71
68
  for (var i = 0, length = result.length; i < length; i++) {
72
69
  if (result[i] === METADATA) {
73
- splice.call(result, i, 1);
70
+ splice(result, i, 1);
74
71
  break;
75
72
  }
76
73
  } return result;
@@ -1,5 +1,6 @@
1
1
  var NATIVE_WEAK_MAP = require('../internals/native-weak-map');
2
2
  var global = require('../internals/global');
3
+ var uncurryThis = require('../internals/function-uncurry-this');
3
4
  var isObject = require('../internals/is-object');
4
5
  var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
5
6
  var hasOwn = require('../internals/has-own-property');
@@ -8,6 +9,7 @@ var sharedKey = require('../internals/shared-key');
8
9
  var hiddenKeys = require('../internals/hidden-keys');
9
10
 
10
11
  var OBJECT_ALREADY_INITIALIZED = 'Object already initialized';
12
+ var TypeError = global.TypeError;
11
13
  var WeakMap = global.WeakMap;
12
14
  var set, get, has;
13
15
 
@@ -26,20 +28,20 @@ var getterFor = function (TYPE) {
26
28
 
27
29
  if (NATIVE_WEAK_MAP || shared.state) {
28
30
  var store = shared.state || (shared.state = new WeakMap());
29
- var wmget = store.get;
30
- var wmhas = store.has;
31
- var wmset = store.set;
31
+ var wmget = uncurryThis(store.get);
32
+ var wmhas = uncurryThis(store.has);
33
+ var wmset = uncurryThis(store.set);
32
34
  set = function (it, metadata) {
33
- if (wmhas.call(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);
35
+ if (wmhas(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);
34
36
  metadata.facade = it;
35
- wmset.call(store, it, metadata);
37
+ wmset(store, it, metadata);
36
38
  return metadata;
37
39
  };
38
40
  get = function (it) {
39
- return wmget.call(store, it) || {};
41
+ return wmget(store, it) || {};
40
42
  };
41
43
  has = function (it) {
42
- return wmhas.call(store, it);
44
+ return wmhas(store, it);
43
45
  };
44
46
  } else {
45
47
  var STATE = sharedKey('state');
@@ -1,5 +1,5 @@
1
1
  // `IsCallable` abstract operation
2
2
  // https://tc39.es/ecma262/#sec-iscallable
3
3
  module.exports = function (argument) {
4
- return typeof argument === 'function';
4
+ return typeof argument == 'function';
5
5
  };
@@ -1,19 +1,21 @@
1
+ var uncurryThis = require('../internals/function-uncurry-this');
1
2
  var fails = require('../internals/fails');
2
3
  var isCallable = require('../internals/is-callable');
3
4
  var classof = require('../internals/classof');
4
5
  var getBuiltIn = require('../internals/get-built-in');
5
6
  var inspectSource = require('../internals/inspect-source');
6
7
 
8
+ var noop = function () { /* empty */ };
7
9
  var empty = [];
8
10
  var construct = getBuiltIn('Reflect', 'construct');
9
11
  var constructorRegExp = /^\s*(?:class|function)\b/;
10
- var exec = constructorRegExp.exec;
11
- var INCORRECT_TO_STRING = !constructorRegExp.exec(function () { /* empty */ });
12
+ var exec = uncurryThis(constructorRegExp.exec);
13
+ var INCORRECT_TO_STRING = !constructorRegExp.exec(noop);
12
14
 
13
15
  var isConstructorModern = function (argument) {
14
16
  if (!isCallable(argument)) return false;
15
17
  try {
16
- construct(Object, empty, argument);
18
+ construct(noop, empty, argument);
17
19
  return true;
18
20
  } catch (error) {
19
21
  return false;
@@ -27,7 +29,7 @@ var isConstructorLegacy = function (argument) {
27
29
  case 'GeneratorFunction':
28
30
  case 'AsyncGeneratorFunction': return false;
29
31
  // we can't check .prototype since constructors produced by .bind haven't it
30
- } return INCORRECT_TO_STRING || !!exec.call(constructorRegExp, inspectSource(argument));
32
+ } return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));
31
33
  };
32
34
 
33
35
  // `IsConstructor` abstract operation
@@ -1,13 +1,15 @@
1
+ var global = require('../internals/global');
1
2
  var classof = require('../internals/classof');
3
+ var hasOwn = require('../internals/has-own-property');
2
4
  var wellKnownSymbol = require('../internals/well-known-symbol');
3
5
  var Iterators = require('../internals/iterators');
4
6
 
5
7
  var ITERATOR = wellKnownSymbol('iterator');
8
+ var Object = global.Object;
6
9
 
7
10
  module.exports = function (it) {
8
11
  var O = Object(it);
9
12
  return O[ITERATOR] !== undefined
10
13
  || '@@iterator' in O
11
- // eslint-disable-next-line no-prototype-builtins -- safe
12
- || Iterators.hasOwnProperty(classof(O));
14
+ || hasOwn(Iterators, classof(O));
13
15
  };
@@ -1,5 +1,5 @@
1
1
  var isCallable = require('../internals/is-callable');
2
2
 
3
3
  module.exports = function (it) {
4
- return typeof it === 'object' ? it !== null : isCallable(it);
4
+ return typeof it == 'object' ? it !== null : isCallable(it);
5
5
  };
@@ -1,10 +1,14 @@
1
- var isCallable = require('../internals/is-callable');
1
+ var global = require('../internals/global');
2
2
  var getBuiltIn = require('../internals/get-built-in');
3
+ var isCallable = require('../internals/is-callable');
4
+ var isPrototypeOf = require('../internals/object-is-prototype-of');
3
5
  var USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');
4
6
 
7
+ var Object = global.Object;
8
+
5
9
  module.exports = USE_SYMBOL_AS_UID ? function (it) {
6
10
  return typeof it == 'symbol';
7
11
  } : function (it) {
8
12
  var $Symbol = getBuiltIn('Symbol');
9
- return isCallable($Symbol) && Object(it) instanceof $Symbol;
13
+ return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, Object(it));
10
14
  };
@@ -1,22 +1,30 @@
1
+ var global = require('../internals/global');
2
+ var bind = require('../internals/function-bind-context');
3
+ var call = require('../internals/function-call');
1
4
  var anObject = require('../internals/an-object');
5
+ var tryToString = require('../internals/try-to-string');
2
6
  var isArrayIteratorMethod = require('../internals/is-array-iterator-method');
3
7
  var lengthOfArrayLike = require('../internals/length-of-array-like');
4
- var bind = require('../internals/function-bind-context');
8
+ var isPrototypeOf = require('../internals/object-is-prototype-of');
5
9
  var getIterator = require('../internals/get-iterator');
6
10
  var getIteratorMethod = require('../internals/get-iterator-method');
7
11
  var iteratorClose = require('../internals/iterator-close');
8
12
 
13
+ var TypeError = global.TypeError;
14
+
9
15
  var Result = function (stopped, result) {
10
16
  this.stopped = stopped;
11
17
  this.result = result;
12
18
  };
13
19
 
20
+ var ResultPrototype = Result.prototype;
21
+
14
22
  module.exports = function (iterable, unboundFunction, options) {
15
23
  var that = options && options.that;
16
24
  var AS_ENTRIES = !!(options && options.AS_ENTRIES);
17
25
  var IS_ITERATOR = !!(options && options.IS_ITERATOR);
18
26
  var INTERRUPTED = !!(options && options.INTERRUPTED);
19
- var fn = bind(unboundFunction, that, 1 + AS_ENTRIES + INTERRUPTED);
27
+ var fn = bind(unboundFunction, that);
20
28
  var iterator, iterFn, index, length, result, next, step;
21
29
 
22
30
  var stop = function (condition) {
@@ -35,24 +43,24 @@ module.exports = function (iterable, unboundFunction, options) {
35
43
  iterator = iterable;
36
44
  } else {
37
45
  iterFn = getIteratorMethod(iterable);
38
- if (!iterFn) throw TypeError(String(iterable) + ' is not iterable');
46
+ if (!iterFn) throw TypeError(tryToString(iterable) + ' is not iterable');
39
47
  // optimisation for array iterators
40
48
  if (isArrayIteratorMethod(iterFn)) {
41
49
  for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {
42
50
  result = callFn(iterable[index]);
43
- if (result && result instanceof Result) return result;
51
+ if (result && isPrototypeOf(ResultPrototype, result)) return result;
44
52
  } return new Result(false);
45
53
  }
46
54
  iterator = getIterator(iterable, iterFn);
47
55
  }
48
56
 
49
57
  next = iterator.next;
50
- while (!(step = next.call(iterator)).done) {
58
+ while (!(step = call(next, iterator)).done) {
51
59
  try {
52
60
  result = callFn(step.value);
53
61
  } catch (error) {
54
62
  iteratorClose(iterator, 'throw', error);
55
63
  }
56
- if (typeof result == 'object' && result && result instanceof Result) return result;
64
+ if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;
57
65
  } return new Result(false);
58
66
  };
@@ -1,3 +1,4 @@
1
+ var call = require('../internals/function-call');
1
2
  var anObject = require('../internals/an-object');
2
3
  var getMethod = require('../internals/get-method');
3
4
 
@@ -10,7 +11,7 @@ module.exports = function (iterator, kind, value) {
10
11
  if (kind === 'throw') throw value;
11
12
  return value;
12
13
  }
13
- innerResult = innerResult.call(iterator);
14
+ innerResult = call(innerResult, iterator);
14
15
  } catch (error) {
15
16
  innerError = true;
16
17
  innerResult = error;
@@ -1,4 +1,5 @@
1
1
  'use strict';
2
+ var call = require('../internals/function-call');
2
3
  var aCallable = require('../internals/a-callable');
3
4
  var anObject = require('../internals/an-object');
4
5
  var create = require('../internals/object-create');
@@ -27,7 +28,7 @@ module.exports = function (nextHandler, IS_ITERATOR) {
27
28
  var state = getInternalState(this);
28
29
  var args = arguments.length ? [state.ignoreArg ? undefined : arg] : IS_ITERATOR ? [] : [undefined];
29
30
  state.ignoreArg = false;
30
- var result = state.done ? undefined : nextHandler.call(state, args);
31
+ var result = state.done ? undefined : call(nextHandler, state, args);
31
32
  return { done: state.done, value: result };
32
33
  },
33
34
  'return': function (value) {
@@ -35,14 +36,14 @@ module.exports = function (nextHandler, IS_ITERATOR) {
35
36
  var iterator = state.iterator;
36
37
  state.done = true;
37
38
  var $$return = getMethod(iterator, 'return');
38
- return { done: true, value: $$return ? anObject($$return.call(iterator, value)).value : value };
39
+ return { done: true, value: $$return ? anObject(call($$return, iterator, value)).value : value };
39
40
  },
40
41
  'throw': function (value) {
41
42
  var state = getInternalState(this);
42
43
  var iterator = state.iterator;
43
44
  state.done = true;
44
45
  var $$throw = getMethod(iterator, 'throw');
45
- if ($$throw) return $$throw.call(iterator, value);
46
+ if ($$throw) return call($$throw, iterator, value);
46
47
  throw value;
47
48
  }
48
49
  });
@@ -1,13 +1,18 @@
1
1
  'use strict';
2
+ var call = require('../internals/function-call');
3
+ var aCallable = require('../internals/a-callable');
2
4
  var anObject = require('../internals/an-object');
3
5
 
4
6
  // `Map.prototype.emplace` method
5
7
  // https://github.com/thumbsupep/proposal-upsert
6
8
  module.exports = function emplace(key, handler) {
7
9
  var map = anObject(this);
8
- var value = (map.has(key) && 'update' in handler)
9
- ? handler.update(map.get(key), key, map)
10
+ var get = aCallable(map.get);
11
+ var has = aCallable(map.has);
12
+ var set = aCallable(map.set);
13
+ var value = (call(has, map, key) && 'update' in handler)
14
+ ? handler.update(call(get, map, key), key, map)
10
15
  : handler.insert(key, map);
11
- map.set(key, value);
16
+ call(set, map, key, value);
12
17
  return value;
13
18
  };
@@ -1,24 +1,32 @@
1
1
  'use strict';
2
+ var global = require('../internals/global');
3
+ var call = require('../internals/function-call');
4
+ var aCallable = require('../internals/a-callable');
2
5
  var isCallable = require('../internals/is-callable');
3
6
  var anObject = require('../internals/an-object');
4
7
 
8
+ var TypeError = global.TypeError;
9
+
5
10
  // `Map.prototype.upsert` method
6
11
  // https://github.com/thumbsupep/proposal-upsert
7
12
  module.exports = function upsert(key, updateFn /* , insertFn */) {
8
13
  var map = anObject(this);
14
+ var get = aCallable(map.get);
15
+ var has = aCallable(map.has);
16
+ var set = aCallable(map.set);
9
17
  var insertFn = arguments.length > 2 ? arguments[2] : undefined;
10
18
  var value;
11
19
  if (!isCallable(updateFn) && !isCallable(insertFn)) {
12
20
  throw TypeError('At least one callback required');
13
21
  }
14
- if (map.has(key)) {
15
- value = map.get(key);
22
+ if (call(has, map, key)) {
23
+ value = call(get, map, key);
16
24
  if (isCallable(updateFn)) {
17
25
  value = updateFn(value);
18
- map.set(key, value);
26
+ call(set, map, key, value);
19
27
  }
20
28
  } else if (isCallable(insertFn)) {
21
29
  value = insertFn();
22
- map.set(key, value);
30
+ call(set, map, key, value);
23
31
  } return value;
24
32
  };
@@ -1,16 +1,13 @@
1
1
  // `Math.scale` method implementation
2
2
  // https://rwaldron.github.io/proposal-math-extensions/
3
3
  module.exports = Math.scale || function scale(x, inLow, inHigh, outLow, outHigh) {
4
- if (
5
- arguments.length === 0
6
- /* eslint-disable no-self-compare -- NaN check */
7
- || x != x
8
- || inLow != inLow
9
- || inHigh != inHigh
10
- || outLow != outLow
11
- || outHigh != outHigh
12
- /* eslint-enable no-self-compare -- NaN check */
13
- ) return NaN;
14
- if (x === Infinity || x === -Infinity) return x;
15
- return (x - inLow) * (outHigh - outLow) / (inHigh - inLow) + outLow;
4
+ var nx = +x;
5
+ var nInLow = +inLow;
6
+ var nInHigh = +inHigh;
7
+ var nOutLow = +outLow;
8
+ var nOutHigh = +outHigh;
9
+ // eslint-disable-next-line no-self-compare -- NaN check
10
+ if (nx != nx || nInLow != nInLow || nInHigh != nInHigh || nOutLow != nOutLow || nOutHigh != nOutHigh) return NaN;
11
+ if (nx === Infinity || nx === -Infinity) return nx;
12
+ return (nx - nInLow) * (nOutHigh - nOutLow) / (nInHigh - nInLow) + nOutLow;
16
13
  };
@@ -1,4 +1,5 @@
1
1
  var global = require('../internals/global');
2
+ var bind = require('../internals/function-bind-context');
2
3
  var getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;
3
4
  var macrotask = require('../internals/task').set;
4
5
  var IS_IOS = require('../internals/engine-is-ios');
@@ -50,9 +51,9 @@ if (!queueMicrotask) {
50
51
  promise = Promise.resolve(undefined);
51
52
  // workaround of WebKit ~ iOS Safari 10.1 bug
52
53
  promise.constructor = Promise;
53
- then = promise.then;
54
+ then = bind(promise.then, promise);
54
55
  notify = function () {
55
- then.call(promise, flush);
56
+ then(flush);
56
57
  };
57
58
  // Node.js without promises
58
59
  } else if (IS_NODE) {
@@ -66,9 +67,10 @@ if (!queueMicrotask) {
66
67
  // - onreadystatechange
67
68
  // - setTimeout
68
69
  } else {
70
+ // strange IE + webpack dev server bug - use .bind(global)
71
+ macrotask = bind(macrotask, global);
69
72
  notify = function () {
70
- // strange IE + webpack dev server bug - use .call(global)
71
- macrotask.call(global, flush);
73
+ macrotask(flush);
72
74
  };
73
75
  }
74
76
  }
@@ -0,0 +1,5 @@
1
+ var toString = require('../internals/to-string');
2
+
3
+ module.exports = function (argument, $default) {
4
+ return argument === undefined ? arguments.length < 2 ? '' : $default : toString(argument);
5
+ };
@@ -1,5 +1,8 @@
1
+ var global = require('../internals/global');
1
2
  var isRegExp = require('../internals/is-regexp');
2
3
 
4
+ var TypeError = global.TypeError;
5
+
3
6
  module.exports = function (it) {
4
7
  if (isRegExp(it)) {
5
8
  throw TypeError("The method doesn't accept regular expressions");
@@ -1,20 +1,22 @@
1
1
  var global = require('../internals/global');
2
2
  var fails = require('../internals/fails');
3
+ var uncurryThis = require('../internals/function-uncurry-this');
3
4
  var toString = require('../internals/to-string');
4
5
  var trim = require('../internals/string-trim').trim;
5
6
  var whitespaces = require('../internals/whitespaces');
6
7
 
7
- var $parseFloat = global.parseFloat;
8
+ var charAt = uncurryThis(''.charAt);
9
+ var n$ParseFloat = global.parseFloat;
8
10
  var Symbol = global.Symbol;
9
11
  var ITERATOR = Symbol && Symbol.iterator;
10
- var FORCED = 1 / $parseFloat(whitespaces + '-0') !== -Infinity
12
+ var FORCED = 1 / n$ParseFloat(whitespaces + '-0') !== -Infinity
11
13
  // MS Edge 18- broken with boxed symbols
12
- || (ITERATOR && !fails(function () { $parseFloat(Object(ITERATOR)); }));
14
+ || (ITERATOR && !fails(function () { n$ParseFloat(Object(ITERATOR)); }));
13
15
 
14
16
  // `parseFloat` method
15
17
  // https://tc39.es/ecma262/#sec-parsefloat-string
16
18
  module.exports = FORCED ? function parseFloat(string) {
17
19
  var trimmedString = trim(toString(string));
18
- var result = $parseFloat(trimmedString);
19
- return result === 0 && trimmedString.charAt(0) == '-' ? -0 : result;
20
- } : $parseFloat;
20
+ var result = n$ParseFloat(trimmedString);
21
+ return result === 0 && charAt(trimmedString, 0) == '-' ? -0 : result;
22
+ } : n$ParseFloat;
@@ -1,5 +1,6 @@
1
1
  var global = require('../internals/global');
2
2
  var fails = require('../internals/fails');
3
+ var uncurryThis = require('../internals/function-uncurry-this');
3
4
  var toString = require('../internals/to-string');
4
5
  var trim = require('../internals/string-trim').trim;
5
6
  var whitespaces = require('../internals/whitespaces');
@@ -7,7 +8,8 @@ var whitespaces = require('../internals/whitespaces');
7
8
  var $parseInt = global.parseInt;
8
9
  var Symbol = global.Symbol;
9
10
  var ITERATOR = Symbol && Symbol.iterator;
10
- var hex = /^[+-]?0[Xx]/;
11
+ var hex = /^[+-]?0x/i;
12
+ var exec = uncurryThis(hex.exec);
11
13
  var FORCED = $parseInt(whitespaces + '08') !== 8 || $parseInt(whitespaces + '0x16') !== 22
12
14
  // MS Edge 18- broken with boxed symbols
13
15
  || (ITERATOR && !fails(function () { $parseInt(Object(ITERATOR)); }));
@@ -16,5 +18,5 @@ var FORCED = $parseInt(whitespaces + '08') !== 8 || $parseInt(whitespaces + '0x1
16
18
  // https://tc39.es/ecma262/#sec-parseint-string-radix
17
19
  module.exports = FORCED ? function parseInt(string, radix) {
18
20
  var S = trim(toString(string));
19
- return $parseInt(S, (radix >>> 0) || (hex.test(S) ? 16 : 10));
21
+ return $parseInt(S, (radix >>> 0) || (exec(hex, S) ? 16 : 10));
20
22
  } : $parseInt;
@@ -1,4 +1,5 @@
1
1
  'use strict';
2
+ var global = require('../internals/global');
2
3
  var InternalStateModule = require('../internals/internal-state');
3
4
  var createIteratorConstructor = require('../internals/create-iterator-constructor');
4
5
  var isObject = require('../internals/is-object');
@@ -11,6 +12,9 @@ var NUMERIC_RANGE_ITERATOR = 'NumericRangeIterator';
11
12
  var setInternalState = InternalStateModule.set;
12
13
  var getInternalState = InternalStateModule.getterFor(NUMERIC_RANGE_ITERATOR);
13
14
 
15
+ var RangeError = global.RangeError;
16
+ var TypeError = global.TypeError;
17
+
14
18
  var $RangeIterator = createIteratorConstructor(function NumericRangeIterator(start, end, option, type, zero, one) {
15
19
  if (typeof start != type || (end !== Infinity && end !== -Infinity && typeof end != type)) {
16
20
  throw new TypeError(INCORRECT_RANGE);
@@ -1,5 +1,7 @@
1
1
  'use strict';
2
2
  var DESCRIPTORS = require('../internals/descriptors');
3
+ var uncurryThis = require('../internals/function-uncurry-this');
4
+ var call = require('../internals/function-call');
3
5
  var fails = require('../internals/fails');
4
6
  var objectKeys = require('../internals/object-keys');
5
7
  var getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');
@@ -11,6 +13,7 @@ var IndexedObject = require('../internals/indexed-object');
11
13
  var $assign = Object.assign;
12
14
  // eslint-disable-next-line es/no-object-defineproperty -- required for testing
13
15
  var defineProperty = Object.defineProperty;
16
+ var concat = uncurryThis([].concat);
14
17
 
15
18
  // `Object.assign` method
16
19
  // https://tc39.es/ecma262/#sec-object.assign
@@ -42,13 +45,13 @@ module.exports = !$assign || fails(function () {
42
45
  var propertyIsEnumerable = propertyIsEnumerableModule.f;
43
46
  while (argumentsLength > index) {
44
47
  var S = IndexedObject(arguments[index++]);
45
- var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);
48
+ var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);
46
49
  var length = keys.length;
47
50
  var j = 0;
48
51
  var key;
49
52
  while (length > j) {
50
53
  key = keys[j++];
51
- if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key];
54
+ if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key];
52
55
  }
53
56
  } return T;
54
57
  } : $assign;