core-js 3.29.1 → 3.30.1
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/url/can-parse.js +3 -0
- package/features/url/can-parse.js +1 -0
- package/full/index.js +1 -0
- package/full/url/can-parse.js +3 -0
- package/internals/add-disposable-resource.js +2 -4
- package/internals/async-iterator-iteration.js +3 -2
- package/internals/async-iterator-map.js +3 -1
- package/internals/get-async-iterator-flattenable.js +1 -1
- package/internals/get-iterator-direct.js +1 -2
- package/internals/get-iterator-flattenable.js +1 -2
- package/internals/iterator-map.js +3 -1
- package/internals/set-helpers.js +1 -3
- package/internals/set-intersection.js +1 -16
- package/internals/shared.js +2 -2
- package/modules/es.array.find-index.js +1 -0
- package/modules/es.array.find.js +1 -0
- package/modules/esnext.async-disposable-stack.constructor.js +11 -10
- package/modules/esnext.async-iterator.drop.js +3 -1
- package/modules/esnext.async-iterator.filter.js +3 -1
- package/modules/esnext.async-iterator.flat-map.js +3 -1
- package/modules/esnext.async-iterator.reduce.js +2 -1
- package/modules/esnext.async-iterator.take.js +3 -1
- package/modules/esnext.disposable-stack.constructor.js +11 -10
- package/modules/esnext.iterator.drop.js +3 -1
- package/modules/esnext.iterator.every.js +3 -1
- package/modules/esnext.iterator.filter.js +3 -1
- package/modules/esnext.iterator.find.js +3 -1
- package/modules/esnext.iterator.flat-map.js +3 -1
- package/modules/esnext.iterator.for-each.js +3 -1
- package/modules/esnext.iterator.reduce.js +3 -1
- package/modules/esnext.iterator.some.js +3 -1
- package/modules/esnext.iterator.take.js +3 -1
- package/modules/esnext.iterator.to-array.js +2 -1
- package/modules/esnext.iterator.to-async.js +2 -1
- package/modules/esnext.set.intersection.v2.js +7 -1
- package/modules/web.url.can-parse.js +28 -0
- package/package.json +1 -1
- package/proposals/decorator-metadata-v2.js +2 -0
- package/proposals/decorator-metadata.js +1 -0
- package/proposals/url.js +1 -0
- package/stable/index.js +1 -0
- package/stable/url/can-parse.js +5 -0
- package/stage/1.js +0 -1
- package/stage/2.js +3 -1
- package/web/index.js +1 -0
- package/web/url.js +1 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require('../../full/url/can-parse');
|
package/full/index.js
CHANGED
|
@@ -437,6 +437,7 @@ require('../modules/web.self');
|
|
|
437
437
|
require('../modules/web.structured-clone');
|
|
438
438
|
require('../modules/web.timers');
|
|
439
439
|
require('../modules/web.url');
|
|
440
|
+
require('../modules/web.url.can-parse');
|
|
440
441
|
require('../modules/web.url.to-json');
|
|
441
442
|
require('../modules/web.url-search-params');
|
|
442
443
|
require('../modules/web.url-search-params.size');
|
|
@@ -28,11 +28,9 @@ module.exports = function (disposable, V, hint, method) {
|
|
|
28
28
|
var resource;
|
|
29
29
|
if (!method) {
|
|
30
30
|
if (isNullOrUndefined(V)) return;
|
|
31
|
-
resource = createDisposableResource(V, hint);
|
|
32
|
-
} else if (isNullOrUndefined(V)) {
|
|
33
|
-
resource = createDisposableResource(undefined, hint, method);
|
|
31
|
+
resource = createDisposableResource(anObject(V), hint);
|
|
34
32
|
} else {
|
|
35
|
-
resource = createDisposableResource(
|
|
33
|
+
resource = createDisposableResource(undefined, hint, method);
|
|
36
34
|
}
|
|
37
35
|
|
|
38
36
|
push(disposable.stack, resource);
|
|
@@ -16,13 +16,14 @@ var createMethod = function (TYPE) {
|
|
|
16
16
|
var IS_EVERY = TYPE == 2;
|
|
17
17
|
var IS_SOME = TYPE == 3;
|
|
18
18
|
return function (object, fn, target) {
|
|
19
|
+
anObject(object);
|
|
20
|
+
var MAPPING = fn !== undefined;
|
|
21
|
+
if (MAPPING || !IS_TO_ARRAY) aCallable(fn);
|
|
19
22
|
var record = getIteratorDirect(object);
|
|
20
23
|
var Promise = getBuiltIn('Promise');
|
|
21
24
|
var iterator = record.iterator;
|
|
22
25
|
var next = record.next;
|
|
23
26
|
var counter = 0;
|
|
24
|
-
var MAPPING = fn !== undefined;
|
|
25
|
-
if (MAPPING || !IS_TO_ARRAY) aCallable(fn);
|
|
26
27
|
|
|
27
28
|
return new Promise(function (resolve, reject) {
|
|
28
29
|
var ifAbruptCloseAsyncIterator = function (error) {
|
|
@@ -49,7 +49,9 @@ var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise) {
|
|
|
49
49
|
// `AsyncIterator.prototype.map` method
|
|
50
50
|
// https://github.com/tc39/proposal-iterator-helpers
|
|
51
51
|
module.exports = function map(mapper) {
|
|
52
|
+
anObject(this);
|
|
53
|
+
aCallable(mapper);
|
|
52
54
|
return new AsyncIteratorProxy(getIteratorDirect(this), {
|
|
53
|
-
mapper:
|
|
55
|
+
mapper: mapper
|
|
54
56
|
});
|
|
55
57
|
};
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
var call = require('../internals/function-call');
|
|
2
|
-
var isCallable = require('../internals/is-callable');
|
|
3
2
|
var anObject = require('../internals/an-object');
|
|
4
3
|
var getIteratorDirect = require('../internals/get-iterator-direct');
|
|
5
4
|
var getIteratorMethod = require('../internals/get-iterator-method');
|
|
@@ -7,5 +6,5 @@ var getIteratorMethod = require('../internals/get-iterator-method');
|
|
|
7
6
|
module.exports = function (obj) {
|
|
8
7
|
var object = anObject(obj);
|
|
9
8
|
var method = getIteratorMethod(object);
|
|
10
|
-
return getIteratorDirect(anObject(
|
|
9
|
+
return getIteratorDirect(anObject(method !== undefined ? call(method, object) : object));
|
|
11
10
|
};
|
|
@@ -16,7 +16,9 @@ var IteratorProxy = createIteratorProxy(function () {
|
|
|
16
16
|
// `Iterator.prototype.map` method
|
|
17
17
|
// https://github.com/tc39/proposal-iterator-helpers
|
|
18
18
|
module.exports = function map(mapper) {
|
|
19
|
+
anObject(this);
|
|
20
|
+
aCallable(mapper);
|
|
19
21
|
return new IteratorProxy(getIteratorDirect(this), {
|
|
20
|
-
mapper:
|
|
22
|
+
mapper: mapper
|
|
21
23
|
});
|
|
22
24
|
};
|
package/internals/set-helpers.js
CHANGED
|
@@ -9,12 +9,6 @@ var iterateSimple = require('../internals/iterate-simple');
|
|
|
9
9
|
var Set = SetHelpers.Set;
|
|
10
10
|
var add = SetHelpers.add;
|
|
11
11
|
var has = SetHelpers.has;
|
|
12
|
-
var nativeHas = SetHelpers.$has;
|
|
13
|
-
var nativeKeys = SetHelpers.$keys;
|
|
14
|
-
|
|
15
|
-
var isNativeSetRecord = function (record) {
|
|
16
|
-
return record.has === nativeHas && record.keys === nativeKeys;
|
|
17
|
-
};
|
|
18
12
|
|
|
19
13
|
// `Set.prototype.intersection` method
|
|
20
14
|
// https://github.com/tc39/proposal-set-methods
|
|
@@ -23,19 +17,10 @@ module.exports = function intersection(other) {
|
|
|
23
17
|
var otherRec = getSetRecord(other);
|
|
24
18
|
var result = new Set();
|
|
25
19
|
|
|
26
|
-
|
|
27
|
-
if (!isNativeSetRecord(otherRec) && size(O) > otherRec.size) {
|
|
20
|
+
if (size(O) > otherRec.size) {
|
|
28
21
|
iterateSimple(otherRec.getIterator(), function (e) {
|
|
29
22
|
if (has(O, e)) add(result, e);
|
|
30
23
|
});
|
|
31
|
-
|
|
32
|
-
if (size(result) < 2) return result;
|
|
33
|
-
|
|
34
|
-
var disordered = result;
|
|
35
|
-
result = new Set();
|
|
36
|
-
iterateSet(O, function (e) {
|
|
37
|
-
if (has(disordered, e)) add(result, e);
|
|
38
|
-
});
|
|
39
24
|
} else {
|
|
40
25
|
iterateSet(O, function (e) {
|
|
41
26
|
if (otherRec.includes(e)) add(result, e);
|
package/internals/shared.js
CHANGED
|
@@ -4,9 +4,9 @@ var store = require('../internals/shared-store');
|
|
|
4
4
|
(module.exports = function (key, value) {
|
|
5
5
|
return store[key] || (store[key] = value !== undefined ? value : {});
|
|
6
6
|
})('versions', []).push({
|
|
7
|
-
version: '3.
|
|
7
|
+
version: '3.30.1',
|
|
8
8
|
mode: IS_PURE ? 'pure' : 'global',
|
|
9
9
|
copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',
|
|
10
|
-
license: 'https://github.com/zloirock/core-js/blob/v3.
|
|
10
|
+
license: 'https://github.com/zloirock/core-js/blob/v3.30.1/LICENSE',
|
|
11
11
|
source: 'https://github.com/zloirock/core-js'
|
|
12
12
|
});
|
|
@@ -7,6 +7,7 @@ var FIND_INDEX = 'findIndex';
|
|
|
7
7
|
var SKIPS_HOLES = true;
|
|
8
8
|
|
|
9
9
|
// Shouldn't skip holes
|
|
10
|
+
// eslint-disable-next-line es/no-array-prototype-findindex -- testing
|
|
10
11
|
if (FIND_INDEX in []) Array(1)[FIND_INDEX](function () { SKIPS_HOLES = false; });
|
|
11
12
|
|
|
12
13
|
// `Array.prototype.findIndex` method
|
package/modules/es.array.find.js
CHANGED
|
@@ -27,7 +27,11 @@ var HINT = 'async-dispose';
|
|
|
27
27
|
var DISPOSED = 'disposed';
|
|
28
28
|
var PENDING = 'pending';
|
|
29
29
|
|
|
30
|
-
var
|
|
30
|
+
var getPendingAsyncDisposableStackInternalState = function (stack) {
|
|
31
|
+
var internalState = getAsyncDisposableStackInternalState(stack);
|
|
32
|
+
if (internalState.state == DISPOSED) throw $ReferenceError(ASYNC_DISPOSABLE_STACK + ' already disposed');
|
|
33
|
+
return internalState;
|
|
34
|
+
};
|
|
31
35
|
|
|
32
36
|
var $AsyncDisposableStack = function AsyncDisposableStack() {
|
|
33
37
|
setInternalState(anInstance(this, AsyncDisposableStackPrototype), {
|
|
@@ -84,14 +88,11 @@ defineBuiltIns(AsyncDisposableStackPrototype, {
|
|
|
84
88
|
});
|
|
85
89
|
},
|
|
86
90
|
use: function use(value) {
|
|
87
|
-
|
|
88
|
-
if (internalState.state == DISPOSED) throw $ReferenceError(ALREADY_DISPOSED);
|
|
89
|
-
addDisposableResource(internalState, value, HINT);
|
|
91
|
+
addDisposableResource(getPendingAsyncDisposableStackInternalState(this), value, HINT);
|
|
90
92
|
return value;
|
|
91
93
|
},
|
|
92
94
|
adopt: function adopt(value, onDispose) {
|
|
93
|
-
var internalState =
|
|
94
|
-
if (internalState.state == DISPOSED) throw $ReferenceError(ALREADY_DISPOSED);
|
|
95
|
+
var internalState = getPendingAsyncDisposableStackInternalState(this);
|
|
95
96
|
aCallable(onDispose);
|
|
96
97
|
addDisposableResource(internalState, undefined, HINT, function () {
|
|
97
98
|
onDispose(value);
|
|
@@ -99,17 +100,17 @@ defineBuiltIns(AsyncDisposableStackPrototype, {
|
|
|
99
100
|
return value;
|
|
100
101
|
},
|
|
101
102
|
defer: function defer(onDispose) {
|
|
102
|
-
var internalState =
|
|
103
|
-
if (internalState.state == DISPOSED) throw $ReferenceError(ALREADY_DISPOSED);
|
|
103
|
+
var internalState = getPendingAsyncDisposableStackInternalState(this);
|
|
104
104
|
aCallable(onDispose);
|
|
105
105
|
addDisposableResource(internalState, undefined, HINT, onDispose);
|
|
106
106
|
},
|
|
107
107
|
move: function move() {
|
|
108
|
-
var internalState =
|
|
109
|
-
if (internalState.state == DISPOSED) throw $ReferenceError(ALREADY_DISPOSED);
|
|
108
|
+
var internalState = getPendingAsyncDisposableStackInternalState(this);
|
|
110
109
|
var newAsyncDisposableStack = new $AsyncDisposableStack();
|
|
111
110
|
getAsyncDisposableStackInternalState(newAsyncDisposableStack).stack = internalState.stack;
|
|
112
111
|
internalState.stack = [];
|
|
112
|
+
internalState.state = DISPOSED;
|
|
113
|
+
if (!DESCRIPTORS) this.disposed = true;
|
|
113
114
|
return newAsyncDisposableStack;
|
|
114
115
|
}
|
|
115
116
|
});
|
|
@@ -41,8 +41,10 @@ var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise) {
|
|
|
41
41
|
// https://github.com/tc39/proposal-async-iterator-helpers
|
|
42
42
|
$({ target: 'AsyncIterator', proto: true, real: true }, {
|
|
43
43
|
drop: function drop(limit) {
|
|
44
|
+
anObject(this);
|
|
45
|
+
var remaining = toPositiveInteger(notANaN(+limit));
|
|
44
46
|
return new AsyncIteratorProxy(getIteratorDirect(this), {
|
|
45
|
-
remaining:
|
|
47
|
+
remaining: remaining
|
|
46
48
|
});
|
|
47
49
|
}
|
|
48
50
|
});
|
|
@@ -57,8 +57,10 @@ var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise) {
|
|
|
57
57
|
// https://github.com/tc39/proposal-async-iterator-helpers
|
|
58
58
|
$({ target: 'AsyncIterator', proto: true, real: true }, {
|
|
59
59
|
filter: function filter(predicate) {
|
|
60
|
+
anObject(this);
|
|
61
|
+
aCallable(predicate);
|
|
60
62
|
return new AsyncIteratorProxy(getIteratorDirect(this), {
|
|
61
|
-
predicate:
|
|
63
|
+
predicate: predicate
|
|
62
64
|
});
|
|
63
65
|
}
|
|
64
66
|
});
|
|
@@ -77,8 +77,10 @@ var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise) {
|
|
|
77
77
|
// https://github.com/tc39/proposal-async-iterator-helpers
|
|
78
78
|
$({ target: 'AsyncIterator', proto: true, real: true }, {
|
|
79
79
|
flatMap: function flatMap(mapper) {
|
|
80
|
+
anObject(this);
|
|
81
|
+
aCallable(mapper);
|
|
80
82
|
return new AsyncIteratorProxy(getIteratorDirect(this), {
|
|
81
|
-
mapper:
|
|
83
|
+
mapper: mapper,
|
|
82
84
|
inner: null
|
|
83
85
|
});
|
|
84
86
|
}
|
|
@@ -15,13 +15,14 @@ var $TypeError = TypeError;
|
|
|
15
15
|
// https://github.com/tc39/proposal-async-iterator-helpers
|
|
16
16
|
$({ target: 'AsyncIterator', proto: true, real: true }, {
|
|
17
17
|
reduce: function reduce(reducer /* , initialValue */) {
|
|
18
|
+
anObject(this);
|
|
19
|
+
aCallable(reducer);
|
|
18
20
|
var record = getIteratorDirect(this);
|
|
19
21
|
var iterator = record.iterator;
|
|
20
22
|
var next = record.next;
|
|
21
23
|
var noInitial = arguments.length < 2;
|
|
22
24
|
var accumulator = noInitial ? undefined : arguments[1];
|
|
23
25
|
var counter = 0;
|
|
24
|
-
aCallable(reducer);
|
|
25
26
|
|
|
26
27
|
return new Promise(function (resolve, reject) {
|
|
27
28
|
var ifAbruptCloseAsyncIterator = function (error) {
|
|
@@ -38,8 +38,10 @@ var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise) {
|
|
|
38
38
|
// https://github.com/tc39/proposal-async-iterator-helpers
|
|
39
39
|
$({ target: 'AsyncIterator', proto: true, real: true }, {
|
|
40
40
|
take: function take(limit) {
|
|
41
|
+
anObject(this);
|
|
42
|
+
var remaining = toPositiveInteger(notANaN(+limit));
|
|
41
43
|
return new AsyncIteratorProxy(getIteratorDirect(this), {
|
|
42
|
-
remaining:
|
|
44
|
+
remaining: remaining
|
|
43
45
|
});
|
|
44
46
|
}
|
|
45
47
|
});
|
|
@@ -26,7 +26,11 @@ var HINT = 'sync-dispose';
|
|
|
26
26
|
var DISPOSED = 'disposed';
|
|
27
27
|
var PENDING = 'pending';
|
|
28
28
|
|
|
29
|
-
var
|
|
29
|
+
var getPendingDisposableStackInternalState = function (stack) {
|
|
30
|
+
var internalState = getDisposableStackInternalState(stack);
|
|
31
|
+
if (internalState.state == DISPOSED) throw $ReferenceError(DISPOSABLE_STACK + ' already disposed');
|
|
32
|
+
return internalState;
|
|
33
|
+
};
|
|
30
34
|
|
|
31
35
|
var $DisposableStack = function DisposableStack() {
|
|
32
36
|
setInternalState(anInstance(this, DisposableStackPrototype), {
|
|
@@ -68,14 +72,11 @@ defineBuiltIns(DisposableStackPrototype, {
|
|
|
68
72
|
if (thrown) throw suppressed;
|
|
69
73
|
},
|
|
70
74
|
use: function use(value) {
|
|
71
|
-
|
|
72
|
-
if (internalState.state == DISPOSED) throw $ReferenceError(ALREADY_DISPOSED);
|
|
73
|
-
addDisposableResource(internalState, value, HINT);
|
|
75
|
+
addDisposableResource(getPendingDisposableStackInternalState(this), value, HINT);
|
|
74
76
|
return value;
|
|
75
77
|
},
|
|
76
78
|
adopt: function adopt(value, onDispose) {
|
|
77
|
-
var internalState =
|
|
78
|
-
if (internalState.state == DISPOSED) throw $ReferenceError(ALREADY_DISPOSED);
|
|
79
|
+
var internalState = getPendingDisposableStackInternalState(this);
|
|
79
80
|
aCallable(onDispose);
|
|
80
81
|
addDisposableResource(internalState, undefined, HINT, function () {
|
|
81
82
|
onDispose(value);
|
|
@@ -83,17 +84,17 @@ defineBuiltIns(DisposableStackPrototype, {
|
|
|
83
84
|
return value;
|
|
84
85
|
},
|
|
85
86
|
defer: function defer(onDispose) {
|
|
86
|
-
var internalState =
|
|
87
|
-
if (internalState.state == DISPOSED) throw $ReferenceError(ALREADY_DISPOSED);
|
|
87
|
+
var internalState = getPendingDisposableStackInternalState(this);
|
|
88
88
|
aCallable(onDispose);
|
|
89
89
|
addDisposableResource(internalState, undefined, HINT, onDispose);
|
|
90
90
|
},
|
|
91
91
|
move: function move() {
|
|
92
|
-
var internalState =
|
|
93
|
-
if (internalState.state == DISPOSED) throw $ReferenceError(ALREADY_DISPOSED);
|
|
92
|
+
var internalState = getPendingDisposableStackInternalState(this);
|
|
94
93
|
var newDisposableStack = new $DisposableStack();
|
|
95
94
|
getDisposableStackInternalState(newDisposableStack).stack = internalState.stack;
|
|
96
95
|
internalState.stack = [];
|
|
96
|
+
internalState.state = DISPOSED;
|
|
97
|
+
if (!DESCRIPTORS) this.disposed = true;
|
|
97
98
|
return newDisposableStack;
|
|
98
99
|
}
|
|
99
100
|
});
|
|
@@ -26,8 +26,10 @@ var IteratorProxy = createIteratorProxy(function () {
|
|
|
26
26
|
// https://github.com/tc39/proposal-iterator-helpers
|
|
27
27
|
$({ target: 'Iterator', proto: true, real: true }, {
|
|
28
28
|
drop: function drop(limit) {
|
|
29
|
+
anObject(this);
|
|
30
|
+
var remaining = toPositiveInteger(notANaN(+limit));
|
|
29
31
|
return new IteratorProxy(getIteratorDirect(this), {
|
|
30
|
-
remaining:
|
|
32
|
+
remaining: remaining
|
|
31
33
|
});
|
|
32
34
|
}
|
|
33
35
|
});
|
|
@@ -2,15 +2,17 @@
|
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
3
|
var iterate = require('../internals/iterate');
|
|
4
4
|
var aCallable = require('../internals/a-callable');
|
|
5
|
+
var anObject = require('../internals/an-object');
|
|
5
6
|
var getIteratorDirect = require('../internals/get-iterator-direct');
|
|
6
7
|
|
|
7
8
|
// `Iterator.prototype.every` method
|
|
8
9
|
// https://github.com/tc39/proposal-iterator-helpers
|
|
9
10
|
$({ target: 'Iterator', proto: true, real: true }, {
|
|
10
11
|
every: function every(predicate) {
|
|
12
|
+
anObject(this);
|
|
13
|
+
aCallable(predicate);
|
|
11
14
|
var record = getIteratorDirect(this);
|
|
12
15
|
var counter = 0;
|
|
13
|
-
aCallable(predicate);
|
|
14
16
|
return !iterate(record, function (value, stop) {
|
|
15
17
|
if (!predicate(value, counter++)) return stop();
|
|
16
18
|
}, { IS_RECORD: true, INTERRUPTED: true }).stopped;
|
|
@@ -25,8 +25,10 @@ var IteratorProxy = createIteratorProxy(function () {
|
|
|
25
25
|
// https://github.com/tc39/proposal-iterator-helpers
|
|
26
26
|
$({ target: 'Iterator', proto: true, real: true }, {
|
|
27
27
|
filter: function filter(predicate) {
|
|
28
|
+
anObject(this);
|
|
29
|
+
aCallable(predicate);
|
|
28
30
|
return new IteratorProxy(getIteratorDirect(this), {
|
|
29
|
-
predicate:
|
|
31
|
+
predicate: predicate
|
|
30
32
|
});
|
|
31
33
|
}
|
|
32
34
|
});
|
|
@@ -2,15 +2,17 @@
|
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
3
|
var iterate = require('../internals/iterate');
|
|
4
4
|
var aCallable = require('../internals/a-callable');
|
|
5
|
+
var anObject = require('../internals/an-object');
|
|
5
6
|
var getIteratorDirect = require('../internals/get-iterator-direct');
|
|
6
7
|
|
|
7
8
|
// `Iterator.prototype.find` method
|
|
8
9
|
// https://github.com/tc39/proposal-iterator-helpers
|
|
9
10
|
$({ target: 'Iterator', proto: true, real: true }, {
|
|
10
11
|
find: function find(predicate) {
|
|
12
|
+
anObject(this);
|
|
13
|
+
aCallable(predicate);
|
|
11
14
|
var record = getIteratorDirect(this);
|
|
12
15
|
var counter = 0;
|
|
13
|
-
aCallable(predicate);
|
|
14
16
|
return iterate(record, function (value, stop) {
|
|
15
17
|
if (predicate(value, counter++)) return stop(value);
|
|
16
18
|
}, { IS_RECORD: true, INTERRUPTED: true }).result;
|
|
@@ -34,8 +34,10 @@ var IteratorProxy = createIteratorProxy(function () {
|
|
|
34
34
|
// https://github.com/tc39/proposal-iterator-helpers
|
|
35
35
|
$({ target: 'Iterator', proto: true, real: true }, {
|
|
36
36
|
flatMap: function flatMap(mapper) {
|
|
37
|
+
anObject(this);
|
|
38
|
+
aCallable(mapper);
|
|
37
39
|
return new IteratorProxy(getIteratorDirect(this), {
|
|
38
|
-
mapper:
|
|
40
|
+
mapper: mapper,
|
|
39
41
|
inner: null
|
|
40
42
|
});
|
|
41
43
|
}
|
|
@@ -2,15 +2,17 @@
|
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
3
|
var iterate = require('../internals/iterate');
|
|
4
4
|
var aCallable = require('../internals/a-callable');
|
|
5
|
+
var anObject = require('../internals/an-object');
|
|
5
6
|
var getIteratorDirect = require('../internals/get-iterator-direct');
|
|
6
7
|
|
|
7
8
|
// `Iterator.prototype.forEach` method
|
|
8
9
|
// https://github.com/tc39/proposal-iterator-helpers
|
|
9
10
|
$({ target: 'Iterator', proto: true, real: true }, {
|
|
10
11
|
forEach: function forEach(fn) {
|
|
12
|
+
anObject(this);
|
|
13
|
+
aCallable(fn);
|
|
11
14
|
var record = getIteratorDirect(this);
|
|
12
15
|
var counter = 0;
|
|
13
|
-
aCallable(fn);
|
|
14
16
|
iterate(record, function (value) {
|
|
15
17
|
fn(value, counter++);
|
|
16
18
|
}, { IS_RECORD: true });
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
3
|
var iterate = require('../internals/iterate');
|
|
4
4
|
var aCallable = require('../internals/a-callable');
|
|
5
|
+
var anObject = require('../internals/an-object');
|
|
5
6
|
var getIteratorDirect = require('../internals/get-iterator-direct');
|
|
6
7
|
|
|
7
8
|
var $TypeError = TypeError;
|
|
@@ -10,8 +11,9 @@ var $TypeError = TypeError;
|
|
|
10
11
|
// https://github.com/tc39/proposal-iterator-helpers
|
|
11
12
|
$({ target: 'Iterator', proto: true, real: true }, {
|
|
12
13
|
reduce: function reduce(reducer /* , initialValue */) {
|
|
13
|
-
|
|
14
|
+
anObject(this);
|
|
14
15
|
aCallable(reducer);
|
|
16
|
+
var record = getIteratorDirect(this);
|
|
15
17
|
var noInitial = arguments.length < 2;
|
|
16
18
|
var accumulator = noInitial ? undefined : arguments[1];
|
|
17
19
|
var counter = 0;
|
|
@@ -2,15 +2,17 @@
|
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
3
|
var iterate = require('../internals/iterate');
|
|
4
4
|
var aCallable = require('../internals/a-callable');
|
|
5
|
+
var anObject = require('../internals/an-object');
|
|
5
6
|
var getIteratorDirect = require('../internals/get-iterator-direct');
|
|
6
7
|
|
|
7
8
|
// `Iterator.prototype.some` method
|
|
8
9
|
// https://github.com/tc39/proposal-iterator-helpers
|
|
9
10
|
$({ target: 'Iterator', proto: true, real: true }, {
|
|
10
11
|
some: function some(predicate) {
|
|
12
|
+
anObject(this);
|
|
13
|
+
aCallable(predicate);
|
|
11
14
|
var record = getIteratorDirect(this);
|
|
12
15
|
var counter = 0;
|
|
13
|
-
aCallable(predicate);
|
|
14
16
|
return iterate(record, function (value, stop) {
|
|
15
17
|
if (predicate(value, counter++)) return stop();
|
|
16
18
|
}, { IS_RECORD: true, INTERRUPTED: true }).stopped;
|
|
@@ -23,8 +23,10 @@ var IteratorProxy = createIteratorProxy(function () {
|
|
|
23
23
|
// https://github.com/tc39/proposal-iterator-helpers
|
|
24
24
|
$({ target: 'Iterator', proto: true, real: true }, {
|
|
25
25
|
take: function take(limit) {
|
|
26
|
+
anObject(this);
|
|
27
|
+
var remaining = toPositiveInteger(notANaN(+limit));
|
|
26
28
|
return new IteratorProxy(getIteratorDirect(this), {
|
|
27
|
-
remaining:
|
|
29
|
+
remaining: remaining
|
|
28
30
|
});
|
|
29
31
|
}
|
|
30
32
|
});
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
+
var anObject = require('../internals/an-object');
|
|
3
4
|
var iterate = require('../internals/iterate');
|
|
4
5
|
var getIteratorDirect = require('../internals/get-iterator-direct');
|
|
5
6
|
|
|
@@ -10,7 +11,7 @@ var push = [].push;
|
|
|
10
11
|
$({ target: 'Iterator', proto: true, real: true }, {
|
|
11
12
|
toArray: function toArray() {
|
|
12
13
|
var result = [];
|
|
13
|
-
iterate(getIteratorDirect(this), push, { that: result, IS_RECORD: true });
|
|
14
|
+
iterate(getIteratorDirect(anObject(this)), push, { that: result, IS_RECORD: true });
|
|
14
15
|
return result;
|
|
15
16
|
}
|
|
16
17
|
});
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
|
+
var anObject = require('../internals/an-object');
|
|
3
4
|
var AsyncFromSyncIterator = require('../internals/async-from-sync-iterator');
|
|
4
5
|
var WrapAsyncIterator = require('../internals/async-iterator-wrap');
|
|
5
6
|
var getIteratorDirect = require('../internals/get-iterator-direct');
|
|
@@ -8,6 +9,6 @@ var getIteratorDirect = require('../internals/get-iterator-direct');
|
|
|
8
9
|
// https://github.com/tc39/proposal-async-iterator-helpers
|
|
9
10
|
$({ target: 'Iterator', proto: true, real: true }, {
|
|
10
11
|
toAsync: function toAsync() {
|
|
11
|
-
return new WrapAsyncIterator(getIteratorDirect(new AsyncFromSyncIterator(getIteratorDirect(this))));
|
|
12
|
+
return new WrapAsyncIterator(getIteratorDirect(new AsyncFromSyncIterator(getIteratorDirect(anObject(this)))));
|
|
12
13
|
}
|
|
13
14
|
});
|
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
var $ = require('../internals/export');
|
|
2
|
+
var fails = require('../internals/fails');
|
|
2
3
|
var intersection = require('../internals/set-intersection');
|
|
3
4
|
var setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');
|
|
4
5
|
|
|
6
|
+
var INCORRECT = !setMethodAcceptSetLike('intersection') || fails(function () {
|
|
7
|
+
// eslint-disable-next-line es/no-array-from, es/no-set -- testing
|
|
8
|
+
return Array.from(new Set([1, 2, 3]).intersection(new Set([3, 2]))) != '3,2';
|
|
9
|
+
});
|
|
10
|
+
|
|
5
11
|
// `Set.prototype.intersection` method
|
|
6
12
|
// https://github.com/tc39/proposal-set-methods
|
|
7
|
-
$({ target: 'Set', proto: true, real: true, forced:
|
|
13
|
+
$({ target: 'Set', proto: true, real: true, forced: INCORRECT }, {
|
|
8
14
|
intersection: intersection
|
|
9
15
|
});
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
var $ = require('../internals/export');
|
|
2
|
+
var getBuiltIn = require('../internals/get-built-in');
|
|
3
|
+
var fails = require('../internals/fails');
|
|
4
|
+
var validateArgumentsLength = require('../internals/validate-arguments-length');
|
|
5
|
+
var toString = require('../internals/to-string');
|
|
6
|
+
var USE_NATIVE_URL = require('../internals/url-constructor-detection');
|
|
7
|
+
|
|
8
|
+
var URL = getBuiltIn('URL');
|
|
9
|
+
|
|
10
|
+
// https://github.com/nodejs/node/issues/47505
|
|
11
|
+
var THROWS_WITHOUT_ARGUMENTS = USE_NATIVE_URL && fails(function () {
|
|
12
|
+
URL.canParse();
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
// `URL.canParse` method
|
|
16
|
+
// https://url.spec.whatwg.org/#dom-url-canparse
|
|
17
|
+
$({ target: 'URL', stat: true, forced: !THROWS_WITHOUT_ARGUMENTS }, {
|
|
18
|
+
canParse: function canParse(url) {
|
|
19
|
+
var length = validateArgumentsLength(arguments.length, 1);
|
|
20
|
+
var urlString = toString(url);
|
|
21
|
+
var base = length < 2 || arguments[1] === undefined ? undefined : toString(arguments[1]);
|
|
22
|
+
try {
|
|
23
|
+
return !!new URL(urlString, base);
|
|
24
|
+
} catch (error) {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
});
|
package/package.json
CHANGED
package/proposals/url.js
CHANGED
package/stable/index.js
CHANGED
|
@@ -251,6 +251,7 @@ require('../modules/web.self');
|
|
|
251
251
|
require('../modules/web.structured-clone');
|
|
252
252
|
require('../modules/web.timers');
|
|
253
253
|
require('../modules/web.url');
|
|
254
|
+
require('../modules/web.url.can-parse');
|
|
254
255
|
require('../modules/web.url.to-json');
|
|
255
256
|
require('../modules/web.url-search-params');
|
|
256
257
|
require('../modules/web.url-search-params.size');
|
package/stage/1.js
CHANGED
|
@@ -5,7 +5,6 @@ require('../proposals/array-last');
|
|
|
5
5
|
require('../proposals/array-unique');
|
|
6
6
|
require('../proposals/collection-methods');
|
|
7
7
|
require('../proposals/collection-of-from');
|
|
8
|
-
require('../proposals/iterator-range');
|
|
9
8
|
require('../proposals/keys-composition');
|
|
10
9
|
require('../proposals/math-extensions');
|
|
11
10
|
require('../proposals/math-signbit');
|
package/stage/2.js
CHANGED
|
@@ -3,13 +3,15 @@ var parent = require('./3');
|
|
|
3
3
|
require('../proposals/array-is-template-object');
|
|
4
4
|
require('../proposals/async-explicit-resource-management');
|
|
5
5
|
require('../proposals/async-iterator-helpers');
|
|
6
|
-
require('../proposals/decorator-metadata');
|
|
6
|
+
require('../proposals/decorator-metadata-v2');
|
|
7
|
+
require('../proposals/iterator-range');
|
|
7
8
|
require('../proposals/map-upsert-stage-2');
|
|
8
9
|
require('../proposals/string-dedent');
|
|
9
10
|
require('../proposals/symbol-predicates');
|
|
10
11
|
// TODO: Obsolete versions, remove from `core-js@4`
|
|
11
12
|
require('../proposals/array-grouping');
|
|
12
13
|
require('../proposals/decorators');
|
|
14
|
+
require('../proposals/decorator-metadata');
|
|
13
15
|
require('../proposals/iterator-helpers');
|
|
14
16
|
require('../proposals/set-methods');
|
|
15
17
|
require('../proposals/using-statement');
|
package/web/index.js
CHANGED
|
@@ -11,6 +11,7 @@ require('../modules/web.self');
|
|
|
11
11
|
require('../modules/web.structured-clone');
|
|
12
12
|
require('../modules/web.timers');
|
|
13
13
|
require('../modules/web.url');
|
|
14
|
+
require('../modules/web.url.can-parse');
|
|
14
15
|
require('../modules/web.url.to-json');
|
|
15
16
|
require('../modules/web.url-search-params');
|
|
16
17
|
require('../modules/web.url-search-params.size');
|