core-js-pure 3.6.3 → 3.8.0
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.
- package/README.md +3 -2
- package/es/aggregate-error.js +6 -0
- package/es/array/virtual/filter-out.js +4 -0
- package/es/index.js +33 -29
- package/es/instance/replace-all.js +9 -0
- package/es/object/index.js +2 -1
- package/es/object/to-string.js +3 -2
- package/es/promise/any.js +12 -0
- package/es/promise/index.js +4 -2
- package/es/reflect/index.js +1 -0
- package/es/reflect/to-string-tag.js +3 -0
- package/es/string/index.js +1 -0
- package/es/string/replace-all.js +4 -0
- package/es/string/virtual/index.js +1 -0
- package/es/string/virtual/replace-all.js +4 -0
- package/es/symbol/index.js +2 -1
- package/es/symbol/to-string-tag.js +2 -1
- package/features/aggregate-error.js +4 -4
- package/features/array/at.js +4 -0
- package/features/array/filter-out.js +4 -0
- package/features/array/index.js +4 -0
- package/features/array/unique-by.js +5 -0
- package/features/array/virtual/at.js +4 -0
- package/features/array/virtual/filter-out.js +4 -0
- package/features/array/virtual/index.js +3 -0
- package/features/array/virtual/unique-by.js +5 -0
- package/features/bigint/index.js +4 -0
- package/features/bigint/range.js +4 -0
- package/features/instance/at.js +7 -3
- package/features/instance/filter-out.js +8 -0
- package/features/instance/replace-all.js +2 -8
- package/features/instance/unique-by.js +8 -0
- package/features/map/emplace.js +5 -0
- package/features/map/index.js +2 -0
- package/features/number/index.js +1 -0
- package/features/number/range.js +4 -0
- package/features/promise/any.js +4 -9
- package/features/reflect/to-string-tag.js +3 -0
- package/features/string/index.js +2 -0
- package/features/string/replace-all.js +4 -2
- package/features/string/virtual/index.js +2 -0
- package/features/string/virtual/replace-all.js +4 -2
- package/features/typed-array/at.js +1 -0
- package/features/typed-array/filter-out.js +1 -0
- package/features/typed-array/index.js +2 -0
- package/features/weak-map/emplace.js +5 -0
- package/features/weak-map/index.js +2 -0
- package/internals/array-iteration.js +11 -4
- package/internals/array-last-index-of.js +2 -1
- package/internals/array-method-uses-to-length.js +5 -8
- package/internals/async-iterator-iteration.js +25 -6
- package/internals/call-with-safe-iteration-closing.js +2 -2
- package/internals/collection-from.js +5 -5
- package/internals/collection-strong.js +1 -1
- package/internals/collection-weak.js +1 -1
- package/internals/collection.js +1 -1
- package/internals/correct-is-regexp-logic.js +2 -2
- package/internals/engine-is-node.js +4 -0
- package/internals/global.js +1 -1
- package/internals/internal-state.js +4 -1
- package/internals/iterate.js +26 -11
- package/internals/iterator-close.js +8 -0
- package/internals/map-emplace.js +13 -0
- package/internals/microtask.js +8 -8
- package/internals/range-iterator.js +102 -0
- package/internals/shared.js +1 -1
- package/internals/task.js +9 -3
- package/modules/es.aggregate-error.js +31 -0
- package/modules/es.array.reduce-right.js +8 -2
- package/modules/es.array.reduce.js +6 -1
- package/modules/es.math.to-string-tag.js +1 -5
- package/modules/es.object.from-entries.js +1 -1
- package/modules/es.promise.all-settled.js +2 -2
- package/modules/es.promise.any.js +46 -0
- package/modules/es.promise.js +27 -25
- package/modules/es.reflect.set.js +3 -2
- package/modules/es.reflect.to-string-tag.js +1 -0
- package/modules/es.string.replace-all.js +50 -0
- package/modules/esnext.aggregate-error.js +2 -45
- package/modules/esnext.array.at.js +20 -0
- package/modules/esnext.array.filter-out.js +14 -0
- package/modules/esnext.array.unique-by.js +38 -0
- package/modules/esnext.async-iterator.take.js +12 -3
- package/modules/esnext.bigint.range.js +14 -0
- package/modules/esnext.iterator.every.js +3 -3
- package/modules/esnext.iterator.find.js +3 -3
- package/modules/esnext.iterator.flat-map.js +21 -15
- package/modules/esnext.iterator.for-each.js +1 -1
- package/modules/esnext.iterator.reduce.js +1 -1
- package/modules/esnext.iterator.some.js +3 -3
- package/modules/esnext.iterator.take.js +4 -2
- package/modules/esnext.iterator.to-array.js +1 -1
- package/modules/esnext.map.emplace.js +10 -0
- package/modules/esnext.map.every.js +3 -3
- package/modules/esnext.map.filter.js +1 -1
- package/modules/esnext.map.find-key.js +3 -3
- package/modules/esnext.map.find.js +3 -3
- package/modules/esnext.map.includes.js +3 -3
- package/modules/esnext.map.key-of.js +3 -3
- package/modules/esnext.map.map-keys.js +1 -1
- package/modules/esnext.map.map-values.js +1 -1
- package/modules/esnext.map.merge.js +1 -1
- package/modules/esnext.map.reduce.js +1 -1
- package/modules/esnext.map.some.js +3 -3
- package/modules/esnext.map.update-or-insert.js +1 -1
- package/modules/esnext.map.upsert.js +2 -1
- package/modules/esnext.number.range.js +11 -0
- package/modules/esnext.observable.js +3 -3
- package/modules/esnext.promise.any.js +2 -46
- package/modules/esnext.reflect.get-metadata-keys.js +1 -1
- package/modules/esnext.set.every.js +3 -3
- package/modules/esnext.set.filter.js +1 -1
- package/modules/esnext.set.find.js +3 -3
- package/modules/esnext.set.is-disjoint-from.js +3 -3
- package/modules/esnext.set.is-subset-of.js +3 -3
- package/modules/esnext.set.is-superset-of.js +3 -3
- package/modules/esnext.set.join.js +1 -1
- package/modules/esnext.set.map.js +1 -1
- package/modules/esnext.set.reduce.js +1 -1
- package/modules/esnext.set.some.js +3 -3
- package/modules/esnext.set.union.js +1 -1
- package/modules/esnext.string.at-alternative.js +23 -0
- package/modules/esnext.string.at.js +6 -1
- package/modules/esnext.string.replace-all.js +2 -50
- package/modules/esnext.typed-array.at.js +1 -0
- package/modules/esnext.typed-array.filter-out.js +1 -0
- package/modules/esnext.weak-map.emplace.js +10 -0
- package/modules/esnext.weak-map.upsert.js +3 -2
- package/modules/web.queue-microtask.js +2 -3
- package/modules/web.url-search-params.js +1 -1
- package/modules/web.url.js +1 -1
- package/package.json +1 -1
- package/postinstall.js +3 -1
- package/proposals/array-filtering.js +3 -0
- package/proposals/array-unique.js +3 -0
- package/proposals/efficient-64-bit-arithmetic.js +1 -0
- package/proposals/map-upsert.js +4 -0
- package/proposals/number-range.js +3 -0
- package/proposals/object-iteration.js +1 -0
- package/proposals/relative-indexing-method.js +5 -0
- package/stable/aggregate-error.js +6 -0
- package/stable/instance/replace-all.js +3 -0
- package/stable/promise/any.js +3 -0
- package/stable/reflect/to-string-tag.js +3 -0
- package/stable/string/replace-all.js +3 -0
- package/stable/string/virtual/replace-all.js +3 -0
- package/stage/1.js +3 -0
- package/stage/3.js +1 -2
- package/stage/4.js +2 -0
package/README.md
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
# core-js-pure
|
|
2
2
|
|
|
3
|
-
[](#sponsors) [](#backers) [](https://gitter.im/zloirock/core-js?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [](https://www.npmjs.com/package/core-js-pure) [](http://npm-stat.com/charts.html?package=core-js-pure&author=&from=2019-03-18) [](#sponsors) [](#backers) [](https://gitter.im/zloirock/core-js?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [](https://www.npmjs.com/package/core-js-pure) [](http://npm-stat.com/charts.html?package=core-js-pure&author=&from=2019-03-18) [](https://github.com/zloirock/core-js/actions)
|
|
4
|
+
[](https://github.com/zloirock/core-js/actions)
|
|
4
5
|
|
|
5
|
-
> Modular standard library for JavaScript. Includes polyfills for [ECMAScript up to
|
|
6
|
+
> Modular standard library for JavaScript. Includes polyfills for [ECMAScript up to 2021](https://github.com/zloirock/core-js#ecmascript): [promises](https://github.com/zloirock/core-js#ecmascript-promise), [symbols](https://github.com/zloirock/core-js#ecmascript-symbol), [collections](https://github.com/zloirock/core-js#ecmascript-collections), iterators, [typed arrays](https://github.com/zloirock/core-js#ecmascript-typed-arrays), many other features, [ECMAScript proposals](https://github.com/zloirock/core-js#ecmascript-proposals), [some cross-platform WHATWG / W3C features and proposals](#web-standards) like [`URL`](https://github.com/zloirock/core-js#url-and-urlsearchparams). You can load only required features or use it without global namespace pollution.
|
|
6
7
|
|
|
7
8
|
## As advertising: the author is looking for a good job -)
|
|
8
9
|
|
package/es/index.js
CHANGED
|
@@ -13,35 +13,7 @@ require('../modules/es.symbol.split');
|
|
|
13
13
|
require('../modules/es.symbol.to-primitive');
|
|
14
14
|
require('../modules/es.symbol.to-string-tag');
|
|
15
15
|
require('../modules/es.symbol.unscopables');
|
|
16
|
-
require('../modules/es.
|
|
17
|
-
require('../modules/es.object.create');
|
|
18
|
-
require('../modules/es.object.define-property');
|
|
19
|
-
require('../modules/es.object.define-properties');
|
|
20
|
-
require('../modules/es.object.entries');
|
|
21
|
-
require('../modules/es.object.freeze');
|
|
22
|
-
require('../modules/es.object.from-entries');
|
|
23
|
-
require('../modules/es.object.get-own-property-descriptor');
|
|
24
|
-
require('../modules/es.object.get-own-property-descriptors');
|
|
25
|
-
require('../modules/es.object.get-own-property-names');
|
|
26
|
-
require('../modules/es.object.get-prototype-of');
|
|
27
|
-
require('../modules/es.object.is');
|
|
28
|
-
require('../modules/es.object.is-extensible');
|
|
29
|
-
require('../modules/es.object.is-frozen');
|
|
30
|
-
require('../modules/es.object.is-sealed');
|
|
31
|
-
require('../modules/es.object.keys');
|
|
32
|
-
require('../modules/es.object.prevent-extensions');
|
|
33
|
-
require('../modules/es.object.seal');
|
|
34
|
-
require('../modules/es.object.set-prototype-of');
|
|
35
|
-
require('../modules/es.object.values');
|
|
36
|
-
require('../modules/es.object.to-string');
|
|
37
|
-
require('../modules/es.object.define-getter');
|
|
38
|
-
require('../modules/es.object.define-setter');
|
|
39
|
-
require('../modules/es.object.lookup-getter');
|
|
40
|
-
require('../modules/es.object.lookup-setter');
|
|
41
|
-
require('../modules/es.function.bind');
|
|
42
|
-
require('../modules/es.function.name');
|
|
43
|
-
require('../modules/es.function.has-instance');
|
|
44
|
-
require('../modules/es.global-this');
|
|
16
|
+
require('../modules/es.aggregate-error');
|
|
45
17
|
require('../modules/es.array.from');
|
|
46
18
|
require('../modules/es.array.is-array');
|
|
47
19
|
require('../modules/es.array.of');
|
|
@@ -71,6 +43,35 @@ require('../modules/es.array.species');
|
|
|
71
43
|
require('../modules/es.array.unscopables.flat');
|
|
72
44
|
require('../modules/es.array.unscopables.flat-map');
|
|
73
45
|
require('../modules/es.array.iterator');
|
|
46
|
+
require('../modules/es.function.bind');
|
|
47
|
+
require('../modules/es.function.name');
|
|
48
|
+
require('../modules/es.function.has-instance');
|
|
49
|
+
require('../modules/es.global-this');
|
|
50
|
+
require('../modules/es.object.assign');
|
|
51
|
+
require('../modules/es.object.create');
|
|
52
|
+
require('../modules/es.object.define-property');
|
|
53
|
+
require('../modules/es.object.define-properties');
|
|
54
|
+
require('../modules/es.object.entries');
|
|
55
|
+
require('../modules/es.object.freeze');
|
|
56
|
+
require('../modules/es.object.from-entries');
|
|
57
|
+
require('../modules/es.object.get-own-property-descriptor');
|
|
58
|
+
require('../modules/es.object.get-own-property-descriptors');
|
|
59
|
+
require('../modules/es.object.get-own-property-names');
|
|
60
|
+
require('../modules/es.object.get-prototype-of');
|
|
61
|
+
require('../modules/es.object.is');
|
|
62
|
+
require('../modules/es.object.is-extensible');
|
|
63
|
+
require('../modules/es.object.is-frozen');
|
|
64
|
+
require('../modules/es.object.is-sealed');
|
|
65
|
+
require('../modules/es.object.keys');
|
|
66
|
+
require('../modules/es.object.prevent-extensions');
|
|
67
|
+
require('../modules/es.object.seal');
|
|
68
|
+
require('../modules/es.object.set-prototype-of');
|
|
69
|
+
require('../modules/es.object.values');
|
|
70
|
+
require('../modules/es.object.to-string');
|
|
71
|
+
require('../modules/es.object.define-getter');
|
|
72
|
+
require('../modules/es.object.define-setter');
|
|
73
|
+
require('../modules/es.object.lookup-getter');
|
|
74
|
+
require('../modules/es.object.lookup-setter');
|
|
74
75
|
require('../modules/es.string.from-code-point');
|
|
75
76
|
require('../modules/es.string.raw');
|
|
76
77
|
require('../modules/es.string.code-point-at');
|
|
@@ -102,6 +103,7 @@ require('../modules/es.string.small');
|
|
|
102
103
|
require('../modules/es.string.strike');
|
|
103
104
|
require('../modules/es.string.sub');
|
|
104
105
|
require('../modules/es.string.sup');
|
|
106
|
+
require('../modules/es.string.replace-all');
|
|
105
107
|
require('../modules/es.regexp.constructor');
|
|
106
108
|
require('../modules/es.regexp.exec');
|
|
107
109
|
require('../modules/es.regexp.flags');
|
|
@@ -149,6 +151,7 @@ require('../modules/es.json.stringify');
|
|
|
149
151
|
require('../modules/es.json.to-string-tag');
|
|
150
152
|
require('../modules/es.promise');
|
|
151
153
|
require('../modules/es.promise.all-settled');
|
|
154
|
+
require('../modules/es.promise.any');
|
|
152
155
|
require('../modules/es.promise.finally');
|
|
153
156
|
require('../modules/es.map');
|
|
154
157
|
require('../modules/es.set');
|
|
@@ -205,6 +208,7 @@ require('../modules/es.reflect.own-keys');
|
|
|
205
208
|
require('../modules/es.reflect.prevent-extensions');
|
|
206
209
|
require('../modules/es.reflect.set');
|
|
207
210
|
require('../modules/es.reflect.set-prototype-of');
|
|
211
|
+
require('../modules/es.reflect.to-string-tag');
|
|
208
212
|
var path = require('../internals/path');
|
|
209
213
|
|
|
210
214
|
module.exports = path;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
var replaceAll = require('../string/virtual/replace-all');
|
|
2
|
+
|
|
3
|
+
var StringPrototype = String.prototype;
|
|
4
|
+
|
|
5
|
+
module.exports = function (it) {
|
|
6
|
+
var own = it.replaceAll;
|
|
7
|
+
return typeof it === 'string' || it === StringPrototype
|
|
8
|
+
|| (it instanceof String && own === StringPrototype.replaceAll) ? replaceAll : own;
|
|
9
|
+
};
|
package/es/object/index.js
CHANGED
|
@@ -24,8 +24,9 @@ require('../../modules/es.object.define-getter');
|
|
|
24
24
|
require('../../modules/es.object.define-setter');
|
|
25
25
|
require('../../modules/es.object.lookup-getter');
|
|
26
26
|
require('../../modules/es.object.lookup-setter');
|
|
27
|
-
require('../../modules/es.math.to-string-tag');
|
|
28
27
|
require('../../modules/es.json.to-string-tag');
|
|
28
|
+
require('../../modules/es.math.to-string-tag');
|
|
29
|
+
require('../../modules/es.reflect.to-string-tag');
|
|
29
30
|
var path = require('../../internals/path');
|
|
30
31
|
|
|
31
32
|
module.exports = path.Object;
|
package/es/object/to-string.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
require('../../modules/es.object.to-string');
|
|
2
|
-
require('../../modules/es.math.to-string-tag');
|
|
3
1
|
require('../../modules/es.json.to-string-tag');
|
|
2
|
+
require('../../modules/es.math.to-string-tag');
|
|
3
|
+
require('../../modules/es.object.to-string');
|
|
4
|
+
require('../../modules/es.reflect.to-string-tag');
|
|
4
5
|
var classof = require('../../internals/classof');
|
|
5
6
|
|
|
6
7
|
module.exports = function (it) {
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
require('../../modules/es.aggregate-error');
|
|
3
|
+
require('../../modules/es.promise');
|
|
4
|
+
require('../../modules/es.promise.any');
|
|
5
|
+
var path = require('../../internals/path');
|
|
6
|
+
|
|
7
|
+
var Promise = path.Promise;
|
|
8
|
+
var $any = Promise.any;
|
|
9
|
+
|
|
10
|
+
module.exports = function any(iterable) {
|
|
11
|
+
return $any.call(typeof this === 'function' ? this : Promise, iterable);
|
|
12
|
+
};
|
package/es/promise/index.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
require('../../modules/es.aggregate-error');
|
|
1
2
|
require('../../modules/es.object.to-string');
|
|
2
|
-
require('../../modules/es.string.iterator');
|
|
3
|
-
require('../../modules/web.dom-collections.iterator');
|
|
4
3
|
require('../../modules/es.promise');
|
|
5
4
|
require('../../modules/es.promise.all-settled');
|
|
5
|
+
require('../../modules/es.promise.any');
|
|
6
6
|
require('../../modules/es.promise.finally');
|
|
7
|
+
require('../../modules/es.string.iterator');
|
|
8
|
+
require('../../modules/web.dom-collections.iterator');
|
|
7
9
|
var path = require('../../internals/path');
|
|
8
10
|
|
|
9
11
|
module.exports = path.Promise;
|
package/es/reflect/index.js
CHANGED
|
@@ -11,6 +11,7 @@ require('../../modules/es.reflect.own-keys');
|
|
|
11
11
|
require('../../modules/es.reflect.prevent-extensions');
|
|
12
12
|
require('../../modules/es.reflect.set');
|
|
13
13
|
require('../../modules/es.reflect.set-prototype-of');
|
|
14
|
+
require('../../modules/es.reflect.to-string-tag');
|
|
14
15
|
var path = require('../../internals/path');
|
|
15
16
|
|
|
16
17
|
module.exports = path.Reflect;
|
package/es/string/index.js
CHANGED
|
@@ -10,6 +10,7 @@ require('../../modules/es.string.pad-end');
|
|
|
10
10
|
require('../../modules/es.string.pad-start');
|
|
11
11
|
require('../../modules/es.string.repeat');
|
|
12
12
|
require('../../modules/es.string.replace');
|
|
13
|
+
require('../../modules/es.string.replace-all');
|
|
13
14
|
require('../../modules/es.string.search');
|
|
14
15
|
require('../../modules/es.string.split');
|
|
15
16
|
require('../../modules/es.string.starts-with');
|
|
@@ -7,6 +7,7 @@ require('../../../modules/es.string.pad-end');
|
|
|
7
7
|
require('../../../modules/es.string.pad-start');
|
|
8
8
|
require('../../../modules/es.string.repeat');
|
|
9
9
|
require('../../../modules/es.string.replace');
|
|
10
|
+
require('../../../modules/es.string.replace-all');
|
|
10
11
|
require('../../../modules/es.string.search');
|
|
11
12
|
require('../../../modules/es.string.split');
|
|
12
13
|
require('../../../modules/es.string.starts-with');
|
package/es/symbol/index.js
CHANGED
|
@@ -15,8 +15,9 @@ require('../../modules/es.symbol.split');
|
|
|
15
15
|
require('../../modules/es.symbol.to-primitive');
|
|
16
16
|
require('../../modules/es.symbol.to-string-tag');
|
|
17
17
|
require('../../modules/es.symbol.unscopables');
|
|
18
|
-
require('../../modules/es.math.to-string-tag');
|
|
19
18
|
require('../../modules/es.json.to-string-tag');
|
|
19
|
+
require('../../modules/es.math.to-string-tag');
|
|
20
|
+
require('../../modules/es.reflect.to-string-tag');
|
|
20
21
|
var path = require('../../internals/path');
|
|
21
22
|
|
|
22
23
|
module.exports = path.Symbol;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
require('../../modules/es.symbol.to-string-tag');
|
|
2
2
|
require('../../modules/es.object.to-string');
|
|
3
|
-
require('../../modules/es.math.to-string-tag');
|
|
4
3
|
require('../../modules/es.json.to-string-tag');
|
|
4
|
+
require('../../modules/es.math.to-string-tag');
|
|
5
|
+
require('../../modules/es.reflect.to-string-tag');
|
|
5
6
|
var WrappedWellKnownSymbolModule = require('../../internals/well-known-symbol-wrapped');
|
|
6
7
|
|
|
7
8
|
module.exports = WrappedWellKnownSymbolModule.f('toStringTag');
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
require('../modules/es.string.iterator');
|
|
1
|
+
// TODO: remove from `core-js@4`
|
|
3
2
|
require('../modules/esnext.aggregate-error');
|
|
4
|
-
var path = require('../internals/path');
|
|
5
3
|
|
|
6
|
-
|
|
4
|
+
var parent = require('../stable/aggregate-error');
|
|
5
|
+
|
|
6
|
+
module.exports = parent;
|
package/features/array/index.js
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
var parent = require('../../es/array');
|
|
2
|
+
require('../../modules/es.map');
|
|
3
|
+
require('../../modules/esnext.array.at');
|
|
4
|
+
require('../../modules/esnext.array.filter-out');
|
|
2
5
|
require('../../modules/esnext.array.is-template-object');
|
|
3
6
|
require('../../modules/esnext.array.last-item');
|
|
4
7
|
require('../../modules/esnext.array.last-index');
|
|
8
|
+
require('../../modules/esnext.array.unique-by');
|
|
5
9
|
|
|
6
10
|
module.exports = parent;
|
package/features/instance/at.js
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
1
|
-
var
|
|
1
|
+
var arrayAt = require('../array/virtual/at');
|
|
2
|
+
var stringAt = require('../string/virtual/at');
|
|
2
3
|
|
|
4
|
+
var ArrayPrototype = Array.prototype;
|
|
3
5
|
var StringPrototype = String.prototype;
|
|
4
6
|
|
|
5
7
|
module.exports = function (it) {
|
|
6
8
|
var own = it.at;
|
|
7
|
-
|
|
8
|
-
|
|
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;
|
|
12
|
+
} return own;
|
|
9
13
|
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
var filterOut = require('../array/virtual/filter-out');
|
|
2
|
+
|
|
3
|
+
var ArrayPrototype = Array.prototype;
|
|
4
|
+
|
|
5
|
+
module.exports = function (it) {
|
|
6
|
+
var own = it.filterOut;
|
|
7
|
+
return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.filterOut) ? filterOut : own;
|
|
8
|
+
};
|
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
var
|
|
1
|
+
var parent = require('../../stable/instance/replace-all');
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
module.exports = function (it) {
|
|
6
|
-
var own = it.replaceAll;
|
|
7
|
-
return typeof it === 'string' || it === StringPrototype
|
|
8
|
-
|| (it instanceof String && own === StringPrototype.replaceAll) ? replaceAll : own;
|
|
9
|
-
};
|
|
3
|
+
module.exports = parent;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
var uniqueBy = require('../array/virtual/unique-by');
|
|
2
|
+
|
|
3
|
+
var ArrayPrototype = Array.prototype;
|
|
4
|
+
|
|
5
|
+
module.exports = function (it) {
|
|
6
|
+
var own = it.uniqueBy;
|
|
7
|
+
return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.uniqueBy) ? uniqueBy : own;
|
|
8
|
+
};
|
package/features/map/index.js
CHANGED
|
@@ -2,6 +2,7 @@ var parent = require('../../es/map');
|
|
|
2
2
|
require('../../modules/esnext.map.from');
|
|
3
3
|
require('../../modules/esnext.map.of');
|
|
4
4
|
require('../../modules/esnext.map.delete-all');
|
|
5
|
+
require('../../modules/esnext.map.emplace');
|
|
5
6
|
require('../../modules/esnext.map.every');
|
|
6
7
|
require('../../modules/esnext.map.filter');
|
|
7
8
|
require('../../modules/esnext.map.find');
|
|
@@ -16,6 +17,7 @@ require('../../modules/esnext.map.merge');
|
|
|
16
17
|
require('../../modules/esnext.map.reduce');
|
|
17
18
|
require('../../modules/esnext.map.some');
|
|
18
19
|
require('../../modules/esnext.map.update');
|
|
20
|
+
// TODO: remove from `core-js@4`
|
|
19
21
|
require('../../modules/esnext.map.upsert');
|
|
20
22
|
// TODO: remove from `core-js@4`
|
|
21
23
|
require('../../modules/esnext.map.update-or-insert');
|
package/features/number/index.js
CHANGED
package/features/promise/any.js
CHANGED
|
@@ -1,12 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
var parent = require('../../es/promise/any');
|
|
2
|
+
|
|
3
|
+
// TODO: Remove from `core-js@4`
|
|
3
4
|
require('../../modules/esnext.aggregate-error');
|
|
4
5
|
require('../../modules/esnext.promise.any');
|
|
5
|
-
var path = require('../../internals/path');
|
|
6
|
-
|
|
7
|
-
var Promise = path.Promise;
|
|
8
|
-
var $any = Promise.any;
|
|
9
6
|
|
|
10
|
-
module.exports =
|
|
11
|
-
return $any.call(typeof this === 'function' ? this : Promise, iterable);
|
|
12
|
-
};
|
|
7
|
+
module.exports = parent;
|
package/features/string/index.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
var parent = require('../../es/string');
|
|
2
2
|
require('../../modules/esnext.string.at');
|
|
3
|
+
// TODO: disabled by default because of the conflict with another proposal
|
|
4
|
+
// require('../../modules/esnext.string.at-alternative');
|
|
3
5
|
require('../../modules/esnext.string.code-points');
|
|
4
6
|
// TODO: remove from `core-js@4`
|
|
5
7
|
require('../../modules/esnext.string.match-all');
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
// TODO: remove from `core-js@4`
|
|
1
2
|
require('../../modules/esnext.string.replace-all');
|
|
2
|
-
var entryUnbind = require('../../internals/entry-unbind');
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
var parent = require('../../es/string/replace-all');
|
|
5
|
+
|
|
6
|
+
module.exports = parent;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
var parent = require('../../../es/string/virtual');
|
|
2
2
|
require('../../../modules/esnext.string.at');
|
|
3
|
+
// TODO: disabled by default because of the conflict with another proposal
|
|
4
|
+
// require('../../../modules/esnext.string.at-alternative');
|
|
3
5
|
require('../../../modules/esnext.string.code-points');
|
|
4
6
|
// TODO: remove from `core-js@4`
|
|
5
7
|
require('../../../modules/esnext.string.match-all');
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
// TODO: remove from `core-js@4`
|
|
1
2
|
require('../../../modules/esnext.string.replace-all');
|
|
2
|
-
var entryVirtual = require('../../../internals/entry-virtual');
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
var parent = require('../../../es/string/virtual/replace-all');
|
|
5
|
+
|
|
6
|
+
module.exports = parent;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require('../../modules/esnext.typed-array.at');
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require('../../modules/esnext.typed-array.filter-out');
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
var parent = require('../../es/weak-map');
|
|
2
|
+
require('../../modules/esnext.weak-map.emplace');
|
|
2
3
|
require('../../modules/esnext.weak-map.from');
|
|
3
4
|
require('../../modules/esnext.weak-map.of');
|
|
4
5
|
require('../../modules/esnext.weak-map.delete-all');
|
|
6
|
+
// TODO: remove from `core-js@4`
|
|
5
7
|
require('../../modules/esnext.weak-map.upsert');
|
|
6
8
|
|
|
7
9
|
module.exports = parent;
|
|
@@ -6,13 +6,14 @@ var arraySpeciesCreate = require('../internals/array-species-create');
|
|
|
6
6
|
|
|
7
7
|
var push = [].push;
|
|
8
8
|
|
|
9
|
-
// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation
|
|
9
|
+
// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterOut }` methods implementation
|
|
10
10
|
var createMethod = function (TYPE) {
|
|
11
11
|
var IS_MAP = TYPE == 1;
|
|
12
12
|
var IS_FILTER = TYPE == 2;
|
|
13
13
|
var IS_SOME = TYPE == 3;
|
|
14
14
|
var IS_EVERY = TYPE == 4;
|
|
15
15
|
var IS_FIND_INDEX = TYPE == 6;
|
|
16
|
+
var IS_FILTER_OUT = TYPE == 7;
|
|
16
17
|
var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
|
|
17
18
|
return function ($this, callbackfn, that, specificCreate) {
|
|
18
19
|
var O = toObject($this);
|
|
@@ -21,7 +22,7 @@ var createMethod = function (TYPE) {
|
|
|
21
22
|
var length = toLength(self.length);
|
|
22
23
|
var index = 0;
|
|
23
24
|
var create = specificCreate || arraySpeciesCreate;
|
|
24
|
-
var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
|
|
25
|
+
var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_OUT ? create($this, 0) : undefined;
|
|
25
26
|
var value, result;
|
|
26
27
|
for (;length > index; index++) if (NO_HOLES || index in self) {
|
|
27
28
|
value = self[index];
|
|
@@ -33,7 +34,10 @@ var createMethod = function (TYPE) {
|
|
|
33
34
|
case 5: return value; // find
|
|
34
35
|
case 6: return index; // findIndex
|
|
35
36
|
case 2: push.call(target, value); // filter
|
|
36
|
-
} else
|
|
37
|
+
} else switch (TYPE) {
|
|
38
|
+
case 4: return false; // every
|
|
39
|
+
case 7: push.call(target, value); // filterOut
|
|
40
|
+
}
|
|
37
41
|
}
|
|
38
42
|
}
|
|
39
43
|
return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
|
|
@@ -61,5 +65,8 @@ module.exports = {
|
|
|
61
65
|
find: createMethod(5),
|
|
62
66
|
// `Array.prototype.findIndex` method
|
|
63
67
|
// https://tc39.github.io/ecma262/#sec-array.prototype.findIndex
|
|
64
|
-
findIndex: createMethod(6)
|
|
68
|
+
findIndex: createMethod(6),
|
|
69
|
+
// `Array.prototype.filterOut` method
|
|
70
|
+
// https://github.com/tc39/proposal-array-filtering
|
|
71
|
+
filterOut: createMethod(7)
|
|
65
72
|
};
|
|
@@ -9,7 +9,8 @@ var min = Math.min;
|
|
|
9
9
|
var nativeLastIndexOf = [].lastIndexOf;
|
|
10
10
|
var NEGATIVE_ZERO = !!nativeLastIndexOf && 1 / [1].lastIndexOf(1, -0) < 0;
|
|
11
11
|
var STRICT_METHOD = arrayMethodIsStrict('lastIndexOf');
|
|
12
|
-
|
|
12
|
+
// For preventing possible almost infinite loop in non-standard implementations, test the forward version of the method
|
|
13
|
+
var USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });
|
|
13
14
|
var FORCED = NEGATIVE_ZERO || !STRICT_METHOD || !USES_TO_LENGTH;
|
|
14
15
|
|
|
15
16
|
// `Array.prototype.lastIndexOf` method implementation
|
|
@@ -3,28 +3,25 @@ var fails = require('../internals/fails');
|
|
|
3
3
|
var has = require('../internals/has');
|
|
4
4
|
|
|
5
5
|
var defineProperty = Object.defineProperty;
|
|
6
|
+
var cache = {};
|
|
6
7
|
|
|
7
8
|
var thrower = function (it) { throw it; };
|
|
8
9
|
|
|
9
10
|
module.exports = function (METHOD_NAME, options) {
|
|
11
|
+
if (has(cache, METHOD_NAME)) return cache[METHOD_NAME];
|
|
10
12
|
if (!options) options = {};
|
|
11
13
|
var method = [][METHOD_NAME];
|
|
12
14
|
var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false;
|
|
13
15
|
var argument0 = has(options, 0) ? options[0] : thrower;
|
|
14
16
|
var argument1 = has(options, 1) ? options[1] : undefined;
|
|
15
17
|
|
|
16
|
-
return !!method && !fails(function () {
|
|
18
|
+
return cache[METHOD_NAME] = !!method && !fails(function () {
|
|
17
19
|
if (ACCESSORS && !DESCRIPTORS) return true;
|
|
18
20
|
var O = { length: -1 };
|
|
19
21
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
else O[key] = 1;
|
|
23
|
-
};
|
|
22
|
+
if (ACCESSORS) defineProperty(O, 1, { enumerable: true, get: thrower });
|
|
23
|
+
else O[1] = 1;
|
|
24
24
|
|
|
25
|
-
addTrap(1);
|
|
26
|
-
addTrap(2147483646);
|
|
27
|
-
addTrap(4294967294);
|
|
28
25
|
method.call(O, argument0, argument1);
|
|
29
26
|
});
|
|
30
27
|
};
|