core-js 3.17.2 → 3.18.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.
- package/configurator.js +7 -3
- package/es/promise/all-settled.js +2 -1
- package/es/promise/any.js +2 -1
- package/features/array/from-async.js +8 -0
- package/features/array/index.js +2 -0
- package/features/index.js +2 -0
- package/features/map/from.js +2 -1
- package/features/map/group-by.js +2 -1
- package/features/map/key-by.js +2 -1
- package/features/map/of.js +2 -1
- package/features/promise/try.js +2 -1
- package/features/set/from.js +2 -1
- package/features/set/of.js +2 -1
- package/features/typed-array/from-async.js +1 -0
- package/features/typed-array/index.js +2 -0
- package/features/typed-array/methods.js +2 -0
- package/features/weak-map/from.js +2 -1
- package/features/weak-map/of.js +2 -1
- package/features/weak-set/from.js +2 -1
- package/features/weak-set/of.js +2 -1
- package/internals/a-callable.js +8 -0
- package/internals/a-constructor.js +8 -0
- package/internals/a-possible-prototype.js +4 -5
- package/internals/an-instance.js +2 -3
- package/internals/an-object.js +4 -4
- package/internals/array-buffer-view-core.js +13 -12
- package/internals/array-buffer.js +9 -3
- package/internals/array-copy-within.js +2 -2
- package/internals/array-fill.js +2 -2
- package/internals/array-from-async.js +36 -0
- package/internals/array-from.js +8 -7
- package/internals/array-group-by.js +2 -2
- package/internals/array-includes.js +2 -2
- package/internals/array-iteration-from-last.js +2 -2
- package/internals/array-iteration.js +2 -2
- package/internals/array-last-index-of.js +4 -4
- package/internals/array-reduce.js +4 -4
- package/internals/array-species-constructor.js +3 -2
- package/internals/array-unique-by.js +5 -5
- package/internals/async-from-sync-iterator.js +4 -4
- package/internals/async-iterator-create-proxy.js +7 -6
- package/internals/async-iterator-iteration.js +27 -15
- package/internals/async-iterator-prototype.js +16 -16
- package/internals/classof.js +2 -1
- package/internals/collection-add-all.js +2 -2
- package/internals/collection-delete-all.js +2 -2
- package/internals/collection-from.js +4 -3
- package/internals/collection-weak.js +3 -3
- package/internals/collection.js +2 -1
- package/internals/copy-constructor-properties.js +2 -2
- package/internals/define-iterator.js +21 -13
- package/internals/define-well-known-symbol.js +2 -2
- package/internals/dom-token-list-prototype.js +7 -0
- package/internals/export.js +1 -0
- package/internals/flatten-into-array.js +4 -3
- package/internals/function-bind-context.js +2 -2
- package/internals/function-bind.js +2 -2
- package/internals/function-name.js +17 -0
- package/internals/get-async-iterator.js +2 -5
- package/internals/get-built-in.js +3 -2
- package/internals/get-iterator-method.js +3 -2
- package/internals/get-iterator.js +5 -5
- package/internals/get-method.js +4 -3
- package/internals/{has.js → has-own-property.js} +2 -0
- package/internals/inherit-if-required.js +2 -1
- package/internals/inspect-source.js +2 -1
- package/internals/install-error-cause.js +10 -0
- package/internals/internal-metadata.js +4 -4
- package/internals/internal-state.js +4 -4
- package/internals/is-array.js +2 -2
- package/internals/is-callable.js +5 -0
- package/internals/is-constructor.js +41 -0
- package/internals/is-data-descriptor.js +2 -2
- package/internals/is-forced.js +2 -1
- package/internals/is-integral-number.js +10 -0
- package/internals/is-object.js +3 -1
- package/internals/is-symbol.js +2 -1
- package/internals/iterate.js +3 -3
- package/internals/iterator-close.js +3 -2
- package/internals/iterator-create-proxy.js +10 -9
- package/internals/iterators-core.js +8 -6
- package/internals/length-of-array-like.js +7 -0
- package/internals/map-upsert.js +4 -3
- package/internals/native-weak-map.js +2 -1
- package/internals/new-promise-capability.js +3 -3
- package/internals/number-parse-float.js +6 -1
- package/internals/number-parse-int.js +6 -1
- package/internals/object-get-own-property-descriptor.js +2 -2
- package/internals/object-get-prototype-of.js +8 -6
- package/internals/object-iterator.js +2 -2
- package/internals/object-keys-internal.js +3 -3
- package/internals/ordinary-to-primitive.js +4 -3
- package/internals/redefine.js +12 -6
- package/internals/regexp-exec-abstract.js +8 -13
- package/internals/regexp-unsupported-dot-all.js +1 -1
- package/internals/regexp-unsupported-ncg.js +1 -1
- package/internals/set-to-string-tag.js +2 -2
- package/internals/shared.js +1 -1
- package/internals/species-constructor.js +2 -2
- package/internals/string-multibyte.js +2 -3
- package/internals/string-pad-webkit-bug.js +0 -1
- package/internals/string-pad.js +1 -1
- package/internals/string-repeat.js +2 -2
- package/internals/string-trim-forced.js +4 -1
- package/internals/task.js +3 -2
- package/internals/to-absolute-index.js +2 -2
- package/internals/to-index.js +2 -2
- package/internals/to-integer-or-infinity.js +10 -0
- package/internals/to-length.js +2 -2
- package/internals/to-positive-integer.js +2 -2
- package/internals/to-primitive.js +3 -2
- package/internals/to-string.js +2 -2
- package/internals/try-to-string.js +7 -0
- package/internals/typed-array-constructor.js +8 -8
- package/internals/typed-array-from.js +6 -4
- package/internals/well-known-symbol.js +3 -3
- package/modules/es.aggregate-error.js +5 -2
- package/modules/es.array.at.js +4 -4
- package/modules/es.array.concat.js +2 -2
- package/modules/es.array.flat-map.js +4 -4
- package/modules/es.array.flat.js +4 -4
- package/modules/es.array.of.js +2 -1
- package/modules/es.array.slice.js +5 -4
- package/modules/es.array.sort.js +4 -4
- package/modules/es.array.splice.js +4 -4
- package/modules/es.date.set-year.js +2 -2
- package/modules/es.date.to-primitive.js +2 -2
- package/modules/es.function.has-instance.js +2 -1
- package/modules/es.function.name.js +2 -1
- package/modules/es.number.constructor.js +15 -14
- package/modules/es.number.is-integer.js +2 -2
- package/modules/es.number.is-safe-integer.js +2 -2
- package/modules/es.number.to-fixed.js +2 -2
- package/modules/es.object.define-getter.js +2 -2
- package/modules/es.object.define-setter.js +2 -2
- package/modules/es.object.has-own.js +1 -1
- package/modules/es.parse-float.js +3 -3
- package/modules/es.parse-int.js +3 -3
- package/modules/es.promise.all-settled.js +2 -2
- package/modules/es.promise.any.js +2 -2
- package/modules/es.promise.finally.js +3 -2
- package/modules/es.promise.js +10 -9
- package/modules/es.reflect.apply.js +2 -2
- package/modules/es.reflect.construct.js +3 -3
- package/modules/es.regexp.constructor.js +2 -2
- package/modules/es.regexp.test.js +4 -4
- package/modules/es.regexp.to-string.js +2 -1
- package/modules/es.string.at-alternative.js +3 -4
- package/modules/es.string.ends-with.js +1 -1
- package/modules/es.string.match-all.js +6 -16
- package/modules/es.string.match.js +3 -2
- package/modules/es.string.raw.js +12 -6
- package/modules/es.string.replace-all.js +5 -3
- package/modules/es.string.replace.js +7 -5
- package/modules/es.string.search.js +3 -2
- package/modules/es.string.split.js +3 -2
- package/modules/es.string.substr.js +7 -4
- package/modules/es.string.trim-end.js +1 -1
- package/modules/es.string.trim-start.js +1 -1
- package/modules/es.symbol.description.js +4 -3
- package/modules/es.symbol.js +20 -16
- package/modules/es.typed-array.at.js +4 -4
- package/modules/es.typed-array.iterator.js +4 -4
- package/modules/es.typed-array.set.js +2 -2
- package/modules/es.typed-array.sort.js +4 -4
- package/modules/esnext.aggregate-error.js +1 -1
- package/modules/esnext.array.from-async.js +8 -0
- package/modules/esnext.array.last-index.js +2 -2
- package/modules/esnext.array.last-item.js +3 -3
- package/modules/esnext.async-iterator.constructor.js +3 -3
- package/modules/esnext.async-iterator.filter.js +2 -2
- package/modules/esnext.async-iterator.flat-map.js +3 -3
- package/modules/esnext.async-iterator.from.js +7 -9
- package/modules/esnext.async-iterator.map.js +2 -2
- package/modules/esnext.async-iterator.reduce.js +3 -3
- package/modules/esnext.async-iterator.to-array.js +1 -1
- package/modules/esnext.global-this.js +1 -1
- package/modules/esnext.iterator.constructor.js +5 -12
- package/modules/esnext.iterator.every.js +2 -2
- package/modules/esnext.iterator.filter.js +2 -2
- package/modules/esnext.iterator.find.js +2 -2
- package/modules/esnext.iterator.flat-map.js +4 -4
- package/modules/esnext.iterator.from.js +5 -7
- package/modules/esnext.iterator.map.js +2 -2
- package/modules/esnext.iterator.reduce.js +2 -2
- package/modules/esnext.iterator.some.js +2 -2
- package/modules/esnext.map.filter.js +2 -2
- package/modules/esnext.map.group-by.js +9 -7
- package/modules/esnext.map.key-by.js +3 -3
- package/modules/esnext.map.key-of.js +1 -1
- package/modules/esnext.map.map-keys.js +2 -2
- package/modules/esnext.map.map-values.js +2 -2
- package/modules/esnext.map.merge.js +2 -2
- package/modules/esnext.map.reduce.js +2 -2
- package/modules/esnext.map.update-or-insert.js +1 -1
- package/modules/esnext.map.update.js +3 -3
- package/modules/esnext.number.from-string.js +2 -2
- package/modules/esnext.observable.js +16 -14
- package/modules/esnext.promise.all-settled.js +1 -1
- package/modules/esnext.promise.any.js +1 -1
- package/modules/esnext.set.difference.js +2 -2
- package/modules/esnext.set.filter.js +2 -2
- package/modules/esnext.set.intersection.js +3 -3
- package/modules/esnext.set.is-disjoint-from.js +2 -2
- package/modules/esnext.set.is-subset-of.js +4 -3
- package/modules/esnext.set.is-superset-of.js +2 -2
- package/modules/esnext.set.map.js +2 -2
- package/modules/esnext.set.reduce.js +2 -2
- package/modules/esnext.set.symmetric-difference.js +3 -3
- package/modules/esnext.set.union.js +2 -2
- package/modules/esnext.string.match-all.js +1 -1
- package/modules/esnext.string.replace-all.js +1 -1
- package/modules/esnext.typed-array.from-async.js +26 -0
- package/modules/web.dom-collections.for-each.js +10 -3
- package/modules/web.dom-collections.iterator.js +8 -3
- package/modules/web.timers.js +2 -1
- package/modules/web.url-search-params.js +7 -6
- package/modules/web.url.js +6 -6
- package/package.json +2 -2
- package/postinstall.js +1 -1
- package/proposals/array-from-async.js +3 -0
- package/stage/1.js +1 -0
- package/internals/a-function.js +0 -5
- package/internals/is-integer.js +0 -9
- package/internals/to-integer.js +0 -8
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
// https://github.com/tc39/proposal-iterator-helpers
|
|
3
3
|
var $ = require('../internals/export');
|
|
4
|
-
var
|
|
4
|
+
var aCallable = require('../internals/a-callable');
|
|
5
5
|
var anObject = require('../internals/an-object');
|
|
6
6
|
var getBuiltIn = require('../internals/get-built-in');
|
|
7
7
|
|
|
@@ -10,10 +10,10 @@ var Promise = getBuiltIn('Promise');
|
|
|
10
10
|
$({ target: 'AsyncIterator', proto: true, real: true }, {
|
|
11
11
|
reduce: function reduce(reducer /* , initialValue */) {
|
|
12
12
|
var iterator = anObject(this);
|
|
13
|
-
var next =
|
|
13
|
+
var next = aCallable(iterator.next);
|
|
14
14
|
var noInitial = arguments.length < 2;
|
|
15
15
|
var accumulator = noInitial ? undefined : arguments[1];
|
|
16
|
-
|
|
16
|
+
aCallable(reducer);
|
|
17
17
|
|
|
18
18
|
return new Promise(function (resolve, reject) {
|
|
19
19
|
var loop = function () {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// TODO: Remove from `core-js@4`
|
|
2
|
-
require('
|
|
2
|
+
require('../modules/es.global-this');
|
|
@@ -3,21 +3,21 @@
|
|
|
3
3
|
var $ = require('../internals/export');
|
|
4
4
|
var global = require('../internals/global');
|
|
5
5
|
var anInstance = require('../internals/an-instance');
|
|
6
|
+
var isCallable = require('../internals/is-callable');
|
|
6
7
|
var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
|
|
7
8
|
var fails = require('../internals/fails');
|
|
8
|
-
var
|
|
9
|
+
var hasOwn = require('../internals/has-own-property');
|
|
9
10
|
var wellKnownSymbol = require('../internals/well-known-symbol');
|
|
10
11
|
var IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;
|
|
11
12
|
var IS_PURE = require('../internals/is-pure');
|
|
12
13
|
|
|
13
|
-
var ITERATOR = wellKnownSymbol('iterator');
|
|
14
14
|
var TO_STRING_TAG = wellKnownSymbol('toStringTag');
|
|
15
15
|
|
|
16
16
|
var NativeIterator = global.Iterator;
|
|
17
17
|
|
|
18
18
|
// FF56- have non-standard global helper `Iterator`
|
|
19
19
|
var FORCED = IS_PURE
|
|
20
|
-
||
|
|
20
|
+
|| !isCallable(NativeIterator)
|
|
21
21
|
|| NativeIterator.prototype !== IteratorPrototype
|
|
22
22
|
// FF44- non-standard `Iterator` passes previous tests
|
|
23
23
|
|| !fails(function () { NativeIterator({}); });
|
|
@@ -26,18 +26,11 @@ var IteratorConstructor = function Iterator() {
|
|
|
26
26
|
anInstance(this, IteratorConstructor);
|
|
27
27
|
};
|
|
28
28
|
|
|
29
|
-
if (
|
|
30
|
-
IteratorPrototype = {};
|
|
31
|
-
createNonEnumerableProperty(IteratorPrototype, ITERATOR, function () {
|
|
32
|
-
return this;
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
if (!has(IteratorPrototype, TO_STRING_TAG)) {
|
|
29
|
+
if (!hasOwn(IteratorPrototype, TO_STRING_TAG)) {
|
|
37
30
|
createNonEnumerableProperty(IteratorPrototype, TO_STRING_TAG, 'Iterator');
|
|
38
31
|
}
|
|
39
32
|
|
|
40
|
-
if (FORCED || !
|
|
33
|
+
if (FORCED || !hasOwn(IteratorPrototype, 'constructor') || IteratorPrototype.constructor === Object) {
|
|
41
34
|
createNonEnumerableProperty(IteratorPrototype, 'constructor', IteratorConstructor);
|
|
42
35
|
}
|
|
43
36
|
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
// https://github.com/tc39/proposal-iterator-helpers
|
|
3
3
|
var $ = require('../internals/export');
|
|
4
4
|
var iterate = require('../internals/iterate');
|
|
5
|
-
var
|
|
5
|
+
var aCallable = require('../internals/a-callable');
|
|
6
6
|
var anObject = require('../internals/an-object');
|
|
7
7
|
|
|
8
8
|
$({ target: 'Iterator', proto: true, real: true }, {
|
|
9
9
|
every: function every(fn) {
|
|
10
10
|
anObject(this);
|
|
11
|
-
|
|
11
|
+
aCallable(fn);
|
|
12
12
|
return !iterate(this, function (value, stop) {
|
|
13
13
|
if (!fn(value)) return stop();
|
|
14
14
|
}, { IS_ITERATOR: true, INTERRUPTED: true }).stopped;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
// https://github.com/tc39/proposal-iterator-helpers
|
|
3
3
|
var $ = require('../internals/export');
|
|
4
|
-
var
|
|
4
|
+
var aCallable = require('../internals/a-callable');
|
|
5
5
|
var anObject = require('../internals/an-object');
|
|
6
6
|
var createIteratorProxy = require('../internals/iterator-create-proxy');
|
|
7
7
|
var callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');
|
|
@@ -24,7 +24,7 @@ $({ target: 'Iterator', proto: true, real: true }, {
|
|
|
24
24
|
filter: function filter(filterer) {
|
|
25
25
|
return new IteratorProxy({
|
|
26
26
|
iterator: anObject(this),
|
|
27
|
-
filterer:
|
|
27
|
+
filterer: aCallable(filterer)
|
|
28
28
|
});
|
|
29
29
|
}
|
|
30
30
|
});
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
// https://github.com/tc39/proposal-iterator-helpers
|
|
3
3
|
var $ = require('../internals/export');
|
|
4
4
|
var iterate = require('../internals/iterate');
|
|
5
|
-
var
|
|
5
|
+
var aCallable = require('../internals/a-callable');
|
|
6
6
|
var anObject = require('../internals/an-object');
|
|
7
7
|
|
|
8
8
|
$({ target: 'Iterator', proto: true, real: true }, {
|
|
9
9
|
find: function find(fn) {
|
|
10
10
|
anObject(this);
|
|
11
|
-
|
|
11
|
+
aCallable(fn);
|
|
12
12
|
return iterate(this, function (value, stop) {
|
|
13
13
|
if (fn(value)) return stop(value);
|
|
14
14
|
}, { IS_ITERATOR: true, INTERRUPTED: true }).result;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
// https://github.com/tc39/proposal-iterator-helpers
|
|
3
3
|
var $ = require('../internals/export');
|
|
4
|
-
var
|
|
4
|
+
var aCallable = require('../internals/a-callable');
|
|
5
5
|
var anObject = require('../internals/an-object');
|
|
6
6
|
var getIteratorMethod = require('../internals/get-iterator-method');
|
|
7
7
|
var createIteratorProxy = require('../internals/iterator-create-proxy');
|
|
@@ -27,12 +27,12 @@ var IteratorProxy = createIteratorProxy(function () {
|
|
|
27
27
|
mapped = mapper(result.value);
|
|
28
28
|
iteratorMethod = getIteratorMethod(mapped);
|
|
29
29
|
|
|
30
|
-
if (iteratorMethod
|
|
30
|
+
if (!iteratorMethod) {
|
|
31
31
|
throw TypeError('.flatMap callback should return an iterable object');
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
this.innerIterator = innerIterator = anObject(iteratorMethod.call(mapped));
|
|
35
|
-
this.innerNext =
|
|
35
|
+
this.innerNext = aCallable(innerIterator.next);
|
|
36
36
|
} catch (error) {
|
|
37
37
|
iteratorClose(iterator, 'throw', error);
|
|
38
38
|
}
|
|
@@ -43,7 +43,7 @@ $({ target: 'Iterator', proto: true, real: true }, {
|
|
|
43
43
|
flatMap: function flatMap(mapper) {
|
|
44
44
|
return new IteratorProxy({
|
|
45
45
|
iterator: anObject(this),
|
|
46
|
-
mapper:
|
|
46
|
+
mapper: aCallable(mapper),
|
|
47
47
|
innerIterator: null,
|
|
48
48
|
innerNext: null
|
|
49
49
|
});
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
// https://github.com/tc39/proposal-iterator-helpers
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
-
var path = require('../internals/path');
|
|
4
3
|
var anObject = require('../internals/an-object');
|
|
5
4
|
var toObject = require('../internals/to-object');
|
|
5
|
+
var IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;
|
|
6
6
|
var createIteratorProxy = require('../internals/iterator-create-proxy');
|
|
7
7
|
var getIterator = require('../internals/get-iterator');
|
|
8
8
|
var getIteratorMethod = require('../internals/get-iterator-method');
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var isPrototypeOf = {}.isPrototypeOf;
|
|
11
11
|
|
|
12
12
|
var IteratorProxy = createIteratorProxy(function (args) {
|
|
13
13
|
var result = anObject(this.next.apply(this.iterator, args));
|
|
@@ -20,13 +20,11 @@ $({ target: 'Iterator', stat: true }, {
|
|
|
20
20
|
var object = toObject(O);
|
|
21
21
|
var usingIterator = getIteratorMethod(object);
|
|
22
22
|
var iterator;
|
|
23
|
-
if (usingIterator
|
|
23
|
+
if (usingIterator) {
|
|
24
24
|
iterator = getIterator(object, usingIterator);
|
|
25
|
-
if (iterator
|
|
25
|
+
if (isPrototypeOf.call(IteratorPrototype, iterator)) return iterator;
|
|
26
26
|
} else {
|
|
27
27
|
iterator = object;
|
|
28
|
-
} return new IteratorProxy({
|
|
29
|
-
iterator: iterator
|
|
30
|
-
});
|
|
28
|
+
} return new IteratorProxy({ iterator: iterator });
|
|
31
29
|
}
|
|
32
30
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
// https://github.com/tc39/proposal-iterator-helpers
|
|
3
3
|
var $ = require('../internals/export');
|
|
4
|
-
var
|
|
4
|
+
var aCallable = require('../internals/a-callable');
|
|
5
5
|
var anObject = require('../internals/an-object');
|
|
6
6
|
var createIteratorProxy = require('../internals/iterator-create-proxy');
|
|
7
7
|
var callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');
|
|
@@ -17,7 +17,7 @@ $({ target: 'Iterator', proto: true, real: true }, {
|
|
|
17
17
|
map: function map(mapper) {
|
|
18
18
|
return new IteratorProxy({
|
|
19
19
|
iterator: anObject(this),
|
|
20
|
-
mapper:
|
|
20
|
+
mapper: aCallable(mapper)
|
|
21
21
|
});
|
|
22
22
|
}
|
|
23
23
|
});
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
// https://github.com/tc39/proposal-iterator-helpers
|
|
3
3
|
var $ = require('../internals/export');
|
|
4
4
|
var iterate = require('../internals/iterate');
|
|
5
|
-
var
|
|
5
|
+
var aCallable = require('../internals/a-callable');
|
|
6
6
|
var anObject = require('../internals/an-object');
|
|
7
7
|
|
|
8
8
|
$({ target: 'Iterator', proto: true, real: true }, {
|
|
9
9
|
reduce: function reduce(reducer /* , initialValue */) {
|
|
10
10
|
anObject(this);
|
|
11
|
-
|
|
11
|
+
aCallable(reducer);
|
|
12
12
|
var noInitial = arguments.length < 2;
|
|
13
13
|
var accumulator = noInitial ? undefined : arguments[1];
|
|
14
14
|
iterate(this, function (value) {
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
// https://github.com/tc39/proposal-iterator-helpers
|
|
3
3
|
var $ = require('../internals/export');
|
|
4
4
|
var iterate = require('../internals/iterate');
|
|
5
|
-
var
|
|
5
|
+
var aCallable = require('../internals/a-callable');
|
|
6
6
|
var anObject = require('../internals/an-object');
|
|
7
7
|
|
|
8
8
|
$({ target: 'Iterator', proto: true, real: true }, {
|
|
9
9
|
some: function some(fn) {
|
|
10
10
|
anObject(this);
|
|
11
|
-
|
|
11
|
+
aCallable(fn);
|
|
12
12
|
return iterate(this, function (value, stop) {
|
|
13
13
|
if (fn(value)) return stop();
|
|
14
14
|
}, { IS_ITERATOR: true, INTERRUPTED: true }).stopped;
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
3
|
var IS_PURE = require('../internals/is-pure');
|
|
4
4
|
var getBuiltIn = require('../internals/get-built-in');
|
|
5
|
+
var aCallable = require('../internals/a-callable');
|
|
5
6
|
var anObject = require('../internals/an-object');
|
|
6
|
-
var aFunction = require('../internals/a-function');
|
|
7
7
|
var bind = require('../internals/function-bind-context');
|
|
8
8
|
var speciesConstructor = require('../internals/species-constructor');
|
|
9
9
|
var getMapIterator = require('../internals/get-map-iterator');
|
|
@@ -17,7 +17,7 @@ $({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {
|
|
|
17
17
|
var iterator = getMapIterator(map);
|
|
18
18
|
var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
|
|
19
19
|
var newMap = new (speciesConstructor(map, getBuiltIn('Map')))();
|
|
20
|
-
var setter =
|
|
20
|
+
var setter = aCallable(newMap.set);
|
|
21
21
|
iterate(iterator, function (key, value) {
|
|
22
22
|
if (boundFunction(value, key, map)) setter.call(newMap, key, value);
|
|
23
23
|
}, { AS_ENTRIES: true, IS_ITERATOR: true });
|
|
@@ -1,22 +1,24 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
+
var aCallable = require('../internals/a-callable');
|
|
4
|
+
var getIterator = require('../internals/get-iterator');
|
|
3
5
|
var iterate = require('../internals/iterate');
|
|
4
|
-
var aFunction = require('../internals/a-function');
|
|
5
6
|
|
|
6
7
|
// `Map.groupBy` method
|
|
7
8
|
// https://github.com/tc39/proposal-collection-methods
|
|
8
9
|
$({ target: 'Map', stat: true }, {
|
|
9
10
|
groupBy: function groupBy(iterable, keyDerivative) {
|
|
11
|
+
aCallable(keyDerivative);
|
|
12
|
+
var iterator = getIterator(iterable);
|
|
10
13
|
var newMap = new this();
|
|
11
|
-
|
|
12
|
-
var
|
|
13
|
-
var
|
|
14
|
-
|
|
15
|
-
iterate(iterable, function (element) {
|
|
14
|
+
var has = aCallable(newMap.has);
|
|
15
|
+
var get = aCallable(newMap.get);
|
|
16
|
+
var set = aCallable(newMap.set);
|
|
17
|
+
iterate(iterator, function (element) {
|
|
16
18
|
var derivedKey = keyDerivative(element);
|
|
17
19
|
if (!has.call(newMap, derivedKey)) set.call(newMap, derivedKey, [element]);
|
|
18
20
|
else get.call(newMap, derivedKey).push(element);
|
|
19
|
-
});
|
|
21
|
+
}, { IS_ITERATOR: true });
|
|
20
22
|
return newMap;
|
|
21
23
|
}
|
|
22
24
|
});
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
3
|
var iterate = require('../internals/iterate');
|
|
4
|
-
var
|
|
4
|
+
var aCallable = require('../internals/a-callable');
|
|
5
5
|
|
|
6
6
|
// `Map.keyBy` method
|
|
7
7
|
// https://github.com/tc39/proposal-collection-methods
|
|
8
8
|
$({ target: 'Map', stat: true }, {
|
|
9
9
|
keyBy: function keyBy(iterable, keyDerivative) {
|
|
10
10
|
var newMap = new this();
|
|
11
|
-
|
|
12
|
-
var setter =
|
|
11
|
+
aCallable(keyDerivative);
|
|
12
|
+
var setter = aCallable(newMap.set);
|
|
13
13
|
iterate(iterable, function (element) {
|
|
14
14
|
setter.call(newMap, keyDerivative(element), element);
|
|
15
15
|
});
|
|
@@ -5,7 +5,7 @@ var anObject = require('../internals/an-object');
|
|
|
5
5
|
var getMapIterator = require('../internals/get-map-iterator');
|
|
6
6
|
var iterate = require('../internals/iterate');
|
|
7
7
|
|
|
8
|
-
// `Map.prototype.
|
|
8
|
+
// `Map.prototype.keyOf` method
|
|
9
9
|
// https://github.com/tc39/proposal-collection-methods
|
|
10
10
|
$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {
|
|
11
11
|
keyOf: function keyOf(searchElement) {
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
3
|
var IS_PURE = require('../internals/is-pure');
|
|
4
4
|
var getBuiltIn = require('../internals/get-built-in');
|
|
5
|
+
var aCallable = require('../internals/a-callable');
|
|
5
6
|
var anObject = require('../internals/an-object');
|
|
6
|
-
var aFunction = require('../internals/a-function');
|
|
7
7
|
var bind = require('../internals/function-bind-context');
|
|
8
8
|
var speciesConstructor = require('../internals/species-constructor');
|
|
9
9
|
var getMapIterator = require('../internals/get-map-iterator');
|
|
@@ -17,7 +17,7 @@ $({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {
|
|
|
17
17
|
var iterator = getMapIterator(map);
|
|
18
18
|
var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
|
|
19
19
|
var newMap = new (speciesConstructor(map, getBuiltIn('Map')))();
|
|
20
|
-
var setter =
|
|
20
|
+
var setter = aCallable(newMap.set);
|
|
21
21
|
iterate(iterator, function (key, value) {
|
|
22
22
|
setter.call(newMap, boundFunction(value, key, map), value);
|
|
23
23
|
}, { AS_ENTRIES: true, IS_ITERATOR: true });
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
3
|
var IS_PURE = require('../internals/is-pure');
|
|
4
4
|
var getBuiltIn = require('../internals/get-built-in');
|
|
5
|
+
var aCallable = require('../internals/a-callable');
|
|
5
6
|
var anObject = require('../internals/an-object');
|
|
6
|
-
var aFunction = require('../internals/a-function');
|
|
7
7
|
var bind = require('../internals/function-bind-context');
|
|
8
8
|
var speciesConstructor = require('../internals/species-constructor');
|
|
9
9
|
var getMapIterator = require('../internals/get-map-iterator');
|
|
@@ -17,7 +17,7 @@ $({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {
|
|
|
17
17
|
var iterator = getMapIterator(map);
|
|
18
18
|
var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
|
|
19
19
|
var newMap = new (speciesConstructor(map, getBuiltIn('Map')))();
|
|
20
|
-
var setter =
|
|
20
|
+
var setter = aCallable(newMap.set);
|
|
21
21
|
iterate(iterator, function (key, value) {
|
|
22
22
|
setter.call(newMap, key, boundFunction(value, key, map));
|
|
23
23
|
}, { AS_ENTRIES: true, IS_ITERATOR: true });
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
3
|
var IS_PURE = require('../internals/is-pure');
|
|
4
|
+
var aCallable = require('../internals/a-callable');
|
|
4
5
|
var anObject = require('../internals/an-object');
|
|
5
|
-
var aFunction = require('../internals/a-function');
|
|
6
6
|
var iterate = require('../internals/iterate');
|
|
7
7
|
|
|
8
8
|
// `Map.prototype.merge` method
|
|
@@ -11,7 +11,7 @@ $({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {
|
|
|
11
11
|
// eslint-disable-next-line no-unused-vars -- required for `.length`
|
|
12
12
|
merge: function merge(iterable /* ...iterbles */) {
|
|
13
13
|
var map = anObject(this);
|
|
14
|
-
var setter =
|
|
14
|
+
var setter = aCallable(map.set);
|
|
15
15
|
var argumentsLength = arguments.length;
|
|
16
16
|
var i = 0;
|
|
17
17
|
while (i < argumentsLength) {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
3
|
var IS_PURE = require('../internals/is-pure');
|
|
4
4
|
var anObject = require('../internals/an-object');
|
|
5
|
-
var
|
|
5
|
+
var aCallable = require('../internals/a-callable');
|
|
6
6
|
var getMapIterator = require('../internals/get-map-iterator');
|
|
7
7
|
var iterate = require('../internals/iterate');
|
|
8
8
|
|
|
@@ -14,7 +14,7 @@ $({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {
|
|
|
14
14
|
var iterator = getMapIterator(map);
|
|
15
15
|
var noInitial = arguments.length < 2;
|
|
16
16
|
var accumulator = noInitial ? undefined : arguments[1];
|
|
17
|
-
|
|
17
|
+
aCallable(callbackfn);
|
|
18
18
|
iterate(iterator, function (key, value) {
|
|
19
19
|
if (noInitial) {
|
|
20
20
|
noInitial = false;
|
|
@@ -6,6 +6,6 @@ var $upsert = require('../internals/map-upsert');
|
|
|
6
6
|
|
|
7
7
|
// `Map.prototype.updateOrInsert` method (replaced by `Map.prototype.emplace`)
|
|
8
8
|
// https://github.com/thumbsupep/proposal-upsert
|
|
9
|
-
$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {
|
|
9
|
+
$({ target: 'Map', proto: true, real: true, name: 'upsert', forced: IS_PURE }, {
|
|
10
10
|
updateOrInsert: $upsert
|
|
11
11
|
});
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
3
|
var IS_PURE = require('../internals/is-pure');
|
|
4
4
|
var anObject = require('../internals/an-object');
|
|
5
|
-
var
|
|
5
|
+
var aCallable = require('../internals/a-callable');
|
|
6
6
|
|
|
7
7
|
// `Set.prototype.update` method
|
|
8
8
|
// https://github.com/tc39/proposal-collection-methods
|
|
@@ -10,12 +10,12 @@ $({ target: 'Map', proto: true, real: true, forced: IS_PURE }, {
|
|
|
10
10
|
update: function update(key, callback /* , thunk */) {
|
|
11
11
|
var map = anObject(this);
|
|
12
12
|
var length = arguments.length;
|
|
13
|
-
|
|
13
|
+
aCallable(callback);
|
|
14
14
|
var isPresentInMap = map.has(key);
|
|
15
15
|
if (!isPresentInMap && length < 3) {
|
|
16
16
|
throw TypeError('Updating absent value');
|
|
17
17
|
}
|
|
18
|
-
var value = isPresentInMap ? map.get(key) :
|
|
18
|
+
var value = isPresentInMap ? map.get(key) : aCallable(length > 2 ? arguments[2] : undefined)(key, map);
|
|
19
19
|
map.set(key, callback(value, key, map));
|
|
20
20
|
return map;
|
|
21
21
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
-
var
|
|
3
|
+
var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');
|
|
4
4
|
var parseInt = require('../internals/number-parse-int');
|
|
5
5
|
|
|
6
6
|
var INVALID_NUMBER_REPRESENTATION = 'Invalid number representation';
|
|
@@ -20,7 +20,7 @@ $({ target: 'Number', stat: true }, {
|
|
|
20
20
|
string = string.slice(1);
|
|
21
21
|
if (!string.length) throw SyntaxError(INVALID_NUMBER_REPRESENTATION);
|
|
22
22
|
}
|
|
23
|
-
R = radix === undefined ? 10 :
|
|
23
|
+
R = radix === undefined ? 10 : toIntegerOrInfinity(radix);
|
|
24
24
|
if (R < 2 || R > 36) throw RangeError(INVALID_RADIX);
|
|
25
25
|
if (!valid.test(string) || (mathNum = parseInt(string, R)).toString(R) !== string) {
|
|
26
26
|
throw SyntaxError(INVALID_NUMBER_REPRESENTATION);
|
|
@@ -3,12 +3,14 @@
|
|
|
3
3
|
var $ = require('../internals/export');
|
|
4
4
|
var DESCRIPTORS = require('../internals/descriptors');
|
|
5
5
|
var setSpecies = require('../internals/set-species');
|
|
6
|
-
var
|
|
6
|
+
var aCallable = require('../internals/a-callable');
|
|
7
|
+
var isCallable = require('../internals/is-callable');
|
|
8
|
+
var isConstructor = require('../internals/is-constructor');
|
|
7
9
|
var anObject = require('../internals/an-object');
|
|
8
10
|
var isObject = require('../internals/is-object');
|
|
9
11
|
var anInstance = require('../internals/an-instance');
|
|
10
12
|
var defineProperty = require('../internals/object-define-property').f;
|
|
11
|
-
var
|
|
13
|
+
var redefine = require('../internals/redefine');
|
|
12
14
|
var redefineAll = require('../internals/redefine-all');
|
|
13
15
|
var getIterator = require('../internals/get-iterator');
|
|
14
16
|
var getMethod = require('../internals/get-method');
|
|
@@ -55,7 +57,7 @@ var Subscription = function (observer, subscriber) {
|
|
|
55
57
|
var start;
|
|
56
58
|
if (!DESCRIPTORS) this.closed = false;
|
|
57
59
|
try {
|
|
58
|
-
if (start = getMethod(observer
|
|
60
|
+
if (start = getMethod(observer, 'start')) start.call(observer, this);
|
|
59
61
|
} catch (error) {
|
|
60
62
|
hostReportErrors(error);
|
|
61
63
|
}
|
|
@@ -64,9 +66,9 @@ var Subscription = function (observer, subscriber) {
|
|
|
64
66
|
try {
|
|
65
67
|
var cleanup = subscriber(subscriptionObserver);
|
|
66
68
|
var subscription = cleanup;
|
|
67
|
-
if (cleanup != null) subscriptionState.cleanup =
|
|
69
|
+
if (cleanup != null) subscriptionState.cleanup = isCallable(cleanup.unsubscribe)
|
|
68
70
|
? function () { subscription.unsubscribe(); }
|
|
69
|
-
:
|
|
71
|
+
: aCallable(cleanup);
|
|
70
72
|
} catch (error) {
|
|
71
73
|
subscriptionObserver.error(error);
|
|
72
74
|
return;
|
|
@@ -101,7 +103,7 @@ SubscriptionObserver.prototype = redefineAll({}, {
|
|
|
101
103
|
if (!subscriptionClosed(subscriptionState)) {
|
|
102
104
|
var observer = subscriptionState.observer;
|
|
103
105
|
try {
|
|
104
|
-
var nextMethod = getMethod(observer
|
|
106
|
+
var nextMethod = getMethod(observer, 'next');
|
|
105
107
|
if (nextMethod) nextMethod.call(observer, value);
|
|
106
108
|
} catch (error) {
|
|
107
109
|
hostReportErrors(error);
|
|
@@ -114,7 +116,7 @@ SubscriptionObserver.prototype = redefineAll({}, {
|
|
|
114
116
|
var observer = subscriptionState.observer;
|
|
115
117
|
close(subscriptionState);
|
|
116
118
|
try {
|
|
117
|
-
var errorMethod = getMethod(observer
|
|
119
|
+
var errorMethod = getMethod(observer, 'error');
|
|
118
120
|
if (errorMethod) errorMethod.call(observer, value);
|
|
119
121
|
else hostReportErrors(value);
|
|
120
122
|
} catch (err) {
|
|
@@ -128,7 +130,7 @@ SubscriptionObserver.prototype = redefineAll({}, {
|
|
|
128
130
|
var observer = subscriptionState.observer;
|
|
129
131
|
close(subscriptionState);
|
|
130
132
|
try {
|
|
131
|
-
var completeMethod = getMethod(observer
|
|
133
|
+
var completeMethod = getMethod(observer, 'complete');
|
|
132
134
|
if (completeMethod) completeMethod.call(observer);
|
|
133
135
|
} catch (error) {
|
|
134
136
|
hostReportErrors(error);
|
|
@@ -146,13 +148,13 @@ if (DESCRIPTORS) defineProperty(SubscriptionObserver.prototype, 'closed', {
|
|
|
146
148
|
|
|
147
149
|
var $Observable = function Observable(subscriber) {
|
|
148
150
|
anInstance(this, $Observable, 'Observable');
|
|
149
|
-
setInternalState(this, { subscriber:
|
|
151
|
+
setInternalState(this, { subscriber: aCallable(subscriber) });
|
|
150
152
|
};
|
|
151
153
|
|
|
152
154
|
redefineAll($Observable.prototype, {
|
|
153
155
|
subscribe: function subscribe(observer) {
|
|
154
156
|
var length = arguments.length;
|
|
155
|
-
return new Subscription(
|
|
157
|
+
return new Subscription(isCallable(observer) ? {
|
|
156
158
|
next: observer,
|
|
157
159
|
error: length > 1 ? arguments[1] : undefined,
|
|
158
160
|
complete: length > 2 ? arguments[2] : undefined
|
|
@@ -162,8 +164,8 @@ redefineAll($Observable.prototype, {
|
|
|
162
164
|
|
|
163
165
|
redefineAll($Observable, {
|
|
164
166
|
from: function from(x) {
|
|
165
|
-
var C =
|
|
166
|
-
var observableMethod = getMethod(anObject(x)
|
|
167
|
+
var C = isConstructor(this) ? this : $Observable;
|
|
168
|
+
var observableMethod = getMethod(anObject(x), OBSERVABLE);
|
|
167
169
|
if (observableMethod) {
|
|
168
170
|
var observable = anObject(observableMethod.call(x));
|
|
169
171
|
return observable.constructor === C ? observable : new C(function (observer) {
|
|
@@ -180,7 +182,7 @@ redefineAll($Observable, {
|
|
|
180
182
|
});
|
|
181
183
|
},
|
|
182
184
|
of: function of() {
|
|
183
|
-
var C =
|
|
185
|
+
var C = isConstructor(this) ? this : $Observable;
|
|
184
186
|
var length = arguments.length;
|
|
185
187
|
var items = new Array(length);
|
|
186
188
|
var index = 0;
|
|
@@ -194,7 +196,7 @@ redefineAll($Observable, {
|
|
|
194
196
|
}
|
|
195
197
|
});
|
|
196
198
|
|
|
197
|
-
|
|
199
|
+
redefine($Observable.prototype, OBSERVABLE, function () { return this; });
|
|
198
200
|
|
|
199
201
|
$({ global: true }, {
|
|
200
202
|
Observable: $Observable
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// TODO: Remove from `core-js@4`
|
|
2
|
-
require('
|
|
2
|
+
require('../modules/es.promise.all-settled.js');
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// TODO: Remove from `core-js@4`
|
|
2
|
-
require('
|
|
2
|
+
require('../modules/es.promise.any');
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
3
|
var IS_PURE = require('../internals/is-pure');
|
|
4
4
|
var getBuiltIn = require('../internals/get-built-in');
|
|
5
|
+
var aCallable = require('../internals/a-callable');
|
|
5
6
|
var anObject = require('../internals/an-object');
|
|
6
|
-
var aFunction = require('../internals/a-function');
|
|
7
7
|
var speciesConstructor = require('../internals/species-constructor');
|
|
8
8
|
var iterate = require('../internals/iterate');
|
|
9
9
|
|
|
@@ -13,7 +13,7 @@ $({ target: 'Set', proto: true, real: true, forced: IS_PURE }, {
|
|
|
13
13
|
difference: function difference(iterable) {
|
|
14
14
|
var set = anObject(this);
|
|
15
15
|
var newSet = new (speciesConstructor(set, getBuiltIn('Set')))(set);
|
|
16
|
-
var remover =
|
|
16
|
+
var remover = aCallable(newSet['delete']);
|
|
17
17
|
iterate(iterable, function (value) {
|
|
18
18
|
remover.call(newSet, value);
|
|
19
19
|
});
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
3
|
var IS_PURE = require('../internals/is-pure');
|
|
4
4
|
var getBuiltIn = require('../internals/get-built-in');
|
|
5
|
+
var aCallable = require('../internals/a-callable');
|
|
5
6
|
var anObject = require('../internals/an-object');
|
|
6
|
-
var aFunction = require('../internals/a-function');
|
|
7
7
|
var bind = require('../internals/function-bind-context');
|
|
8
8
|
var speciesConstructor = require('../internals/species-constructor');
|
|
9
9
|
var getSetIterator = require('../internals/get-set-iterator');
|
|
@@ -17,7 +17,7 @@ $({ target: 'Set', proto: true, real: true, forced: IS_PURE }, {
|
|
|
17
17
|
var iterator = getSetIterator(set);
|
|
18
18
|
var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
|
|
19
19
|
var newSet = new (speciesConstructor(set, getBuiltIn('Set')))();
|
|
20
|
-
var adder =
|
|
20
|
+
var adder = aCallable(newSet.add);
|
|
21
21
|
iterate(iterator, function (value) {
|
|
22
22
|
if (boundFunction(value, value, set)) adder.call(newSet, value);
|
|
23
23
|
}, { IS_ITERATOR: true });
|