core-js 3.26.0 → 3.27.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/actual/async-iterator/drop.js +8 -0
- package/actual/async-iterator/every.js +8 -0
- package/actual/async-iterator/filter.js +8 -0
- package/actual/async-iterator/find.js +8 -0
- package/actual/async-iterator/flat-map.js +8 -0
- package/actual/async-iterator/for-each.js +8 -0
- package/actual/async-iterator/from.js +11 -0
- package/actual/async-iterator/index.js +22 -0
- package/actual/async-iterator/map.js +8 -0
- package/actual/async-iterator/reduce.js +8 -0
- package/actual/async-iterator/some.js +8 -0
- package/actual/async-iterator/take.js +8 -0
- package/actual/async-iterator/to-array.js +8 -0
- package/actual/disposable-stack/constructor.js +7 -0
- package/actual/disposable-stack/index.js +7 -0
- package/actual/instance/is-well-formed.js +10 -0
- package/actual/instance/to-well-formed.js +10 -0
- package/actual/iterator/dispose.js +1 -0
- package/actual/iterator/drop.js +7 -0
- package/actual/iterator/every.js +7 -0
- package/actual/iterator/filter.js +7 -0
- package/actual/iterator/find.js +7 -0
- package/actual/iterator/flat-map.js +7 -0
- package/actual/iterator/for-each.js +7 -0
- package/actual/iterator/from.js +10 -0
- package/actual/iterator/index.js +24 -0
- package/actual/iterator/map.js +7 -0
- package/actual/iterator/reduce.js +7 -0
- package/actual/iterator/some.js +7 -0
- package/actual/iterator/take.js +7 -0
- package/actual/iterator/to-array.js +7 -0
- package/actual/iterator/to-async.js +8 -0
- package/actual/set/difference.js +5 -0
- package/actual/set/index.js +7 -0
- package/actual/set/intersection.js +5 -0
- package/actual/set/is-disjoint-from.js +5 -0
- package/actual/set/is-subset-of.js +5 -0
- package/actual/set/is-superset-of.js +5 -0
- package/actual/set/symmetric-difference.js +5 -0
- package/actual/set/union.js +5 -0
- package/actual/string/index.js +3 -0
- package/actual/string/is-well-formed.js +3 -0
- package/actual/string/to-well-formed.js +3 -0
- package/actual/string/virtual/index.js +3 -0
- package/actual/string/virtual/is-well-formed.js +3 -0
- package/actual/string/virtual/to-well-formed.js +3 -0
- package/actual/suppressed-error.js +5 -0
- package/actual/symbol/dispose.js +4 -0
- package/actual/symbol/index.js +2 -0
- package/es/number/constructor.js +2 -1
- package/features/async-disposable-stack/constructor.js +1 -0
- package/features/async-disposable-stack/index.js +1 -0
- package/features/async-iterator/async-dispose.js +1 -0
- package/features/disposable-stack/constructor.js +1 -0
- package/features/disposable-stack/index.js +1 -0
- package/features/iterator/dispose.js +1 -0
- package/features/string/dedent.js +1 -0
- package/features/suppressed-error.js +1 -0
- package/full/async-disposable-stack/constructor.js +8 -0
- package/full/async-disposable-stack/index.js +8 -0
- package/full/async-iterator/async-dispose.js +3 -0
- package/full/async-iterator/drop.js +2 -7
- package/full/async-iterator/every.js +2 -7
- package/full/async-iterator/filter.js +2 -7
- package/full/async-iterator/find.js +2 -7
- package/full/async-iterator/flat-map.js +2 -7
- package/full/async-iterator/for-each.js +2 -7
- package/full/async-iterator/from.js +2 -10
- package/full/async-iterator/index.js +3 -21
- package/full/async-iterator/indexed.js +1 -0
- package/full/async-iterator/map.js +2 -7
- package/full/async-iterator/reduce.js +2 -7
- package/full/async-iterator/some.js +2 -7
- package/full/async-iterator/take.js +2 -7
- package/full/async-iterator/to-array.js +2 -7
- package/full/disposable-stack/constructor.js +3 -0
- package/full/disposable-stack/index.js +3 -0
- package/full/index.js +13 -0
- package/full/instance/is-well-formed.js +2 -9
- package/full/instance/to-well-formed.js +2 -9
- package/full/iterator/dispose.js +3 -0
- package/full/iterator/drop.js +2 -6
- package/full/iterator/every.js +2 -6
- package/full/iterator/filter.js +2 -6
- package/full/iterator/find.js +2 -6
- package/full/iterator/flat-map.js +2 -6
- package/full/iterator/for-each.js +2 -6
- package/full/iterator/from.js +2 -9
- package/full/iterator/index.js +2 -22
- package/full/iterator/indexed.js +1 -0
- package/full/iterator/map.js +2 -6
- package/full/iterator/reduce.js +2 -6
- package/full/iterator/some.js +2 -6
- package/full/iterator/take.js +2 -6
- package/full/iterator/to-array.js +2 -6
- package/full/iterator/to-async.js +2 -7
- package/full/set/difference.js +1 -1
- package/full/set/intersection.js +1 -1
- package/full/set/is-disjoint-from.js +1 -1
- package/full/set/is-subset-of.js +1 -1
- package/full/set/is-superset-of.js +1 -1
- package/full/set/symmetric-difference.js +1 -1
- package/full/set/union.js +1 -1
- package/full/string/dedent.js +6 -0
- package/full/string/index.js +2 -3
- package/full/string/is-well-formed.js +2 -2
- package/full/string/to-well-formed.js +2 -2
- package/full/string/virtual/index.js +0 -2
- package/full/string/virtual/is-well-formed.js +2 -2
- package/full/string/virtual/to-well-formed.js +2 -2
- package/full/suppressed-error.js +3 -0
- package/full/symbol/dispose.js +2 -3
- package/full/symbol/index.js +0 -1
- package/internals/a-map.js +7 -0
- package/internals/a-set.js +7 -0
- package/internals/a-weak-map.js +7 -0
- package/internals/a-weak-set.js +7 -0
- package/internals/array-group-to-map.js +5 -6
- package/internals/array-unique-by.js +7 -9
- package/internals/async-iterator-indexed.js +7 -23
- package/internals/async-iterator-map.js +55 -0
- package/internals/caller.js +7 -0
- package/internals/classof-raw.js +3 -3
- package/internals/disposable-stack-helpers.js +40 -0
- package/internals/document-all.js +1 -0
- package/internals/engine-is-bun.js +2 -0
- package/internals/fix-regexp-well-known-symbol-logic.js +1 -1
- package/internals/function-bind-context.js +1 -1
- package/internals/function-uncurry-this-clause.js +9 -0
- package/internals/function-uncurry-this.js +9 -7
- package/internals/get-async-iterator-flattenable.js +3 -2
- package/internals/get-iterator-flattenable.js +3 -3
- package/internals/get-set-record.js +38 -0
- package/internals/iterate-simple.js +10 -0
- package/internals/iterator-indexed.js +7 -12
- package/internals/iterator-map.js +22 -0
- package/internals/map-helpers.js +14 -0
- package/internals/map-iterate.js +15 -0
- package/internals/map-upsert.js +1 -1
- package/internals/schedulers-fix.js +20 -20
- package/internals/set-clone.js +13 -0
- package/internals/set-difference.js +26 -0
- package/internals/set-helpers.js +15 -0
- package/internals/set-intersection.js +46 -0
- package/internals/set-is-disjoint-from.js +22 -0
- package/internals/set-is-subset-of.js +16 -0
- package/internals/set-is-superset-of.js +17 -0
- package/internals/set-iterate.js +13 -0
- package/internals/set-method-accept-set-like.js +27 -0
- package/internals/set-size.js +8 -0
- package/internals/set-symmetric-difference.js +23 -0
- package/internals/set-union.js +18 -0
- package/internals/shared.js +2 -2
- package/internals/string-cooked.js +23 -0
- package/internals/string-parse.js +118 -0
- package/internals/to-set-like.js +19 -0
- package/internals/weak-map-helpers.js +13 -0
- package/internals/weak-set-helpers.js +12 -0
- package/modules/es.array-buffer.slice.js +1 -1
- package/modules/es.array.index-of.js +1 -1
- package/modules/es.number.constructor.js +34 -18
- package/modules/es.string.ends-with.js +1 -1
- package/modules/es.string.match-all.js +1 -1
- package/modules/es.string.starts-with.js +1 -1
- package/modules/es.typed-array.sort.js +1 -1
- package/modules/esnext.array.from-async.js +1 -1
- package/modules/esnext.async-disposable-stack.constructor.js +137 -0
- package/modules/esnext.async-iterator.as-indexed-pairs.js +2 -1
- package/modules/esnext.async-iterator.async-dispose.js +26 -0
- package/modules/esnext.async-iterator.constructor.js +2 -1
- package/modules/esnext.async-iterator.drop.js +3 -2
- package/modules/esnext.async-iterator.every.js +5 -4
- package/modules/esnext.async-iterator.filter.js +7 -6
- package/modules/esnext.async-iterator.find.js +5 -4
- package/modules/esnext.async-iterator.flat-map.js +3 -2
- package/modules/esnext.async-iterator.for-each.js +3 -2
- package/modules/esnext.async-iterator.from.js +5 -3
- package/modules/esnext.async-iterator.indexed.js +2 -1
- package/modules/esnext.async-iterator.map.js +5 -53
- package/modules/esnext.async-iterator.reduce.js +3 -2
- package/modules/esnext.async-iterator.some.js +5 -4
- package/modules/esnext.async-iterator.take.js +3 -2
- package/modules/esnext.async-iterator.to-array.js +3 -2
- package/modules/esnext.disposable-stack.constructor.js +121 -0
- package/modules/esnext.function.un-this.js +2 -2
- package/modules/esnext.iterator.as-indexed-pairs.js +2 -1
- package/modules/esnext.iterator.constructor.js +2 -1
- package/modules/esnext.iterator.dispose.js +17 -0
- package/modules/esnext.iterator.drop.js +3 -2
- package/modules/esnext.iterator.every.js +6 -5
- package/modules/esnext.iterator.filter.js +7 -6
- package/modules/esnext.iterator.find.js +6 -5
- package/modules/esnext.iterator.flat-map.js +3 -2
- package/modules/esnext.iterator.for-each.js +3 -2
- package/modules/esnext.iterator.from.js +5 -3
- package/modules/esnext.iterator.indexed.js +2 -1
- package/modules/esnext.iterator.map.js +5 -21
- package/modules/esnext.iterator.reduce.js +3 -2
- package/modules/esnext.iterator.some.js +6 -5
- package/modules/esnext.iterator.take.js +3 -2
- package/modules/esnext.iterator.to-array.js +3 -2
- package/modules/esnext.iterator.to-async.js +3 -2
- package/modules/esnext.map.delete-all.js +11 -2
- package/modules/esnext.map.emplace.js +21 -3
- package/modules/esnext.map.every.js +6 -8
- package/modules/esnext.map.filter.js +11 -14
- package/modules/esnext.map.find-key.js +7 -8
- package/modules/esnext.map.find.js +7 -8
- package/modules/esnext.map.group-by.js +6 -5
- package/modules/esnext.map.includes.js +5 -6
- package/modules/esnext.map.key-by.js +4 -1
- package/modules/esnext.map.key-of.js +6 -6
- package/modules/esnext.map.map-keys.js +11 -14
- package/modules/esnext.map.map-values.js +11 -14
- package/modules/esnext.map.merge.js +6 -5
- package/modules/esnext.map.reduce.js +5 -7
- package/modules/esnext.map.some.js +7 -9
- package/modules/esnext.map.update.js +10 -10
- package/modules/esnext.set.add-all.js +8 -2
- package/modules/esnext.set.delete-all.js +11 -2
- package/modules/esnext.set.difference.js +5 -13
- package/modules/esnext.set.difference.v2.js +9 -0
- package/modules/esnext.set.every.js +6 -8
- package/modules/esnext.set.filter.js +11 -14
- package/modules/esnext.set.find.js +7 -8
- package/modules/esnext.set.intersection.js +5 -14
- package/modules/esnext.set.intersection.v2.js +9 -0
- package/modules/esnext.set.is-disjoint-from.js +6 -10
- package/modules/esnext.set.is-disjoint-from.v2.js +9 -0
- package/modules/esnext.set.is-subset-of.js +6 -18
- package/modules/esnext.set.is-subset-of.v2.js +9 -0
- package/modules/esnext.set.is-superset-of.js +6 -10
- package/modules/esnext.set.is-superset-of.v2.js +9 -0
- package/modules/esnext.set.join.js +9 -9
- package/modules/esnext.set.map.js +11 -14
- package/modules/esnext.set.reduce.js +5 -7
- package/modules/esnext.set.some.js +6 -8
- package/modules/esnext.set.symmetric-difference.js +5 -14
- package/modules/esnext.set.symmetric-difference.v2.js +9 -0
- package/modules/esnext.set.union.js +6 -10
- package/modules/esnext.set.union.v2.js +9 -0
- package/modules/esnext.string.cooked.js +2 -23
- package/modules/esnext.string.dedent.js +152 -0
- package/modules/esnext.string.is-well-formed.js +1 -1
- package/modules/esnext.string.to-well-formed.js +1 -1
- package/modules/esnext.suppressed-error.constructor.js +50 -0
- package/modules/esnext.symbol.async-dispose.js +1 -1
- package/modules/esnext.symbol.dispose.js +1 -1
- package/modules/esnext.typed-array.unique-by.js +4 -2
- package/modules/esnext.weak-map.delete-all.js +11 -2
- package/modules/esnext.weak-map.emplace.js +20 -2
- package/modules/esnext.weak-set.add-all.js +8 -2
- package/modules/esnext.weak-set.delete-all.js +11 -2
- package/modules/web.set-immediate.js +5 -1
- package/modules/web.set-interval.js +4 -2
- package/modules/web.set-timeout.js +4 -2
- package/modules/web.structured-clone.js +10 -8
- package/package.json +1 -1
- package/proposals/async-explicit-resource-management.js +5 -0
- package/proposals/explicit-resource-management.js +5 -0
- package/proposals/iterator-helpers-stage-3.js +28 -0
- package/proposals/iterator-helpers.js +2 -29
- package/proposals/set-methods-v2.js +8 -0
- package/proposals/set-methods.js +8 -0
- package/proposals/string-dedent.js +2 -0
- package/proposals/using-statement.js +2 -1
- package/stage/2.js +5 -4
- package/stage/3.js +4 -0
- package/internals/collection-add-all.js +0 -14
- package/internals/collection-delete-all.js +0 -17
- package/internals/function-uncurry-this-raw.js +0 -11
- package/internals/get-map-iterator.js +0 -6
- package/internals/get-set-iterator.js +0 -6
- package/internals/map-emplace.js +0 -24
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
// TODO: Remove from `core-js@4`
|
|
2
|
-
// https://github.com/tc39/proposal-iterator-helpers
|
|
3
2
|
var $ = require('../internals/export');
|
|
4
3
|
var indexed = require('../internals/iterator-indexed');
|
|
5
4
|
|
|
5
|
+
// `Iterator.prototype.indexed` method
|
|
6
|
+
// https://github.com/tc39/proposal-iterator-helpers
|
|
6
7
|
$({ target: 'Iterator', proto: true, real: true, forced: true }, {
|
|
7
8
|
indexed: indexed
|
|
8
9
|
});
|
|
@@ -1,24 +1,8 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
// https://github.com/tc39/proposal-iterator-helpers
|
|
3
1
|
var $ = require('../internals/export');
|
|
4
|
-
var
|
|
5
|
-
var aCallable = require('../internals/a-callable');
|
|
6
|
-
var anObject = require('../internals/an-object');
|
|
7
|
-
var getIteratorDirect = require('../internals/get-iterator-direct');
|
|
8
|
-
var createIteratorProxy = require('../internals/iterator-create-proxy');
|
|
9
|
-
var callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');
|
|
10
|
-
|
|
11
|
-
var IteratorProxy = createIteratorProxy(function () {
|
|
12
|
-
var iterator = this.iterator;
|
|
13
|
-
var result = anObject(call(this.next, iterator));
|
|
14
|
-
var done = this.done = !!result.done;
|
|
15
|
-
if (!done) return callWithSafeIterationClosing(iterator, this.mapper, [result.value, this.counter++], true);
|
|
16
|
-
});
|
|
2
|
+
var map = require('../internals/iterator-map');
|
|
17
3
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
});
|
|
23
|
-
}
|
|
4
|
+
// `Iterator.prototype.map` method
|
|
5
|
+
// https://github.com/tc39/proposal-iterator-helpers
|
|
6
|
+
$({ target: 'Iterator', proto: true, real: true }, {
|
|
7
|
+
map: map
|
|
24
8
|
});
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
// https://github.com/tc39/proposal-iterator-helpers
|
|
3
2
|
var $ = require('../internals/export');
|
|
4
3
|
var iterate = require('../internals/iterate');
|
|
5
4
|
var aCallable = require('../internals/a-callable');
|
|
@@ -7,7 +6,9 @@ var getIteratorDirect = require('../internals/get-iterator-direct');
|
|
|
7
6
|
|
|
8
7
|
var $TypeError = TypeError;
|
|
9
8
|
|
|
10
|
-
|
|
9
|
+
// `Iterator.prototype.reduce` method
|
|
10
|
+
// https://github.com/tc39/proposal-iterator-helpers
|
|
11
|
+
$({ target: 'Iterator', proto: true, real: true }, {
|
|
11
12
|
reduce: function reduce(reducer /* , initialValue */) {
|
|
12
13
|
var record = getIteratorDirect(this);
|
|
13
14
|
aCallable(reducer);
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
// https://github.com/tc39/proposal-iterator-helpers
|
|
3
2
|
var $ = require('../internals/export');
|
|
4
3
|
var iterate = require('../internals/iterate');
|
|
5
4
|
var aCallable = require('../internals/a-callable');
|
|
6
5
|
var getIteratorDirect = require('../internals/get-iterator-direct');
|
|
7
6
|
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
// `Iterator.prototype.some` method
|
|
8
|
+
// https://github.com/tc39/proposal-iterator-helpers
|
|
9
|
+
$({ target: 'Iterator', proto: true, real: true }, {
|
|
10
|
+
some: function some(predicate) {
|
|
10
11
|
var record = getIteratorDirect(this);
|
|
11
12
|
var counter = 0;
|
|
12
|
-
aCallable(
|
|
13
|
+
aCallable(predicate);
|
|
13
14
|
return iterate(record, function (value, stop) {
|
|
14
|
-
if (
|
|
15
|
+
if (predicate(value, counter++)) return stop();
|
|
15
16
|
}, { IS_RECORD: true, INTERRUPTED: true }).stopped;
|
|
16
17
|
}
|
|
17
18
|
});
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
// https://github.com/tc39/proposal-iterator-helpers
|
|
3
2
|
var $ = require('../internals/export');
|
|
4
3
|
var call = require('../internals/function-call');
|
|
5
4
|
var anObject = require('../internals/an-object');
|
|
@@ -20,7 +19,9 @@ var IteratorProxy = createIteratorProxy(function () {
|
|
|
20
19
|
if (!done) return result.value;
|
|
21
20
|
});
|
|
22
21
|
|
|
23
|
-
|
|
22
|
+
// `Iterator.prototype.take` method
|
|
23
|
+
// https://github.com/tc39/proposal-iterator-helpers
|
|
24
|
+
$({ target: 'Iterator', proto: true, real: true }, {
|
|
24
25
|
take: function take(limit) {
|
|
25
26
|
return new IteratorProxy(getIteratorDirect(this), {
|
|
26
27
|
remaining: toPositiveInteger(notANaN(+limit))
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
// https://github.com/tc39/proposal-iterator-helpers
|
|
3
2
|
var $ = require('../internals/export');
|
|
4
3
|
var iterate = require('../internals/iterate');
|
|
5
4
|
var getIteratorDirect = require('../internals/get-iterator-direct');
|
|
6
5
|
|
|
7
6
|
var push = [].push;
|
|
8
7
|
|
|
9
|
-
|
|
8
|
+
// `Iterator.prototype.toArray` method
|
|
9
|
+
// https://github.com/tc39/proposal-iterator-helpers
|
|
10
|
+
$({ target: 'Iterator', proto: true, real: true }, {
|
|
10
11
|
toArray: function toArray() {
|
|
11
12
|
var result = [];
|
|
12
13
|
iterate(getIteratorDirect(this), push, { that: result, IS_RECORD: true });
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
// https://github.com/tc39/proposal-iterator-helpers
|
|
3
2
|
var $ = require('../internals/export');
|
|
4
3
|
var AsyncFromSyncIterator = require('../internals/async-from-sync-iterator');
|
|
5
4
|
var WrapAsyncIterator = require('../internals/async-iterator-wrap');
|
|
6
5
|
var getIteratorDirect = require('../internals/get-iterator-direct');
|
|
7
6
|
|
|
8
|
-
|
|
7
|
+
// `Iterator.prototype.toAsync` method
|
|
8
|
+
// https://github.com/tc39/proposal-iterator-helpers
|
|
9
|
+
$({ target: 'Iterator', proto: true, real: true }, {
|
|
9
10
|
toAsync: function toAsync() {
|
|
10
11
|
return new WrapAsyncIterator(getIteratorDirect(new AsyncFromSyncIterator(getIteratorDirect(this))));
|
|
11
12
|
}
|
|
@@ -1,9 +1,18 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
-
var
|
|
3
|
+
var aMap = require('../internals/a-map');
|
|
4
|
+
var remove = require('../internals/map-helpers').remove;
|
|
4
5
|
|
|
5
6
|
// `Map.prototype.deleteAll` method
|
|
6
7
|
// https://github.com/tc39/proposal-collection-methods
|
|
7
8
|
$({ target: 'Map', proto: true, real: true, forced: true }, {
|
|
8
|
-
deleteAll: deleteAll
|
|
9
|
+
deleteAll: function deleteAll(/* ...elements */) {
|
|
10
|
+
var collection = aMap(this);
|
|
11
|
+
var allDeleted = true;
|
|
12
|
+
var wasDeleted;
|
|
13
|
+
for (var k = 0, len = arguments.length; k < len; k++) {
|
|
14
|
+
wasDeleted = remove(collection, arguments[k]);
|
|
15
|
+
allDeleted = allDeleted && wasDeleted;
|
|
16
|
+
} return !!allDeleted;
|
|
17
|
+
}
|
|
9
18
|
});
|
|
@@ -1,9 +1,27 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
-
var
|
|
3
|
+
var aMap = require('../internals/a-map');
|
|
4
|
+
var MapHelpers = require('../internals/map-helpers');
|
|
5
|
+
|
|
6
|
+
var get = MapHelpers.get;
|
|
7
|
+
var has = MapHelpers.has;
|
|
8
|
+
var set = MapHelpers.set;
|
|
4
9
|
|
|
5
10
|
// `Map.prototype.emplace` method
|
|
6
|
-
// https://github.com/
|
|
11
|
+
// https://github.com/tc39/proposal-upsert
|
|
7
12
|
$({ target: 'Map', proto: true, real: true, forced: true }, {
|
|
8
|
-
emplace: emplace
|
|
13
|
+
emplace: function emplace(key, handler) {
|
|
14
|
+
var map = aMap(this);
|
|
15
|
+
var value, inserted;
|
|
16
|
+
if (has(map, key)) {
|
|
17
|
+
value = get(map, key);
|
|
18
|
+
if ('update' in handler) {
|
|
19
|
+
value = handler.update(value, key, map);
|
|
20
|
+
set(map, key, value);
|
|
21
|
+
} return value;
|
|
22
|
+
}
|
|
23
|
+
inserted = handler.insert(key, map);
|
|
24
|
+
set(map, key, inserted);
|
|
25
|
+
return inserted;
|
|
26
|
+
}
|
|
9
27
|
});
|
|
@@ -1,19 +1,17 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
-
var anObject = require('../internals/an-object');
|
|
4
3
|
var bind = require('../internals/function-bind-context');
|
|
5
|
-
var
|
|
6
|
-
var iterate = require('../internals/iterate');
|
|
4
|
+
var aMap = require('../internals/a-map');
|
|
5
|
+
var iterate = require('../internals/map-iterate');
|
|
7
6
|
|
|
8
7
|
// `Map.prototype.every` method
|
|
9
8
|
// https://github.com/tc39/proposal-collection-methods
|
|
10
9
|
$({ target: 'Map', proto: true, real: true, forced: true }, {
|
|
11
10
|
every: function every(callbackfn /* , thisArg */) {
|
|
12
|
-
var map =
|
|
13
|
-
var iterator = getMapIterator(map);
|
|
11
|
+
var map = aMap(this);
|
|
14
12
|
var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);
|
|
15
|
-
return
|
|
16
|
-
if (!boundFunction(value, key, map)) return
|
|
17
|
-
},
|
|
13
|
+
return iterate(map, function (value, key) {
|
|
14
|
+
if (!boundFunction(value, key, map)) return false;
|
|
15
|
+
}, true) !== false;
|
|
18
16
|
}
|
|
19
17
|
});
|
|
@@ -1,26 +1,23 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
-
var getBuiltIn = require('../internals/get-built-in');
|
|
4
3
|
var bind = require('../internals/function-bind-context');
|
|
5
|
-
var
|
|
6
|
-
var
|
|
7
|
-
var
|
|
8
|
-
|
|
9
|
-
var
|
|
10
|
-
var
|
|
4
|
+
var aMap = require('../internals/a-map');
|
|
5
|
+
var MapHelpers = require('../internals/map-helpers');
|
|
6
|
+
var iterate = require('../internals/map-iterate');
|
|
7
|
+
|
|
8
|
+
var Map = MapHelpers.Map;
|
|
9
|
+
var set = MapHelpers.set;
|
|
11
10
|
|
|
12
11
|
// `Map.prototype.filter` method
|
|
13
12
|
// https://github.com/tc39/proposal-collection-methods
|
|
14
13
|
$({ target: 'Map', proto: true, real: true, forced: true }, {
|
|
15
14
|
filter: function filter(callbackfn /* , thisArg */) {
|
|
16
|
-
var map =
|
|
17
|
-
var iterator = getMapIterator(map);
|
|
15
|
+
var map = aMap(this);
|
|
18
16
|
var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);
|
|
19
|
-
var newMap = new
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}, { AS_ENTRIES: true, IS_ITERATOR: true });
|
|
17
|
+
var newMap = new Map();
|
|
18
|
+
iterate(map, function (value, key) {
|
|
19
|
+
if (boundFunction(value, key, map)) set(newMap, key, value);
|
|
20
|
+
});
|
|
24
21
|
return newMap;
|
|
25
22
|
}
|
|
26
23
|
});
|
|
@@ -1,19 +1,18 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
-
var anObject = require('../internals/an-object');
|
|
4
3
|
var bind = require('../internals/function-bind-context');
|
|
5
|
-
var
|
|
6
|
-
var iterate = require('../internals/iterate');
|
|
4
|
+
var aMap = require('../internals/a-map');
|
|
5
|
+
var iterate = require('../internals/map-iterate');
|
|
7
6
|
|
|
8
7
|
// `Map.prototype.findKey` method
|
|
9
8
|
// https://github.com/tc39/proposal-collection-methods
|
|
10
9
|
$({ target: 'Map', proto: true, real: true, forced: true }, {
|
|
11
10
|
findKey: function findKey(callbackfn /* , thisArg */) {
|
|
12
|
-
var map =
|
|
13
|
-
var iterator = getMapIterator(map);
|
|
11
|
+
var map = aMap(this);
|
|
14
12
|
var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);
|
|
15
|
-
|
|
16
|
-
if (boundFunction(value, key, map)) return
|
|
17
|
-
},
|
|
13
|
+
var result = iterate(map, function (value, key) {
|
|
14
|
+
if (boundFunction(value, key, map)) return { key: key };
|
|
15
|
+
}, true);
|
|
16
|
+
return result && result.key;
|
|
18
17
|
}
|
|
19
18
|
});
|
|
@@ -1,19 +1,18 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
-
var anObject = require('../internals/an-object');
|
|
4
3
|
var bind = require('../internals/function-bind-context');
|
|
5
|
-
var
|
|
6
|
-
var iterate = require('../internals/iterate');
|
|
4
|
+
var aMap = require('../internals/a-map');
|
|
5
|
+
var iterate = require('../internals/map-iterate');
|
|
7
6
|
|
|
8
7
|
// `Map.prototype.find` method
|
|
9
8
|
// https://github.com/tc39/proposal-collection-methods
|
|
10
9
|
$({ target: 'Map', proto: true, real: true, forced: true }, {
|
|
11
10
|
find: function find(callbackfn /* , thisArg */) {
|
|
12
|
-
var map =
|
|
13
|
-
var iterator = getMapIterator(map);
|
|
11
|
+
var map = aMap(this);
|
|
14
12
|
var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);
|
|
15
|
-
|
|
16
|
-
if (boundFunction(value, key, map)) return
|
|
17
|
-
},
|
|
13
|
+
var result = iterate(map, function (value, key) {
|
|
14
|
+
if (boundFunction(value, key, map)) return { value: value };
|
|
15
|
+
}, true);
|
|
16
|
+
return result && result.value;
|
|
18
17
|
}
|
|
19
18
|
});
|
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
3
|
var call = require('../internals/function-call');
|
|
4
4
|
var uncurryThis = require('../internals/function-uncurry-this');
|
|
5
|
+
var isCallable = require('../internals/is-callable');
|
|
5
6
|
var aCallable = require('../internals/a-callable');
|
|
6
|
-
var getIterator = require('../internals/get-iterator');
|
|
7
7
|
var iterate = require('../internals/iterate');
|
|
8
|
+
var Map = require('../internals/map-helpers').Map;
|
|
8
9
|
|
|
9
10
|
var push = uncurryThis([].push);
|
|
10
11
|
|
|
@@ -12,17 +13,17 @@ var push = uncurryThis([].push);
|
|
|
12
13
|
// https://github.com/tc39/proposal-collection-methods
|
|
13
14
|
$({ target: 'Map', stat: true, forced: true }, {
|
|
14
15
|
groupBy: function groupBy(iterable, keyDerivative) {
|
|
16
|
+
var C = isCallable(this) ? this : Map;
|
|
17
|
+
var newMap = new C();
|
|
15
18
|
aCallable(keyDerivative);
|
|
16
|
-
var iterator = getIterator(iterable);
|
|
17
|
-
var newMap = new this();
|
|
18
19
|
var has = aCallable(newMap.has);
|
|
19
20
|
var get = aCallable(newMap.get);
|
|
20
21
|
var set = aCallable(newMap.set);
|
|
21
|
-
iterate(
|
|
22
|
+
iterate(iterable, function (element) {
|
|
22
23
|
var derivedKey = keyDerivative(element);
|
|
23
24
|
if (!call(has, newMap, derivedKey)) call(set, newMap, derivedKey, [element]);
|
|
24
25
|
else push(call(get, newMap, derivedKey), element);
|
|
25
|
-
}
|
|
26
|
+
});
|
|
26
27
|
return newMap;
|
|
27
28
|
}
|
|
28
29
|
});
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
-
var anObject = require('../internals/an-object');
|
|
4
|
-
var getMapIterator = require('../internals/get-map-iterator');
|
|
5
3
|
var sameValueZero = require('../internals/same-value-zero');
|
|
6
|
-
var
|
|
4
|
+
var aMap = require('../internals/a-map');
|
|
5
|
+
var iterate = require('../internals/map-iterate');
|
|
7
6
|
|
|
8
7
|
// `Map.prototype.includes` method
|
|
9
8
|
// https://github.com/tc39/proposal-collection-methods
|
|
10
9
|
$({ target: 'Map', proto: true, real: true, forced: true }, {
|
|
11
10
|
includes: function includes(searchElement) {
|
|
12
|
-
return iterate(
|
|
13
|
-
if (sameValueZero(value, searchElement)) return
|
|
14
|
-
},
|
|
11
|
+
return iterate(aMap(this), function (value) {
|
|
12
|
+
if (sameValueZero(value, searchElement)) return true;
|
|
13
|
+
}, true) === true;
|
|
15
14
|
}
|
|
16
15
|
});
|
|
@@ -2,13 +2,16 @@
|
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
3
|
var call = require('../internals/function-call');
|
|
4
4
|
var iterate = require('../internals/iterate');
|
|
5
|
+
var isCallable = require('../internals/is-callable');
|
|
5
6
|
var aCallable = require('../internals/a-callable');
|
|
7
|
+
var Map = require('../internals/map-helpers').Map;
|
|
6
8
|
|
|
7
9
|
// `Map.keyBy` method
|
|
8
10
|
// https://github.com/tc39/proposal-collection-methods
|
|
9
11
|
$({ target: 'Map', stat: true, forced: true }, {
|
|
10
12
|
keyBy: function keyBy(iterable, keyDerivative) {
|
|
11
|
-
var
|
|
13
|
+
var C = isCallable(this) ? this : Map;
|
|
14
|
+
var newMap = new C();
|
|
12
15
|
aCallable(keyDerivative);
|
|
13
16
|
var setter = aCallable(newMap.set);
|
|
14
17
|
iterate(iterable, function (element) {
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
var iterate = require('../internals/iterate');
|
|
3
|
+
var aMap = require('../internals/a-map');
|
|
4
|
+
var iterate = require('../internals/map-iterate');
|
|
6
5
|
|
|
7
6
|
// `Map.prototype.keyOf` method
|
|
8
7
|
// https://github.com/tc39/proposal-collection-methods
|
|
9
8
|
$({ target: 'Map', proto: true, real: true, forced: true }, {
|
|
10
9
|
keyOf: function keyOf(searchElement) {
|
|
11
|
-
|
|
12
|
-
if (value === searchElement) return
|
|
13
|
-
},
|
|
10
|
+
var result = iterate(aMap(this), function (value, key) {
|
|
11
|
+
if (value === searchElement) return { key: key };
|
|
12
|
+
}, true);
|
|
13
|
+
return result && result.key;
|
|
14
14
|
}
|
|
15
15
|
});
|
|
@@ -1,26 +1,23 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
-
var getBuiltIn = require('../internals/get-built-in');
|
|
4
3
|
var bind = require('../internals/function-bind-context');
|
|
5
|
-
var
|
|
6
|
-
var
|
|
7
|
-
var
|
|
8
|
-
|
|
9
|
-
var
|
|
10
|
-
var
|
|
4
|
+
var aMap = require('../internals/a-map');
|
|
5
|
+
var MapHelpers = require('../internals/map-helpers');
|
|
6
|
+
var iterate = require('../internals/map-iterate');
|
|
7
|
+
|
|
8
|
+
var Map = MapHelpers.Map;
|
|
9
|
+
var set = MapHelpers.set;
|
|
11
10
|
|
|
12
11
|
// `Map.prototype.mapKeys` method
|
|
13
12
|
// https://github.com/tc39/proposal-collection-methods
|
|
14
13
|
$({ target: 'Map', proto: true, real: true, forced: true }, {
|
|
15
14
|
mapKeys: function mapKeys(callbackfn /* , thisArg */) {
|
|
16
|
-
var map =
|
|
17
|
-
var iterator = getMapIterator(map);
|
|
15
|
+
var map = aMap(this);
|
|
18
16
|
var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);
|
|
19
|
-
var newMap = new
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}, { AS_ENTRIES: true, IS_ITERATOR: true });
|
|
17
|
+
var newMap = new Map();
|
|
18
|
+
iterate(map, function (value, key) {
|
|
19
|
+
set(newMap, boundFunction(value, key, map), value);
|
|
20
|
+
});
|
|
24
21
|
return newMap;
|
|
25
22
|
}
|
|
26
23
|
});
|
|
@@ -1,26 +1,23 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
-
var getBuiltIn = require('../internals/get-built-in');
|
|
4
3
|
var bind = require('../internals/function-bind-context');
|
|
5
|
-
var
|
|
6
|
-
var
|
|
7
|
-
var
|
|
8
|
-
|
|
9
|
-
var
|
|
10
|
-
var
|
|
4
|
+
var aMap = require('../internals/a-map');
|
|
5
|
+
var MapHelpers = require('../internals/map-helpers');
|
|
6
|
+
var iterate = require('../internals/map-iterate');
|
|
7
|
+
|
|
8
|
+
var Map = MapHelpers.Map;
|
|
9
|
+
var set = MapHelpers.set;
|
|
11
10
|
|
|
12
11
|
// `Map.prototype.mapValues` method
|
|
13
12
|
// https://github.com/tc39/proposal-collection-methods
|
|
14
13
|
$({ target: 'Map', proto: true, real: true, forced: true }, {
|
|
15
14
|
mapValues: function mapValues(callbackfn /* , thisArg */) {
|
|
16
|
-
var map =
|
|
17
|
-
var iterator = getMapIterator(map);
|
|
15
|
+
var map = aMap(this);
|
|
18
16
|
var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);
|
|
19
|
-
var newMap = new
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}, { AS_ENTRIES: true, IS_ITERATOR: true });
|
|
17
|
+
var newMap = new Map();
|
|
18
|
+
iterate(map, function (value, key) {
|
|
19
|
+
set(newMap, key, boundFunction(value, key, map));
|
|
20
|
+
});
|
|
24
21
|
return newMap;
|
|
25
22
|
}
|
|
26
23
|
});
|
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
-
var
|
|
4
|
-
var anObject = require('../internals/an-object');
|
|
3
|
+
var aMap = require('../internals/a-map');
|
|
5
4
|
var iterate = require('../internals/iterate');
|
|
5
|
+
var set = require('../internals/map-helpers').set;
|
|
6
6
|
|
|
7
7
|
// `Map.prototype.merge` method
|
|
8
8
|
// https://github.com/tc39/proposal-collection-methods
|
|
9
9
|
$({ target: 'Map', proto: true, real: true, arity: 1, forced: true }, {
|
|
10
10
|
// eslint-disable-next-line no-unused-vars -- required for `.length`
|
|
11
11
|
merge: function merge(iterable /* ...iterables */) {
|
|
12
|
-
var map =
|
|
13
|
-
var setter = aCallable(map.set);
|
|
12
|
+
var map = aMap(this);
|
|
14
13
|
var argumentsLength = arguments.length;
|
|
15
14
|
var i = 0;
|
|
16
15
|
while (i < argumentsLength) {
|
|
17
|
-
iterate(arguments[i++],
|
|
16
|
+
iterate(arguments[i++], function (key, value) {
|
|
17
|
+
set(map, key, value);
|
|
18
|
+
}, { AS_ENTRIES: true });
|
|
18
19
|
}
|
|
19
20
|
return map;
|
|
20
21
|
}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
-
var anObject = require('../internals/an-object');
|
|
4
3
|
var aCallable = require('../internals/a-callable');
|
|
5
|
-
var
|
|
6
|
-
var iterate = require('../internals/iterate');
|
|
4
|
+
var aMap = require('../internals/a-map');
|
|
5
|
+
var iterate = require('../internals/map-iterate');
|
|
7
6
|
|
|
8
7
|
var $TypeError = TypeError;
|
|
9
8
|
|
|
@@ -11,19 +10,18 @@ var $TypeError = TypeError;
|
|
|
11
10
|
// https://github.com/tc39/proposal-collection-methods
|
|
12
11
|
$({ target: 'Map', proto: true, real: true, forced: true }, {
|
|
13
12
|
reduce: function reduce(callbackfn /* , initialValue */) {
|
|
14
|
-
var map =
|
|
15
|
-
var iterator = getMapIterator(map);
|
|
13
|
+
var map = aMap(this);
|
|
16
14
|
var noInitial = arguments.length < 2;
|
|
17
15
|
var accumulator = noInitial ? undefined : arguments[1];
|
|
18
16
|
aCallable(callbackfn);
|
|
19
|
-
iterate(
|
|
17
|
+
iterate(map, function (value, key) {
|
|
20
18
|
if (noInitial) {
|
|
21
19
|
noInitial = false;
|
|
22
20
|
accumulator = value;
|
|
23
21
|
} else {
|
|
24
22
|
accumulator = callbackfn(accumulator, value, key, map);
|
|
25
23
|
}
|
|
26
|
-
}
|
|
24
|
+
});
|
|
27
25
|
if (noInitial) throw $TypeError('Reduce of empty map with no initial value');
|
|
28
26
|
return accumulator;
|
|
29
27
|
}
|
|
@@ -1,19 +1,17 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
-
var anObject = require('../internals/an-object');
|
|
4
3
|
var bind = require('../internals/function-bind-context');
|
|
5
|
-
var
|
|
6
|
-
var iterate = require('../internals/iterate');
|
|
4
|
+
var aMap = require('../internals/a-map');
|
|
5
|
+
var iterate = require('../internals/map-iterate');
|
|
7
6
|
|
|
8
|
-
// `
|
|
7
|
+
// `Map.prototype.some` method
|
|
9
8
|
// https://github.com/tc39/proposal-collection-methods
|
|
10
9
|
$({ target: 'Map', proto: true, real: true, forced: true }, {
|
|
11
10
|
some: function some(callbackfn /* , thisArg */) {
|
|
12
|
-
var map =
|
|
13
|
-
var iterator = getMapIterator(map);
|
|
11
|
+
var map = aMap(this);
|
|
14
12
|
var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);
|
|
15
|
-
return iterate(
|
|
16
|
-
if (boundFunction(value, key, map)) return
|
|
17
|
-
},
|
|
13
|
+
return iterate(map, function (value, key) {
|
|
14
|
+
if (boundFunction(value, key, map)) return true;
|
|
15
|
+
}, true) === true;
|
|
18
16
|
}
|
|
19
17
|
});
|
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
-
var call = require('../internals/function-call');
|
|
4
|
-
var anObject = require('../internals/an-object');
|
|
5
3
|
var aCallable = require('../internals/a-callable');
|
|
4
|
+
var aMap = require('../internals/a-map');
|
|
5
|
+
var MapHelpers = require('../internals/map-helpers');
|
|
6
6
|
|
|
7
7
|
var $TypeError = TypeError;
|
|
8
|
+
var get = MapHelpers.get;
|
|
9
|
+
var has = MapHelpers.has;
|
|
10
|
+
var set = MapHelpers.set;
|
|
8
11
|
|
|
9
|
-
// `
|
|
12
|
+
// `Map.prototype.update` method
|
|
10
13
|
// https://github.com/tc39/proposal-collection-methods
|
|
11
14
|
$({ target: 'Map', proto: true, real: true, forced: true }, {
|
|
12
15
|
update: function update(key, callback /* , thunk */) {
|
|
13
|
-
var map =
|
|
14
|
-
var get = aCallable(map.get);
|
|
15
|
-
var has = aCallable(map.has);
|
|
16
|
-
var set = aCallable(map.set);
|
|
16
|
+
var map = aMap(this);
|
|
17
17
|
var length = arguments.length;
|
|
18
18
|
aCallable(callback);
|
|
19
|
-
var isPresentInMap =
|
|
19
|
+
var isPresentInMap = has(map, key);
|
|
20
20
|
if (!isPresentInMap && length < 3) {
|
|
21
21
|
throw $TypeError('Updating absent value');
|
|
22
22
|
}
|
|
23
|
-
var value = isPresentInMap ?
|
|
24
|
-
|
|
23
|
+
var value = isPresentInMap ? get(map, key) : aCallable(length > 2 ? arguments[2] : undefined)(key, map);
|
|
24
|
+
set(map, key, callback(value, key, map));
|
|
25
25
|
return map;
|
|
26
26
|
}
|
|
27
27
|
});
|
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
-
var
|
|
3
|
+
var aSet = require('../internals/a-set');
|
|
4
|
+
var add = require('../internals/set-helpers').add;
|
|
4
5
|
|
|
5
6
|
// `Set.prototype.addAll` method
|
|
6
7
|
// https://github.com/tc39/proposal-collection-methods
|
|
7
8
|
$({ target: 'Set', proto: true, real: true, forced: true }, {
|
|
8
|
-
addAll: addAll
|
|
9
|
+
addAll: function addAll(/* ...elements */) {
|
|
10
|
+
var set = aSet(this);
|
|
11
|
+
for (var k = 0, len = arguments.length; k < len; k++) {
|
|
12
|
+
add(set, arguments[k]);
|
|
13
|
+
} return set;
|
|
14
|
+
}
|
|
9
15
|
});
|