core-js 3.2.0 → 3.3.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 (125) hide show
  1. package/configurator.js +7 -0
  2. package/es/global-this.js +3 -0
  3. package/es/index.js +1 -0
  4. package/features/async-iterator/as-indexed-pairs.js +10 -0
  5. package/features/async-iterator/drop.js +10 -0
  6. package/features/async-iterator/every.js +10 -0
  7. package/features/async-iterator/filter.js +10 -0
  8. package/features/async-iterator/find.js +10 -0
  9. package/features/async-iterator/flat-map.js +10 -0
  10. package/features/async-iterator/for-each.js +10 -0
  11. package/features/async-iterator/from.js +10 -0
  12. package/features/async-iterator/index.js +22 -0
  13. package/features/async-iterator/map.js +10 -0
  14. package/features/async-iterator/reduce.js +10 -0
  15. package/features/async-iterator/some.js +10 -0
  16. package/features/async-iterator/take.js +10 -0
  17. package/features/async-iterator/to-array.js +10 -0
  18. package/features/global-this.js +1 -3
  19. package/features/iterator/as-indexed-pairs.js +10 -0
  20. package/features/iterator/drop.js +9 -0
  21. package/features/iterator/every.js +9 -0
  22. package/features/iterator/filter.js +9 -0
  23. package/features/iterator/find.js +9 -0
  24. package/features/iterator/flat-map.js +9 -0
  25. package/features/iterator/for-each.js +9 -0
  26. package/features/iterator/from.js +9 -0
  27. package/features/iterator/index.js +21 -0
  28. package/features/iterator/map.js +9 -0
  29. package/features/iterator/reduce.js +9 -0
  30. package/features/iterator/some.js +9 -0
  31. package/features/iterator/take.js +9 -0
  32. package/features/iterator/to-array.js +9 -0
  33. package/features/map/index.js +2 -0
  34. package/features/map/update-or-insert.js +1 -0
  35. package/features/map/upsert.js +5 -0
  36. package/features/weak-map/index.js +1 -0
  37. package/features/weak-map/upsert.js +5 -0
  38. package/internals/add-to-unscopables.js +2 -2
  39. package/internals/array-buffer-view-core.js +2 -2
  40. package/internals/array-buffer.js +9 -4
  41. package/internals/array-from.js +3 -2
  42. package/internals/async-iterator-iteration.js +61 -0
  43. package/internals/async-iterator-prototype.js +37 -0
  44. package/internals/create-async-iterator-proxy.js +61 -0
  45. package/internals/create-iterator-proxy.js +51 -0
  46. package/internals/{hide.js → create-non-enumerable-property.js} +0 -0
  47. package/internals/define-iterator.js +3 -3
  48. package/internals/export.js +2 -2
  49. package/internals/fix-regexp-well-known-symbol-logic.js +2 -2
  50. package/internals/get-async-iterator-method.js +9 -0
  51. package/internals/global.js +4 -5
  52. package/internals/internal-state.js +2 -2
  53. package/internals/iterate.js +4 -3
  54. package/internals/iterators-core.js +4 -2
  55. package/internals/map-upsert.js +23 -0
  56. package/internals/microtask.js +4 -3
  57. package/internals/native-url.js +13 -4
  58. package/internals/redefine.js +3 -3
  59. package/internals/set-global.js +2 -2
  60. package/internals/shared-store.js +7 -0
  61. package/internals/shared.js +2 -6
  62. package/internals/task.js +3 -1
  63. package/internals/to-offset.js +3 -3
  64. package/internals/to-positive-integer.js +7 -0
  65. package/internals/typed-array-constructor.js +10 -7
  66. package/internals/typed-array-from.js +3 -2
  67. package/modules/es.date.to-primitive.js +4 -2
  68. package/modules/es.global-this.js +8 -0
  69. package/modules/es.promise.js +2 -1
  70. package/modules/es.string.match-all.js +22 -7
  71. package/modules/es.symbol.js +4 -2
  72. package/modules/esnext.aggregate-error.js +28 -4
  73. package/modules/esnext.async-iterator.as-indexed-pairs.js +27 -0
  74. package/modules/esnext.async-iterator.constructor.js +25 -0
  75. package/modules/esnext.async-iterator.drop.js +41 -0
  76. package/modules/esnext.async-iterator.every.js +10 -0
  77. package/modules/esnext.async-iterator.filter.js +42 -0
  78. package/modules/esnext.async-iterator.find.js +10 -0
  79. package/modules/esnext.async-iterator.flat-map.js +67 -0
  80. package/modules/esnext.async-iterator.for-each.js +10 -0
  81. package/modules/esnext.async-iterator.from.js +30 -0
  82. package/modules/esnext.async-iterator.map.js +30 -0
  83. package/modules/esnext.async-iterator.reduce.js +46 -0
  84. package/modules/esnext.async-iterator.some.js +10 -0
  85. package/modules/esnext.async-iterator.take.js +22 -0
  86. package/modules/esnext.async-iterator.to-array.js +10 -0
  87. package/modules/esnext.global-this.js +2 -8
  88. package/modules/esnext.iterator.as-indexed-pairs.js +20 -0
  89. package/modules/esnext.iterator.constructor.js +39 -0
  90. package/modules/esnext.iterator.drop.js +30 -0
  91. package/modules/esnext.iterator.every.js +16 -0
  92. package/modules/esnext.iterator.filter.js +30 -0
  93. package/modules/esnext.iterator.find.js +16 -0
  94. package/modules/esnext.iterator.flat-map.js +45 -0
  95. package/modules/esnext.iterator.for-each.js +11 -0
  96. package/modules/esnext.iterator.from.js +32 -0
  97. package/modules/esnext.iterator.map.js +23 -0
  98. package/modules/esnext.iterator.reduce.js +25 -0
  99. package/modules/esnext.iterator.some.js +16 -0
  100. package/modules/esnext.iterator.take.js +25 -0
  101. package/modules/esnext.iterator.to-array.js +15 -0
  102. package/modules/esnext.map.reduce.js +9 -8
  103. package/modules/esnext.map.update-or-insert.js +5 -12
  104. package/modules/esnext.map.upsert.js +10 -0
  105. package/modules/esnext.math.signbit.js +0 -1
  106. package/modules/esnext.observable.js +2 -2
  107. package/modules/esnext.set.reduce.js +9 -8
  108. package/modules/esnext.string.match-all.js +0 -1
  109. package/modules/esnext.string.replace-all.js +13 -19
  110. package/modules/esnext.symbol.replace-all.js +1 -2
  111. package/modules/esnext.weak-map.upsert.js +10 -0
  112. package/modules/web.dom-collections.for-each.js +2 -2
  113. package/modules/web.dom-collections.iterator.js +6 -4
  114. package/modules/web.url-search-params.js +7 -5
  115. package/package.json +2 -2
  116. package/postinstall.js +49 -0
  117. package/proposals/iterator-helpers.js +20 -0
  118. package/proposals/map-update-or-insert.js +2 -1
  119. package/proposals/map-upsert.js +5 -0
  120. package/stable/global-this.js +1 -3
  121. package/stage/1.js +0 -1
  122. package/stage/2.js +2 -2
  123. package/stage/3.js +2 -1
  124. package/stage/4.js +1 -0
  125. package/scripts/postinstall.js +0 -24
package/configurator.js CHANGED
@@ -1,7 +1,12 @@
1
+ var has = require('./internals/has');
1
2
  var isArray = require('./internals/is-array');
2
3
  var isForced = require('./internals/is-forced');
4
+ var shared = require('./internals/shared-store');
5
+
3
6
  var data = isForced.data;
4
7
  var normalize = isForced.normalize;
8
+ var USE_FUNCTION_CONSTRUCTOR = 'USE_FUNCTION_CONSTRUCTOR';
9
+ var ASYNC_ITERATOR_PROTOTYPE = 'AsyncIteratorPrototype';
5
10
 
6
11
  var setAggressivenessLevel = function (object, constant) {
7
12
  if (isArray(object)) for (var i = 0; i < object.length; i++) data[normalize(object[i])] = constant;
@@ -12,5 +17,7 @@ module.exports = function (options) {
12
17
  setAggressivenessLevel(options.useNative, isForced.NATIVE);
13
18
  setAggressivenessLevel(options.usePolyfill, isForced.POLYFILL);
14
19
  setAggressivenessLevel(options.useFeatureDetection, null);
20
+ if (has(options, USE_FUNCTION_CONSTRUCTOR)) shared[USE_FUNCTION_CONSTRUCTOR] = !!options[USE_FUNCTION_CONSTRUCTOR];
21
+ if (has(options, ASYNC_ITERATOR_PROTOTYPE)) shared[USE_FUNCTION_CONSTRUCTOR] = options[ASYNC_ITERATOR_PROTOTYPE];
15
22
  }
16
23
  };
@@ -0,0 +1,3 @@
1
+ require('../modules/esnext.global-this');
2
+
3
+ module.exports = require('../internals/global');
package/es/index.js CHANGED
@@ -41,6 +41,7 @@ require('../modules/es.object.lookup-setter');
41
41
  require('../modules/es.function.bind');
42
42
  require('../modules/es.function.name');
43
43
  require('../modules/es.function.has-instance');
44
+ require('../modules/es.global-this');
44
45
  require('../modules/es.array.from');
45
46
  require('../modules/es.array.is-array');
46
47
  require('../modules/es.array.of');
@@ -0,0 +1,10 @@
1
+ require('../../modules/es.object.to-string');
2
+ require('../../modules/es.promise');
3
+ require('../../modules/es.string.iterator');
4
+ require('../../modules/esnext.async-iterator.constructor');
5
+ require('../../modules/esnext.async-iterator.as-indexed-pairs');
6
+ require('../../modules/web.dom-collections.iterator');
7
+
8
+ var entryUnbind = require('../../internals/entry-unbind');
9
+
10
+ module.exports = entryUnbind('AsyncIterator', 'asIndexedPairs');
@@ -0,0 +1,10 @@
1
+ require('../../modules/es.object.to-string');
2
+ require('../../modules/es.promise');
3
+ require('../../modules/es.string.iterator');
4
+ require('../../modules/esnext.async-iterator.constructor');
5
+ require('../../modules/esnext.async-iterator.drop');
6
+ require('../../modules/web.dom-collections.iterator');
7
+
8
+ var entryUnbind = require('../../internals/entry-unbind');
9
+
10
+ module.exports = entryUnbind('AsyncIterator', 'drop');
@@ -0,0 +1,10 @@
1
+ require('../../modules/es.object.to-string');
2
+ require('../../modules/es.promise');
3
+ require('../../modules/es.string.iterator');
4
+ require('../../modules/esnext.async-iterator.constructor');
5
+ require('../../modules/esnext.async-iterator.every');
6
+ require('../../modules/web.dom-collections.iterator');
7
+
8
+ var entryUnbind = require('../../internals/entry-unbind');
9
+
10
+ module.exports = entryUnbind('AsyncIterator', 'every');
@@ -0,0 +1,10 @@
1
+ require('../../modules/es.object.to-string');
2
+ require('../../modules/es.promise');
3
+ require('../../modules/es.string.iterator');
4
+ require('../../modules/esnext.async-iterator.constructor');
5
+ require('../../modules/esnext.async-iterator.filter');
6
+ require('../../modules/web.dom-collections.iterator');
7
+
8
+ var entryUnbind = require('../../internals/entry-unbind');
9
+
10
+ module.exports = entryUnbind('AsyncIterator', 'filter');
@@ -0,0 +1,10 @@
1
+ require('../../modules/es.object.to-string');
2
+ require('../../modules/es.promise');
3
+ require('../../modules/es.string.iterator');
4
+ require('../../modules/esnext.async-iterator.constructor');
5
+ require('../../modules/esnext.async-iterator.find');
6
+ require('../../modules/web.dom-collections.iterator');
7
+
8
+ var entryUnbind = require('../../internals/entry-unbind');
9
+
10
+ module.exports = entryUnbind('AsyncIterator', 'find');
@@ -0,0 +1,10 @@
1
+ require('../../modules/es.object.to-string');
2
+ require('../../modules/es.promise');
3
+ require('../../modules/es.string.iterator');
4
+ require('../../modules/esnext.async-iterator.constructor');
5
+ require('../../modules/esnext.async-iterator.flat-map');
6
+ require('../../modules/web.dom-collections.iterator');
7
+
8
+ var entryUnbind = require('../../internals/entry-unbind');
9
+
10
+ module.exports = entryUnbind('AsyncIterator', 'flatMap');
@@ -0,0 +1,10 @@
1
+ require('../../modules/es.object.to-string');
2
+ require('../../modules/es.promise');
3
+ require('../../modules/es.string.iterator');
4
+ require('../../modules/esnext.async-iterator.constructor');
5
+ require('../../modules/esnext.async-iterator.for-each');
6
+ require('../../modules/web.dom-collections.iterator');
7
+
8
+ var entryUnbind = require('../../internals/entry-unbind');
9
+
10
+ module.exports = entryUnbind('AsyncIterator', 'forEach');
@@ -0,0 +1,10 @@
1
+ require('../../modules/es.object.to-string');
2
+ require('../../modules/es.promise');
3
+ require('../../modules/es.string.iterator');
4
+ require('../../modules/esnext.async-iterator.constructor');
5
+ require('../../modules/esnext.async-iterator.from');
6
+ require('../../modules/web.dom-collections.iterator');
7
+
8
+ var path = require('../../internals/path');
9
+
10
+ module.exports = path.AsyncIterator.from;
@@ -0,0 +1,22 @@
1
+ require('../../modules/es.object.to-string');
2
+ require('../../modules/es.promise');
3
+ require('../../modules/es.string.iterator');
4
+ require('../../modules/esnext.async-iterator.constructor');
5
+ require('../../modules/esnext.async-iterator.as-indexed-pairs');
6
+ require('../../modules/esnext.async-iterator.drop');
7
+ require('../../modules/esnext.async-iterator.every');
8
+ require('../../modules/esnext.async-iterator.filter');
9
+ require('../../modules/esnext.async-iterator.find');
10
+ require('../../modules/esnext.async-iterator.flat-map');
11
+ require('../../modules/esnext.async-iterator.for-each');
12
+ require('../../modules/esnext.async-iterator.from');
13
+ require('../../modules/esnext.async-iterator.map');
14
+ require('../../modules/esnext.async-iterator.reduce');
15
+ require('../../modules/esnext.async-iterator.some');
16
+ require('../../modules/esnext.async-iterator.take');
17
+ require('../../modules/esnext.async-iterator.to-array');
18
+ require('../../modules/web.dom-collections.iterator');
19
+
20
+ var path = require('../../internals/path');
21
+
22
+ module.exports = path.AsyncIterator;
@@ -0,0 +1,10 @@
1
+ require('../../modules/es.object.to-string');
2
+ require('../../modules/es.promise');
3
+ require('../../modules/es.string.iterator');
4
+ require('../../modules/esnext.async-iterator.constructor');
5
+ require('../../modules/esnext.async-iterator.map');
6
+ require('../../modules/web.dom-collections.iterator');
7
+
8
+ var entryUnbind = require('../../internals/entry-unbind');
9
+
10
+ module.exports = entryUnbind('AsyncIterator', 'map');
@@ -0,0 +1,10 @@
1
+ require('../../modules/es.object.to-string');
2
+ require('../../modules/es.promise');
3
+ require('../../modules/es.string.iterator');
4
+ require('../../modules/esnext.async-iterator.constructor');
5
+ require('../../modules/esnext.async-iterator.reduce');
6
+ require('../../modules/web.dom-collections.iterator');
7
+
8
+ var entryUnbind = require('../../internals/entry-unbind');
9
+
10
+ module.exports = entryUnbind('AsyncIterator', 'reduce');
@@ -0,0 +1,10 @@
1
+ require('../../modules/es.object.to-string');
2
+ require('../../modules/es.promise');
3
+ require('../../modules/es.string.iterator');
4
+ require('../../modules/esnext.async-iterator.constructor');
5
+ require('../../modules/esnext.async-iterator.some');
6
+ require('../../modules/web.dom-collections.iterator');
7
+
8
+ var entryUnbind = require('../../internals/entry-unbind');
9
+
10
+ module.exports = entryUnbind('AsyncIterator', 'some');
@@ -0,0 +1,10 @@
1
+ require('../../modules/es.object.to-string');
2
+ require('../../modules/es.promise');
3
+ require('../../modules/es.string.iterator');
4
+ require('../../modules/esnext.async-iterator.constructor');
5
+ require('../../modules/esnext.async-iterator.take');
6
+ require('../../modules/web.dom-collections.iterator');
7
+
8
+ var entryUnbind = require('../../internals/entry-unbind');
9
+
10
+ module.exports = entryUnbind('AsyncIterator', 'take');
@@ -0,0 +1,10 @@
1
+ require('../../modules/es.object.to-string');
2
+ require('../../modules/es.promise');
3
+ require('../../modules/es.string.iterator');
4
+ require('../../modules/esnext.async-iterator.constructor');
5
+ require('../../modules/esnext.async-iterator.to-array');
6
+ require('../../modules/web.dom-collections.iterator');
7
+
8
+ var entryUnbind = require('../../internals/entry-unbind');
9
+
10
+ module.exports = entryUnbind('AsyncIterator', 'toArray');
@@ -1,3 +1 @@
1
- require('../modules/esnext.global-this');
2
-
3
- module.exports = require('../internals/global');
1
+ module.exports = require('../es/global-this');
@@ -0,0 +1,10 @@
1
+ require('../../modules/es.object.to-string');
2
+ require('../../modules/es.string.iterator');
3
+ require('../../modules/esnext.iterator.constructor');
4
+ require('../../modules/esnext.iterator.as-indexed-pairs');
5
+ require('../../modules/web.dom-collections.iterator');
6
+
7
+ var entryUnbind = require('../../internals/entry-unbind');
8
+
9
+ module.exports = entryUnbind('Iterator', 'asIndexedPairs');
10
+
@@ -0,0 +1,9 @@
1
+ require('../../modules/es.object.to-string');
2
+ require('../../modules/es.string.iterator');
3
+ require('../../modules/esnext.iterator.constructor');
4
+ require('../../modules/esnext.iterator.drop');
5
+ require('../../modules/web.dom-collections.iterator');
6
+
7
+ var entryUnbind = require('../../internals/entry-unbind');
8
+
9
+ module.exports = entryUnbind('Iterator', 'drop');
@@ -0,0 +1,9 @@
1
+ require('../../modules/es.object.to-string');
2
+ require('../../modules/es.string.iterator');
3
+ require('../../modules/esnext.iterator.constructor');
4
+ require('../../modules/esnext.iterator.every');
5
+ require('../../modules/web.dom-collections.iterator');
6
+
7
+ var entryUnbind = require('../../internals/entry-unbind');
8
+
9
+ module.exports = entryUnbind('Iterator', 'every');
@@ -0,0 +1,9 @@
1
+ require('../../modules/es.object.to-string');
2
+ require('../../modules/es.string.iterator');
3
+ require('../../modules/esnext.iterator.constructor');
4
+ require('../../modules/esnext.iterator.filter');
5
+ require('../../modules/web.dom-collections.iterator');
6
+
7
+ var entryUnbind = require('../../internals/entry-unbind');
8
+
9
+ module.exports = entryUnbind('Iterator', 'filter');
@@ -0,0 +1,9 @@
1
+ require('../../modules/es.object.to-string');
2
+ require('../../modules/es.string.iterator');
3
+ require('../../modules/esnext.iterator.constructor');
4
+ require('../../modules/esnext.iterator.find');
5
+ require('../../modules/web.dom-collections.iterator');
6
+
7
+ var entryUnbind = require('../../internals/entry-unbind');
8
+
9
+ module.exports = entryUnbind('Iterator', 'find');
@@ -0,0 +1,9 @@
1
+ require('../../modules/es.object.to-string');
2
+ require('../../modules/es.string.iterator');
3
+ require('../../modules/esnext.iterator.constructor');
4
+ require('../../modules/esnext.iterator.flat-map');
5
+ require('../../modules/web.dom-collections.iterator');
6
+
7
+ var entryUnbind = require('../../internals/entry-unbind');
8
+
9
+ module.exports = entryUnbind('Iterator', 'flatMap');
@@ -0,0 +1,9 @@
1
+ require('../../modules/es.object.to-string');
2
+ require('../../modules/es.string.iterator');
3
+ require('../../modules/esnext.iterator.constructor');
4
+ require('../../modules/esnext.iterator.for-each');
5
+ require('../../modules/web.dom-collections.iterator');
6
+
7
+ var entryUnbind = require('../../internals/entry-unbind');
8
+
9
+ module.exports = entryUnbind('Iterator', 'forEach');
@@ -0,0 +1,9 @@
1
+ require('../../modules/es.object.to-string');
2
+ require('../../modules/es.string.iterator');
3
+ require('../../modules/esnext.iterator.constructor');
4
+ require('../../modules/esnext.iterator.from');
5
+ require('../../modules/web.dom-collections.iterator');
6
+
7
+ var path = require('../../internals/path');
8
+
9
+ module.exports = path.Iterator.from;
@@ -0,0 +1,21 @@
1
+ require('../../modules/es.object.to-string');
2
+ require('../../modules/es.string.iterator');
3
+ require('../../modules/esnext.iterator.constructor');
4
+ require('../../modules/esnext.iterator.as-indexed-pairs');
5
+ require('../../modules/esnext.iterator.drop');
6
+ require('../../modules/esnext.iterator.every');
7
+ require('../../modules/esnext.iterator.filter');
8
+ require('../../modules/esnext.iterator.find');
9
+ require('../../modules/esnext.iterator.flat-map');
10
+ require('../../modules/esnext.iterator.for-each');
11
+ require('../../modules/esnext.iterator.from');
12
+ require('../../modules/esnext.iterator.map');
13
+ require('../../modules/esnext.iterator.reduce');
14
+ require('../../modules/esnext.iterator.some');
15
+ require('../../modules/esnext.iterator.take');
16
+ require('../../modules/esnext.iterator.to-array');
17
+ require('../../modules/web.dom-collections.iterator');
18
+
19
+ var path = require('../../internals/path');
20
+
21
+ module.exports = path.Iterator;
@@ -0,0 +1,9 @@
1
+ require('../../modules/es.object.to-string');
2
+ require('../../modules/es.string.iterator');
3
+ require('../../modules/esnext.iterator.constructor');
4
+ require('../../modules/esnext.iterator.map');
5
+ require('../../modules/web.dom-collections.iterator');
6
+
7
+ var entryUnbind = require('../../internals/entry-unbind');
8
+
9
+ module.exports = entryUnbind('Iterator', 'map');
@@ -0,0 +1,9 @@
1
+ require('../../modules/es.object.to-string');
2
+ require('../../modules/es.string.iterator');
3
+ require('../../modules/esnext.iterator.constructor');
4
+ require('../../modules/esnext.iterator.reduce');
5
+ require('../../modules/web.dom-collections.iterator');
6
+
7
+ var entryUnbind = require('../../internals/entry-unbind');
8
+
9
+ module.exports = entryUnbind('Iterator', 'reduce');
@@ -0,0 +1,9 @@
1
+ require('../../modules/es.object.to-string');
2
+ require('../../modules/es.string.iterator');
3
+ require('../../modules/esnext.iterator.constructor');
4
+ require('../../modules/esnext.iterator.some');
5
+ require('../../modules/web.dom-collections.iterator');
6
+
7
+ var entryUnbind = require('../../internals/entry-unbind');
8
+
9
+ module.exports = entryUnbind('Iterator', 'some');
@@ -0,0 +1,9 @@
1
+ require('../../modules/es.object.to-string');
2
+ require('../../modules/es.string.iterator');
3
+ require('../../modules/esnext.iterator.constructor');
4
+ require('../../modules/esnext.iterator.take');
5
+ require('../../modules/web.dom-collections.iterator');
6
+
7
+ var entryUnbind = require('../../internals/entry-unbind');
8
+
9
+ module.exports = entryUnbind('Iterator', 'take');
@@ -0,0 +1,9 @@
1
+ require('../../modules/es.object.to-string');
2
+ require('../../modules/es.string.iterator');
3
+ require('../../modules/esnext.iterator.constructor');
4
+ require('../../modules/esnext.iterator.to-array');
5
+ require('../../modules/web.dom-collections.iterator');
6
+
7
+ var entryUnbind = require('../../internals/entry-unbind');
8
+
9
+ module.exports = entryUnbind('Iterator', 'toArray');
@@ -17,4 +17,6 @@ require('../../modules/esnext.map.merge');
17
17
  require('../../modules/esnext.map.reduce');
18
18
  require('../../modules/esnext.map.some');
19
19
  require('../../modules/esnext.map.update');
20
+ // TODO: remove from `core-js@4`
20
21
  require('../../modules/esnext.map.update-or-insert');
22
+ require('../../modules/esnext.map.upsert');
@@ -1,3 +1,4 @@
1
+ // TODO: remove from `core-js@4`
1
2
  require('../../modules/es.map');
2
3
  require('../../modules/esnext.map.update-or-insert');
3
4
  var entryUnbind = require('../../internals/entry-unbind');
@@ -0,0 +1,5 @@
1
+ require('../../modules/es.map');
2
+ require('../../modules/esnext.map.upsert');
3
+ var entryUnbind = require('../../internals/entry-unbind');
4
+
5
+ module.exports = entryUnbind('Map', 'upsert');
@@ -3,3 +3,4 @@ module.exports = require('../../es/weak-map');
3
3
  require('../../modules/esnext.weak-map.from');
4
4
  require('../../modules/esnext.weak-map.of');
5
5
  require('../../modules/esnext.weak-map.delete-all');
6
+ require('../../modules/esnext.weak-map.upsert');
@@ -0,0 +1,5 @@
1
+ require('../../modules/es.weak-map');
2
+ require('../../modules/esnext.weak-map.upsert');
3
+ var entryUnbind = require('../../internals/entry-unbind');
4
+
5
+ module.exports = entryUnbind('WeakMap', 'upsert');
@@ -1,6 +1,6 @@
1
1
  var wellKnownSymbol = require('../internals/well-known-symbol');
2
2
  var create = require('../internals/object-create');
3
- var hide = require('../internals/hide');
3
+ var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
4
4
 
5
5
  var UNSCOPABLES = wellKnownSymbol('unscopables');
6
6
  var ArrayPrototype = Array.prototype;
@@ -8,7 +8,7 @@ var ArrayPrototype = Array.prototype;
8
8
  // Array.prototype[@@unscopables]
9
9
  // https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
10
10
  if (ArrayPrototype[UNSCOPABLES] == undefined) {
11
- hide(ArrayPrototype, UNSCOPABLES, create(null));
11
+ createNonEnumerableProperty(ArrayPrototype, UNSCOPABLES, create(null));
12
12
  }
13
13
 
14
14
  // add a key to Array.prototype[@@unscopables]
@@ -4,7 +4,7 @@ var global = require('../internals/global');
4
4
  var isObject = require('../internals/is-object');
5
5
  var has = require('../internals/has');
6
6
  var classof = require('../internals/classof');
7
- var hide = require('../internals/hide');
7
+ var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
8
8
  var redefine = require('../internals/redefine');
9
9
  var defineProperty = require('../internals/object-define-property').f;
10
10
  var getPrototypeOf = require('../internals/object-get-prototype-of');
@@ -140,7 +140,7 @@ if (DESCRIPTORS && !has(TypedArrayPrototype, TO_STRING_TAG)) {
140
140
  return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;
141
141
  } });
142
142
  for (NAME in TypedArrayConstructorsList) if (global[NAME]) {
143
- hide(global[NAME], TYPED_ARRAY_TAG, NAME);
143
+ createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);
144
144
  }
145
145
  }
146
146
 
@@ -2,7 +2,7 @@
2
2
  var global = require('../internals/global');
3
3
  var DESCRIPTORS = require('../internals/descriptors');
4
4
  var NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-view-core').NATIVE_ARRAY_BUFFER;
5
- var hide = require('../internals/hide');
5
+ var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
6
6
  var redefineAll = require('../internals/redefine-all');
7
7
  var fails = require('../internals/fails');
8
8
  var anInstance = require('../internals/an-instance');
@@ -268,7 +268,9 @@ if (!NATIVE_ARRAY_BUFFER) {
268
268
  };
269
269
  var ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE] = NativeArrayBuffer[PROTOTYPE];
270
270
  for (var keys = getOwnPropertyNames(NativeArrayBuffer), j = 0, key; keys.length > j;) {
271
- if (!((key = keys[j++]) in $ArrayBuffer)) hide($ArrayBuffer, key, NativeArrayBuffer[key]);
271
+ if (!((key = keys[j++]) in $ArrayBuffer)) {
272
+ createNonEnumerableProperty($ArrayBuffer, key, NativeArrayBuffer[key]);
273
+ }
272
274
  }
273
275
  ArrayBufferPrototype.constructor = $ArrayBuffer;
274
276
  }
@@ -289,5 +291,8 @@ if (!NATIVE_ARRAY_BUFFER) {
289
291
 
290
292
  setToStringTag($ArrayBuffer, ARRAY_BUFFER);
291
293
  setToStringTag($DataView, DATA_VIEW);
292
- exports[ARRAY_BUFFER] = $ArrayBuffer;
293
- exports[DATA_VIEW] = $DataView;
294
+
295
+ module.exports = {
296
+ ArrayBuffer: $ArrayBuffer,
297
+ DataView: $DataView
298
+ };
@@ -17,13 +17,14 @@ module.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undef
17
17
  var mapping = mapfn !== undefined;
18
18
  var index = 0;
19
19
  var iteratorMethod = getIteratorMethod(O);
20
- var length, result, step, iterator;
20
+ var length, result, step, iterator, next;
21
21
  if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);
22
22
  // if the target is not iterable or it's an array with the default iterator - use a simple case
23
23
  if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {
24
24
  iterator = iteratorMethod.call(O);
25
+ next = iterator.next;
25
26
  result = new C();
26
- for (;!(step = iterator.next()).done; index++) {
27
+ for (;!(step = next.call(iterator)).done; index++) {
27
28
  createProperty(result, index, mapping
28
29
  ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true)
29
30
  : step.value
@@ -0,0 +1,61 @@
1
+ 'use strict';
2
+ // https://github.com/tc39/proposal-iterator-helpers
3
+ var aFunction = require('../internals/a-function');
4
+ var anObject = require('../internals/an-object');
5
+ var getBuiltIn = require('../internals/get-built-in');
6
+
7
+ var Promise = getBuiltIn('Promise');
8
+ var push = [].push;
9
+
10
+ var createMethod = function (TYPE) {
11
+ var IS_TO_ARRAY = TYPE == 0;
12
+ var IS_FOR_EACH = TYPE == 1;
13
+ var IS_EVERY = TYPE == 2;
14
+ var IS_SOME = TYPE == 3;
15
+ return function (iterator, fn) {
16
+ anObject(iterator);
17
+ var next = aFunction(iterator.next);
18
+ var array = IS_TO_ARRAY ? [] : undefined;
19
+ if (!IS_TO_ARRAY) aFunction(fn);
20
+
21
+ return new Promise(function (resolve, reject) {
22
+ var loop = function () {
23
+ try {
24
+ Promise.resolve(anObject(next.call(iterator))).then(function (step) {
25
+ try {
26
+ if (anObject(step).done) {
27
+ resolve(IS_TO_ARRAY ? array : IS_SOME ? false : IS_EVERY || undefined);
28
+ } else {
29
+ var value = step.value;
30
+ if (IS_TO_ARRAY) {
31
+ push.call(array, value);
32
+ loop();
33
+ } else {
34
+ Promise.resolve(fn(value)).then(function (result) {
35
+ if (IS_FOR_EACH) {
36
+ loop();
37
+ } else if (IS_EVERY) {
38
+ result ? loop() : resolve(false);
39
+ } else {
40
+ result ? resolve(IS_SOME || value) : loop();
41
+ }
42
+ }, reject);
43
+ }
44
+ }
45
+ } catch (err) { reject(err); }
46
+ }, reject);
47
+ } catch (error) { reject(error); }
48
+ };
49
+
50
+ loop();
51
+ });
52
+ };
53
+ };
54
+
55
+ module.exports = {
56
+ toArray: createMethod(0),
57
+ forEach: createMethod(1),
58
+ every: createMethod(2),
59
+ some: createMethod(3),
60
+ find: createMethod(4)
61
+ };
@@ -0,0 +1,37 @@
1
+ var global = require('../internals/global');
2
+ var shared = require('../internals/shared-store');
3
+ var getPrototypeOf = require('../internals/object-get-prototype-of');
4
+ var has = require('../internals/has');
5
+ var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
6
+ var wellKnownSymbol = require('../internals/well-known-symbol');
7
+ var IS_PURE = require('../internals/is-pure');
8
+
9
+ var USE_FUNCTION_CONSTRUCTOR = 'USE_FUNCTION_CONSTRUCTOR';
10
+ var ASYNC_ITERATOR = wellKnownSymbol('asyncIterator');
11
+ var AsyncIterator = global.AsyncIterator;
12
+ var PassedAsyncIteratorPrototype = shared.AsyncIteratorPrototype;
13
+ var AsyncIteratorPrototype, prototype;
14
+
15
+ if (!IS_PURE) {
16
+ if (PassedAsyncIteratorPrototype) {
17
+ AsyncIteratorPrototype = PassedAsyncIteratorPrototype;
18
+ } else if (typeof AsyncIterator == 'function') {
19
+ AsyncIteratorPrototype = AsyncIterator.prototype;
20
+ } else if (shared[USE_FUNCTION_CONSTRUCTOR] || global[USE_FUNCTION_CONSTRUCTOR]) {
21
+ try {
22
+ // eslint-disable-next-line no-new-func
23
+ prototype = getPrototypeOf(getPrototypeOf(getPrototypeOf(Function('return async function*(){}()')())));
24
+ if (getPrototypeOf(prototype) === Object.prototype) AsyncIteratorPrototype = prototype;
25
+ } catch (error) { /* empty */ }
26
+ }
27
+ }
28
+
29
+ if (!AsyncIteratorPrototype) AsyncIteratorPrototype = {};
30
+
31
+ if (!has(AsyncIteratorPrototype, ASYNC_ITERATOR)) {
32
+ createNonEnumerableProperty(AsyncIteratorPrototype, ASYNC_ITERATOR, function () {
33
+ return this;
34
+ });
35
+ }
36
+
37
+ module.exports = AsyncIteratorPrototype;