core-js-pure 3.16.3 → 3.16.4
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/features/bigint/index.js +1 -0
- package/features/bigint/range.js +1 -0
- package/features/number/index.js +1 -0
- package/internals/array-from.js +2 -1
- package/internals/async-from-sync-iterator.js +60 -0
- package/internals/async-iterator-create-proxy.js +30 -26
- package/internals/call-with-safe-iteration-closing.js +1 -2
- package/internals/get-async-iterator.js +15 -0
- package/internals/get-iterator.js +2 -2
- package/internals/get-method.js +7 -0
- package/internals/iterate.js +4 -4
- package/internals/iterator-close.js +17 -4
- package/internals/iterator-create-proxy.js +16 -17
- package/internals/shared.js +1 -1
- package/modules/esnext.async-iterator.as-indexed-pairs.js +2 -2
- package/modules/esnext.async-iterator.drop.js +2 -2
- package/modules/esnext.async-iterator.filter.js +2 -2
- package/modules/esnext.async-iterator.flat-map.js +7 -10
- package/modules/esnext.async-iterator.from.js +20 -15
- package/modules/esnext.async-iterator.map.js +2 -2
- package/modules/esnext.async-iterator.take.js +2 -2
- package/modules/esnext.iterator.as-indexed-pairs.js +2 -2
- package/modules/esnext.iterator.drop.js +2 -2
- package/modules/esnext.iterator.filter.js +2 -2
- package/modules/esnext.iterator.flat-map.js +3 -4
- package/modules/esnext.iterator.from.js +4 -4
- package/modules/esnext.iterator.map.js +2 -2
- package/modules/esnext.iterator.take.js +3 -3
- package/modules/esnext.observable.js +1 -4
- package/modules/web.url-search-params.js +1 -1
- package/package.json +2 -2
- package/internals/get-async-iterator-method.js +0 -9
package/features/bigint/index.js
CHANGED
package/features/bigint/range.js
CHANGED
package/features/number/index.js
CHANGED
package/internals/array-from.js
CHANGED
|
@@ -5,6 +5,7 @@ var callWithSafeIterationClosing = require('../internals/call-with-safe-iteratio
|
|
|
5
5
|
var isArrayIteratorMethod = require('../internals/is-array-iterator-method');
|
|
6
6
|
var toLength = require('../internals/to-length');
|
|
7
7
|
var createProperty = require('../internals/create-property');
|
|
8
|
+
var getIterator = require('../internals/get-iterator');
|
|
8
9
|
var getIteratorMethod = require('../internals/get-iterator-method');
|
|
9
10
|
|
|
10
11
|
// `Array.from` method implementation
|
|
@@ -21,7 +22,7 @@ module.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undef
|
|
|
21
22
|
if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);
|
|
22
23
|
// if the target is not iterable or it's an array with the default iterator - use a simple case
|
|
23
24
|
if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {
|
|
24
|
-
iterator =
|
|
25
|
+
iterator = getIterator(O, iteratorMethod);
|
|
25
26
|
next = iterator.next;
|
|
26
27
|
result = new C();
|
|
27
28
|
for (;!(step = next.call(iterator)).done; index++) {
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
var path = require('../internals/path');
|
|
3
|
+
var anObject = require('../internals/an-object');
|
|
4
|
+
var create = require('../internals/object-create');
|
|
5
|
+
var getMethod = require('../internals/get-method');
|
|
6
|
+
var redefineAll = require('../internals/redefine-all');
|
|
7
|
+
var InternalStateModule = require('../internals/internal-state');
|
|
8
|
+
var getBuiltIn = require('../internals/get-built-in');
|
|
9
|
+
|
|
10
|
+
var Promise = getBuiltIn('Promise');
|
|
11
|
+
|
|
12
|
+
var setInternalState = InternalStateModule.set;
|
|
13
|
+
var getInternalState = InternalStateModule.get;
|
|
14
|
+
|
|
15
|
+
var asyncFromSyncIteratorContinuation = function (result, resolve, reject) {
|
|
16
|
+
var done = result.done;
|
|
17
|
+
Promise.resolve(result.value).then(function (value) {
|
|
18
|
+
resolve({ done: done, value: value });
|
|
19
|
+
}, reject);
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
var AsyncFromSyncIterator = function AsyncIterator(iterator) {
|
|
23
|
+
setInternalState(this, {
|
|
24
|
+
iterator: anObject(iterator),
|
|
25
|
+
next: iterator.next
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
AsyncFromSyncIterator.prototype = redefineAll(create(path.AsyncIterator.prototype), {
|
|
30
|
+
next: function next(arg) {
|
|
31
|
+
var state = getInternalState(this);
|
|
32
|
+
var hasArg = !!arguments.length;
|
|
33
|
+
return new Promise(function (resolve, reject) {
|
|
34
|
+
var result = anObject(state.next.apply(state.iterator, hasArg ? [arg] : []));
|
|
35
|
+
asyncFromSyncIteratorContinuation(result, resolve, reject);
|
|
36
|
+
});
|
|
37
|
+
},
|
|
38
|
+
'return': function (arg) {
|
|
39
|
+
var iterator = getInternalState(this).iterator;
|
|
40
|
+
var hasArg = !!arguments.length;
|
|
41
|
+
return new Promise(function (resolve, reject) {
|
|
42
|
+
var $return = getMethod(iterator['return']);
|
|
43
|
+
if ($return === undefined) return resolve({ done: true, value: arg });
|
|
44
|
+
var result = anObject($return.apply(iterator, hasArg ? [arg] : []));
|
|
45
|
+
asyncFromSyncIteratorContinuation(result, resolve, reject);
|
|
46
|
+
});
|
|
47
|
+
},
|
|
48
|
+
'throw': function (arg) {
|
|
49
|
+
var iterator = getInternalState(this).iterator;
|
|
50
|
+
var hasArg = !!arguments.length;
|
|
51
|
+
return new Promise(function (resolve, reject) {
|
|
52
|
+
var $throw = getMethod(iterator['throw']);
|
|
53
|
+
if ($throw === undefined) return reject(arg);
|
|
54
|
+
var result = anObject($throw.apply(iterator, hasArg ? [arg] : []));
|
|
55
|
+
asyncFromSyncIteratorContinuation(result, resolve, reject);
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
module.exports = AsyncFromSyncIterator;
|
|
@@ -16,42 +16,46 @@ var getInternalState = InternalStateModule.get;
|
|
|
16
16
|
|
|
17
17
|
var TO_STRING_TAG = wellKnownSymbol('toStringTag');
|
|
18
18
|
|
|
19
|
-
var $return = function (value) {
|
|
20
|
-
var iterator = getInternalState(this).iterator;
|
|
21
|
-
var $$return = iterator['return'];
|
|
22
|
-
return $$return === undefined
|
|
23
|
-
? Promise.resolve({ done: true, value: value })
|
|
24
|
-
: anObject($$return.call(iterator, value));
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
var $throw = function (value) {
|
|
28
|
-
var iterator = getInternalState(this).iterator;
|
|
29
|
-
var $$throw = iterator['throw'];
|
|
30
|
-
return $$throw === undefined
|
|
31
|
-
? Promise.reject(value)
|
|
32
|
-
: $$throw.call(iterator, value);
|
|
33
|
-
};
|
|
34
|
-
|
|
35
19
|
module.exports = function (nextHandler, IS_ITERATOR) {
|
|
36
20
|
var AsyncIteratorProxy = function AsyncIterator(state) {
|
|
37
21
|
state.next = aFunction(state.iterator.next);
|
|
38
22
|
state.done = false;
|
|
23
|
+
state.ignoreArgument = !IS_ITERATOR;
|
|
39
24
|
setInternalState(this, state);
|
|
40
25
|
};
|
|
41
26
|
|
|
42
27
|
AsyncIteratorProxy.prototype = redefineAll(create(path.AsyncIterator.prototype), {
|
|
43
28
|
next: function next(arg) {
|
|
44
|
-
var
|
|
45
|
-
var
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
}
|
|
29
|
+
var that = this;
|
|
30
|
+
var hasArgument = !!arguments.length;
|
|
31
|
+
return new Promise(function (resolve) {
|
|
32
|
+
var state = getInternalState(that);
|
|
33
|
+
var args = hasArgument ? [state.ignoreArgument ? undefined : arg] : IS_ITERATOR ? [] : [undefined];
|
|
34
|
+
state.ignoreArgument = false;
|
|
35
|
+
resolve(state.done ? { done: true, value: undefined } : anObject(nextHandler.call(state, Promise, args)));
|
|
36
|
+
});
|
|
37
|
+
},
|
|
38
|
+
'return': function (value) {
|
|
39
|
+
var that = this;
|
|
40
|
+
return new Promise(function (resolve, reject) {
|
|
41
|
+
var iterator = getInternalState(that).iterator;
|
|
42
|
+
var $$return = iterator['return'];
|
|
43
|
+
if ($$return === undefined) return resolve({ done: true, value: value });
|
|
44
|
+
Promise.resolve($$return.call(iterator, value)).then(function (result) {
|
|
45
|
+
anObject(result);
|
|
46
|
+
resolve({ done: true, value: value });
|
|
47
|
+
}, reject);
|
|
48
|
+
});
|
|
52
49
|
},
|
|
53
|
-
'
|
|
54
|
-
|
|
50
|
+
'throw': function (value) {
|
|
51
|
+
var that = this;
|
|
52
|
+
return new Promise(function (resolve, reject) {
|
|
53
|
+
var iterator = getInternalState(that).iterator;
|
|
54
|
+
var $$throw = iterator['throw'];
|
|
55
|
+
if ($$throw === undefined) return reject(value);
|
|
56
|
+
resolve($$throw.call(iterator, value));
|
|
57
|
+
});
|
|
58
|
+
}
|
|
55
59
|
});
|
|
56
60
|
|
|
57
61
|
if (!IS_ITERATOR) {
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
var AsyncFromSyncIterator = require('../internals/async-from-sync-iterator');
|
|
2
|
+
var aFunction = require('../internals/a-function');
|
|
3
|
+
var anObject = require('../internals/an-object');
|
|
4
|
+
var getIterator = require('../internals/get-iterator');
|
|
5
|
+
var getMethod = require('../internals/get-method');
|
|
6
|
+
var wellKnownSymbol = require('../internals/well-known-symbol');
|
|
7
|
+
|
|
8
|
+
var ASYNC_ITERATOR = wellKnownSymbol('asyncIterator');
|
|
9
|
+
|
|
10
|
+
module.exports = function (it, usingIterator) {
|
|
11
|
+
var method = arguments.length < 2 ? getMethod(it[ASYNC_ITERATOR]) : usingIterator;
|
|
12
|
+
if (method === undefined) {
|
|
13
|
+
return new AsyncFromSyncIterator(getIterator(it));
|
|
14
|
+
} return anObject(aFunction(method).call(it));
|
|
15
|
+
};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
var anObject = require('../internals/an-object');
|
|
2
2
|
var getIteratorMethod = require('../internals/get-iterator-method');
|
|
3
3
|
|
|
4
|
-
module.exports = function (it) {
|
|
5
|
-
var iteratorMethod = getIteratorMethod(it);
|
|
4
|
+
module.exports = function (it, usingIterator) {
|
|
5
|
+
var iteratorMethod = arguments.length < 2 ? getIteratorMethod(it) : usingIterator;
|
|
6
6
|
if (typeof iteratorMethod != 'function') {
|
|
7
7
|
throw TypeError(String(it) + ' is not iterable');
|
|
8
8
|
} return anObject(iteratorMethod.call(it));
|
package/internals/iterate.js
CHANGED
|
@@ -2,6 +2,7 @@ var anObject = require('../internals/an-object');
|
|
|
2
2
|
var isArrayIteratorMethod = require('../internals/is-array-iterator-method');
|
|
3
3
|
var toLength = require('../internals/to-length');
|
|
4
4
|
var bind = require('../internals/function-bind-context');
|
|
5
|
+
var getIterator = require('../internals/get-iterator');
|
|
5
6
|
var getIteratorMethod = require('../internals/get-iterator-method');
|
|
6
7
|
var iteratorClose = require('../internals/iterator-close');
|
|
7
8
|
|
|
@@ -19,7 +20,7 @@ module.exports = function (iterable, unboundFunction, options) {
|
|
|
19
20
|
var iterator, iterFn, index, length, result, next, step;
|
|
20
21
|
|
|
21
22
|
var stop = function (condition) {
|
|
22
|
-
if (iterator) iteratorClose(iterator);
|
|
23
|
+
if (iterator) iteratorClose(iterator, 'return', condition);
|
|
23
24
|
return new Result(true, condition);
|
|
24
25
|
};
|
|
25
26
|
|
|
@@ -42,7 +43,7 @@ module.exports = function (iterable, unboundFunction, options) {
|
|
|
42
43
|
if (result && result instanceof Result) return result;
|
|
43
44
|
} return new Result(false);
|
|
44
45
|
}
|
|
45
|
-
iterator =
|
|
46
|
+
iterator = getIterator(iterable, iterFn);
|
|
46
47
|
}
|
|
47
48
|
|
|
48
49
|
next = iterator.next;
|
|
@@ -50,8 +51,7 @@ module.exports = function (iterable, unboundFunction, options) {
|
|
|
50
51
|
try {
|
|
51
52
|
result = callFn(step.value);
|
|
52
53
|
} catch (error) {
|
|
53
|
-
iteratorClose(iterator);
|
|
54
|
-
throw error;
|
|
54
|
+
iteratorClose(iterator, 'throw', error);
|
|
55
55
|
}
|
|
56
56
|
if (typeof result == 'object' && result && result instanceof Result) return result;
|
|
57
57
|
} return new Result(false);
|
|
@@ -1,8 +1,21 @@
|
|
|
1
1
|
var anObject = require('../internals/an-object');
|
|
2
2
|
|
|
3
|
-
module.exports = function (iterator) {
|
|
4
|
-
var
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
module.exports = function (iterator, kind, value) {
|
|
4
|
+
var innerResult, innerError;
|
|
5
|
+
anObject(iterator);
|
|
6
|
+
try {
|
|
7
|
+
innerResult = iterator['return'];
|
|
8
|
+
if (innerResult === undefined) {
|
|
9
|
+
if (kind === 'throw') throw value;
|
|
10
|
+
return value;
|
|
11
|
+
}
|
|
12
|
+
innerResult = innerResult.call(iterator);
|
|
13
|
+
} catch (error) {
|
|
14
|
+
innerError = true;
|
|
15
|
+
innerResult = error;
|
|
7
16
|
}
|
|
17
|
+
if (kind === 'throw') throw value;
|
|
18
|
+
if (innerError) throw innerResult;
|
|
19
|
+
anObject(innerResult);
|
|
20
|
+
return value;
|
|
8
21
|
};
|
|
@@ -13,34 +13,33 @@ var getInternalState = InternalStateModule.get;
|
|
|
13
13
|
|
|
14
14
|
var TO_STRING_TAG = wellKnownSymbol('toStringTag');
|
|
15
15
|
|
|
16
|
-
var $return = function (value) {
|
|
17
|
-
var iterator = getInternalState(this).iterator;
|
|
18
|
-
var $$return = iterator['return'];
|
|
19
|
-
return $$return === undefined ? { done: true, value: value } : anObject($$return.call(iterator, value));
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
var $throw = function (value) {
|
|
23
|
-
var iterator = getInternalState(this).iterator;
|
|
24
|
-
var $$throw = iterator['throw'];
|
|
25
|
-
if ($$throw === undefined) throw value;
|
|
26
|
-
return $$throw.call(iterator, value);
|
|
27
|
-
};
|
|
28
|
-
|
|
29
16
|
module.exports = function (nextHandler, IS_ITERATOR) {
|
|
30
17
|
var IteratorProxy = function Iterator(state) {
|
|
31
18
|
state.next = aFunction(state.iterator.next);
|
|
32
19
|
state.done = false;
|
|
20
|
+
state.ignoreArg = !IS_ITERATOR;
|
|
33
21
|
setInternalState(this, state);
|
|
34
22
|
};
|
|
35
23
|
|
|
36
24
|
IteratorProxy.prototype = redefineAll(create(path.Iterator.prototype), {
|
|
37
|
-
next: function next() {
|
|
25
|
+
next: function next(arg) {
|
|
38
26
|
var state = getInternalState(this);
|
|
39
|
-
var
|
|
27
|
+
var args = arguments.length ? [state.ignoreArg ? undefined : arg] : IS_ITERATOR ? [] : [undefined];
|
|
28
|
+
state.ignoreArg = false;
|
|
29
|
+
var result = state.done ? undefined : nextHandler.call(state, args);
|
|
40
30
|
return { done: state.done, value: result };
|
|
41
31
|
},
|
|
42
|
-
'return':
|
|
43
|
-
|
|
32
|
+
'return': function (value) {
|
|
33
|
+
var iterator = getInternalState(this).iterator;
|
|
34
|
+
var $$return = iterator['return'];
|
|
35
|
+
return { done: true, value: $$return === undefined ? value : anObject($$return.call(iterator, value)).value };
|
|
36
|
+
},
|
|
37
|
+
'throw': function (value) {
|
|
38
|
+
var iterator = getInternalState(this).iterator;
|
|
39
|
+
var $$throw = iterator['throw'];
|
|
40
|
+
if ($$throw === undefined) throw value;
|
|
41
|
+
return $$throw.call(iterator, value);
|
|
42
|
+
}
|
|
44
43
|
});
|
|
45
44
|
|
|
46
45
|
if (!IS_ITERATOR) {
|
package/internals/shared.js
CHANGED
|
@@ -4,7 +4,7 @@ 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.16.
|
|
7
|
+
version: '3.16.4',
|
|
8
8
|
mode: IS_PURE ? 'pure' : 'global',
|
|
9
9
|
copyright: '© 2021 Denis Pushkarev (zloirock.ru)'
|
|
10
10
|
});
|
|
@@ -4,11 +4,11 @@ var $ = require('../internals/export');
|
|
|
4
4
|
var anObject = require('../internals/an-object');
|
|
5
5
|
var createAsyncIteratorProxy = require('../internals/async-iterator-create-proxy');
|
|
6
6
|
|
|
7
|
-
var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise,
|
|
7
|
+
var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise, args) {
|
|
8
8
|
var state = this;
|
|
9
9
|
var iterator = state.iterator;
|
|
10
10
|
|
|
11
|
-
return Promise.resolve(anObject(state.next.
|
|
11
|
+
return Promise.resolve(anObject(state.next.apply(iterator, args))).then(function (step) {
|
|
12
12
|
if (anObject(step).done) {
|
|
13
13
|
state.done = true;
|
|
14
14
|
return { done: true, value: undefined };
|
|
@@ -5,14 +5,14 @@ var anObject = require('../internals/an-object');
|
|
|
5
5
|
var toPositiveInteger = require('../internals/to-positive-integer');
|
|
6
6
|
var createAsyncIteratorProxy = require('../internals/async-iterator-create-proxy');
|
|
7
7
|
|
|
8
|
-
var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise,
|
|
8
|
+
var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise, args) {
|
|
9
9
|
var state = this;
|
|
10
10
|
|
|
11
11
|
return new Promise(function (resolve, reject) {
|
|
12
12
|
var loop = function () {
|
|
13
13
|
try {
|
|
14
14
|
Promise.resolve(
|
|
15
|
-
anObject(state.next.
|
|
15
|
+
anObject(state.next.apply(state.iterator, state.remaining ? [] : args))
|
|
16
16
|
).then(function (step) {
|
|
17
17
|
try {
|
|
18
18
|
if (anObject(step).done) {
|
|
@@ -5,14 +5,14 @@ var aFunction = require('../internals/a-function');
|
|
|
5
5
|
var anObject = require('../internals/an-object');
|
|
6
6
|
var createAsyncIteratorProxy = require('../internals/async-iterator-create-proxy');
|
|
7
7
|
|
|
8
|
-
var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise,
|
|
8
|
+
var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise, args) {
|
|
9
9
|
var state = this;
|
|
10
10
|
var filterer = state.filterer;
|
|
11
11
|
|
|
12
12
|
return new Promise(function (resolve, reject) {
|
|
13
13
|
var loop = function () {
|
|
14
14
|
try {
|
|
15
|
-
Promise.resolve(anObject(state.next.
|
|
15
|
+
Promise.resolve(anObject(state.next.apply(state.iterator, args))).then(function (step) {
|
|
16
16
|
try {
|
|
17
17
|
if (anObject(step).done) {
|
|
18
18
|
state.done = true;
|
|
@@ -4,17 +4,17 @@ var $ = require('../internals/export');
|
|
|
4
4
|
var aFunction = require('../internals/a-function');
|
|
5
5
|
var anObject = require('../internals/an-object');
|
|
6
6
|
var createAsyncIteratorProxy = require('../internals/async-iterator-create-proxy');
|
|
7
|
-
var
|
|
7
|
+
var getAsyncIterator = require('../internals/get-async-iterator');
|
|
8
8
|
|
|
9
|
-
var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise
|
|
9
|
+
var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise) {
|
|
10
10
|
var state = this;
|
|
11
11
|
var mapper = state.mapper;
|
|
12
|
-
var innerIterator
|
|
12
|
+
var innerIterator;
|
|
13
13
|
|
|
14
14
|
return new Promise(function (resolve, reject) {
|
|
15
15
|
var outerLoop = function () {
|
|
16
16
|
try {
|
|
17
|
-
Promise.resolve(anObject(state.next.call(state.iterator
|
|
17
|
+
Promise.resolve(anObject(state.next.call(state.iterator))).then(function (step) {
|
|
18
18
|
try {
|
|
19
19
|
if (anObject(step).done) {
|
|
20
20
|
state.done = true;
|
|
@@ -22,12 +22,9 @@ var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise, arg) {
|
|
|
22
22
|
} else {
|
|
23
23
|
Promise.resolve(mapper(step.value)).then(function (mapped) {
|
|
24
24
|
try {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
state.innerNext = aFunction(innerIterator.next);
|
|
29
|
-
return innerLoop();
|
|
30
|
-
} reject(TypeError('.flatMap callback should return an iterable object'));
|
|
25
|
+
state.innerIterator = innerIterator = getAsyncIterator(mapped);
|
|
26
|
+
state.innerNext = aFunction(innerIterator.next);
|
|
27
|
+
return innerLoop();
|
|
31
28
|
} catch (error2) { reject(error2); }
|
|
32
29
|
}, reject);
|
|
33
30
|
}
|
|
@@ -1,34 +1,39 @@
|
|
|
1
1
|
// https://github.com/tc39/proposal-iterator-helpers
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
3
|
var path = require('../internals/path');
|
|
4
|
-
var aFunction = require('../internals/a-function');
|
|
5
4
|
var anObject = require('../internals/an-object');
|
|
6
5
|
var toObject = require('../internals/to-object');
|
|
7
6
|
var createAsyncIteratorProxy = require('../internals/async-iterator-create-proxy');
|
|
8
|
-
var
|
|
7
|
+
var getAsyncIterator = require('../internals/get-async-iterator');
|
|
8
|
+
var getIterator = require('../internals/get-iterator');
|
|
9
|
+
var getIteratorMethod = require('../internals/get-iterator-method');
|
|
10
|
+
var getMethod = require('../internals/get-method');
|
|
11
|
+
var wellKnownSymbol = require('../internals/well-known-symbol');
|
|
12
|
+
var AsyncFromSyncIterator = require('../internals/async-from-sync-iterator');
|
|
13
|
+
|
|
14
|
+
var ASYNC_ITERATOR = wellKnownSymbol('asyncIterator');
|
|
9
15
|
|
|
10
16
|
var AsyncIterator = path.AsyncIterator;
|
|
11
17
|
|
|
12
|
-
var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise,
|
|
13
|
-
|
|
14
|
-
var done = step.done;
|
|
15
|
-
return Promise.resolve(step.value).then(function (value) {
|
|
16
|
-
return { done: done, value: value };
|
|
17
|
-
});
|
|
18
|
+
var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise, args) {
|
|
19
|
+
return anObject(this.next.apply(this.iterator, args));
|
|
18
20
|
}, true);
|
|
19
21
|
|
|
20
22
|
$({ target: 'AsyncIterator', stat: true }, {
|
|
21
23
|
from: function from(O) {
|
|
22
24
|
var object = toObject(O);
|
|
23
|
-
var usingIterator =
|
|
25
|
+
var usingIterator = getMethod(object[ASYNC_ITERATOR]);
|
|
24
26
|
var iterator;
|
|
25
|
-
if (usingIterator
|
|
26
|
-
iterator =
|
|
27
|
+
if (usingIterator !== undefined) {
|
|
28
|
+
iterator = getAsyncIterator(object, usingIterator);
|
|
27
29
|
if (iterator instanceof AsyncIterator) return iterator;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
}
|
|
31
|
+
if (iterator === undefined) {
|
|
32
|
+
usingIterator = getIteratorMethod(object);
|
|
33
|
+
if (usingIterator !== undefined) return new AsyncFromSyncIterator(getIterator(object, usingIterator));
|
|
34
|
+
}
|
|
35
|
+
return new AsyncIteratorProxy({
|
|
36
|
+
iterator: iterator !== undefined ? iterator : object
|
|
32
37
|
});
|
|
33
38
|
}
|
|
34
39
|
});
|
|
@@ -5,11 +5,11 @@ var aFunction = require('../internals/a-function');
|
|
|
5
5
|
var anObject = require('../internals/an-object');
|
|
6
6
|
var createAsyncIteratorProxy = require('../internals/async-iterator-create-proxy');
|
|
7
7
|
|
|
8
|
-
var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise,
|
|
8
|
+
var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise, args) {
|
|
9
9
|
var state = this;
|
|
10
10
|
var mapper = state.mapper;
|
|
11
11
|
|
|
12
|
-
return Promise.resolve(anObject(state.next.
|
|
12
|
+
return Promise.resolve(anObject(state.next.apply(state.iterator, args))).then(function (step) {
|
|
13
13
|
if (anObject(step).done) {
|
|
14
14
|
state.done = true;
|
|
15
15
|
return { done: true, value: undefined };
|
|
@@ -5,7 +5,7 @@ var anObject = require('../internals/an-object');
|
|
|
5
5
|
var toPositiveInteger = require('../internals/to-positive-integer');
|
|
6
6
|
var createAsyncIteratorProxy = require('../internals/async-iterator-create-proxy');
|
|
7
7
|
|
|
8
|
-
var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise,
|
|
8
|
+
var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise, args) {
|
|
9
9
|
var iterator = this.iterator;
|
|
10
10
|
var returnMethod, result;
|
|
11
11
|
if (!this.remaining--) {
|
|
@@ -18,7 +18,7 @@ var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise, arg) {
|
|
|
18
18
|
});
|
|
19
19
|
}
|
|
20
20
|
return result;
|
|
21
|
-
} return this.next.
|
|
21
|
+
} return this.next.apply(iterator, args);
|
|
22
22
|
});
|
|
23
23
|
|
|
24
24
|
$({ target: 'AsyncIterator', proto: true, real: true }, {
|
|
@@ -4,8 +4,8 @@ var $ = require('../internals/export');
|
|
|
4
4
|
var anObject = require('../internals/an-object');
|
|
5
5
|
var createIteratorProxy = require('../internals/iterator-create-proxy');
|
|
6
6
|
|
|
7
|
-
var IteratorProxy = createIteratorProxy(function (
|
|
8
|
-
var result = anObject(this.next.
|
|
7
|
+
var IteratorProxy = createIteratorProxy(function (args) {
|
|
8
|
+
var result = anObject(this.next.apply(this.iterator, args));
|
|
9
9
|
var done = this.done = !!result.done;
|
|
10
10
|
if (!done) return [this.index++, result.value];
|
|
11
11
|
});
|
|
@@ -5,7 +5,7 @@ var anObject = require('../internals/an-object');
|
|
|
5
5
|
var toPositiveInteger = require('../internals/to-positive-integer');
|
|
6
6
|
var createIteratorProxy = require('../internals/iterator-create-proxy');
|
|
7
7
|
|
|
8
|
-
var IteratorProxy = createIteratorProxy(function (
|
|
8
|
+
var IteratorProxy = createIteratorProxy(function (args) {
|
|
9
9
|
var iterator = this.iterator;
|
|
10
10
|
var next = this.next;
|
|
11
11
|
var result, done;
|
|
@@ -15,7 +15,7 @@ var IteratorProxy = createIteratorProxy(function (arg) {
|
|
|
15
15
|
done = this.done = !!result.done;
|
|
16
16
|
if (done) return;
|
|
17
17
|
}
|
|
18
|
-
result = anObject(next.
|
|
18
|
+
result = anObject(next.apply(iterator, args));
|
|
19
19
|
done = this.done = !!result.done;
|
|
20
20
|
if (!done) return result.value;
|
|
21
21
|
});
|
|
@@ -6,13 +6,13 @@ 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');
|
|
8
8
|
|
|
9
|
-
var IteratorProxy = createIteratorProxy(function (
|
|
9
|
+
var IteratorProxy = createIteratorProxy(function (args) {
|
|
10
10
|
var iterator = this.iterator;
|
|
11
11
|
var filterer = this.filterer;
|
|
12
12
|
var next = this.next;
|
|
13
13
|
var result, done, value;
|
|
14
14
|
while (true) {
|
|
15
|
-
result = anObject(next.
|
|
15
|
+
result = anObject(next.apply(iterator, args));
|
|
16
16
|
done = this.done = !!result.done;
|
|
17
17
|
if (done) return;
|
|
18
18
|
value = result.value;
|
|
@@ -7,7 +7,7 @@ var getIteratorMethod = require('../internals/get-iterator-method');
|
|
|
7
7
|
var createIteratorProxy = require('../internals/iterator-create-proxy');
|
|
8
8
|
var iteratorClose = require('../internals/iterator-close');
|
|
9
9
|
|
|
10
|
-
var IteratorProxy = createIteratorProxy(function (
|
|
10
|
+
var IteratorProxy = createIteratorProxy(function () {
|
|
11
11
|
var iterator = this.iterator;
|
|
12
12
|
var mapper = this.mapper;
|
|
13
13
|
var result, mapped, iteratorMethod, innerIterator;
|
|
@@ -20,7 +20,7 @@ var IteratorProxy = createIteratorProxy(function (arg) {
|
|
|
20
20
|
this.innerIterator = this.innerNext = null;
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
result = anObject(this.next.call(iterator
|
|
23
|
+
result = anObject(this.next.call(iterator));
|
|
24
24
|
|
|
25
25
|
if (this.done = !!result.done) return;
|
|
26
26
|
|
|
@@ -34,8 +34,7 @@ var IteratorProxy = createIteratorProxy(function (arg) {
|
|
|
34
34
|
this.innerIterator = innerIterator = anObject(iteratorMethod.call(mapped));
|
|
35
35
|
this.innerNext = aFunction(innerIterator.next);
|
|
36
36
|
} catch (error) {
|
|
37
|
-
iteratorClose(iterator);
|
|
38
|
-
throw error;
|
|
37
|
+
iteratorClose(iterator, 'throw', error);
|
|
39
38
|
}
|
|
40
39
|
}
|
|
41
40
|
});
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
// https://github.com/tc39/proposal-iterator-helpers
|
|
2
2
|
var $ = require('../internals/export');
|
|
3
3
|
var path = require('../internals/path');
|
|
4
|
-
var aFunction = require('../internals/a-function');
|
|
5
4
|
var anObject = require('../internals/an-object');
|
|
6
5
|
var toObject = require('../internals/to-object');
|
|
7
6
|
var createIteratorProxy = require('../internals/iterator-create-proxy');
|
|
7
|
+
var getIterator = require('../internals/get-iterator');
|
|
8
8
|
var getIteratorMethod = require('../internals/get-iterator-method');
|
|
9
9
|
|
|
10
10
|
var Iterator = path.Iterator;
|
|
11
11
|
|
|
12
|
-
var IteratorProxy = createIteratorProxy(function (
|
|
13
|
-
var result = anObject(this.next.
|
|
12
|
+
var IteratorProxy = createIteratorProxy(function (args) {
|
|
13
|
+
var result = anObject(this.next.apply(this.iterator, args));
|
|
14
14
|
var done = this.done = !!result.done;
|
|
15
15
|
if (!done) return result.value;
|
|
16
16
|
}, true);
|
|
@@ -21,7 +21,7 @@ $({ target: 'Iterator', stat: true }, {
|
|
|
21
21
|
var usingIterator = getIteratorMethod(object);
|
|
22
22
|
var iterator;
|
|
23
23
|
if (usingIterator != null) {
|
|
24
|
-
iterator =
|
|
24
|
+
iterator = getIterator(object, usingIterator);
|
|
25
25
|
if (iterator instanceof Iterator) return iterator;
|
|
26
26
|
} else {
|
|
27
27
|
iterator = object;
|
|
@@ -6,9 +6,9 @@ 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');
|
|
8
8
|
|
|
9
|
-
var IteratorProxy = createIteratorProxy(function (
|
|
9
|
+
var IteratorProxy = createIteratorProxy(function (args) {
|
|
10
10
|
var iterator = this.iterator;
|
|
11
|
-
var result = anObject(this.next.
|
|
11
|
+
var result = anObject(this.next.apply(iterator, args));
|
|
12
12
|
var done = this.done = !!result.done;
|
|
13
13
|
if (!done) return callWithSafeIterationClosing(iterator, this.mapper, result.value);
|
|
14
14
|
});
|
|
@@ -6,13 +6,13 @@ var toPositiveInteger = require('../internals/to-positive-integer');
|
|
|
6
6
|
var createIteratorProxy = require('../internals/iterator-create-proxy');
|
|
7
7
|
var iteratorClose = require('../internals/iterator-close');
|
|
8
8
|
|
|
9
|
-
var IteratorProxy = createIteratorProxy(function (
|
|
9
|
+
var IteratorProxy = createIteratorProxy(function (args) {
|
|
10
10
|
var iterator = this.iterator;
|
|
11
11
|
if (!this.remaining--) {
|
|
12
12
|
this.done = true;
|
|
13
|
-
return iteratorClose(iterator);
|
|
13
|
+
return iteratorClose(iterator, 'return', undefined);
|
|
14
14
|
}
|
|
15
|
-
var result = anObject(this.next.
|
|
15
|
+
var result = anObject(this.next.apply(iterator, args));
|
|
16
16
|
var done = this.done = !!result.done;
|
|
17
17
|
if (!done) return result.value;
|
|
18
18
|
});
|
|
@@ -11,6 +11,7 @@ var defineProperty = require('../internals/object-define-property').f;
|
|
|
11
11
|
var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');
|
|
12
12
|
var redefineAll = require('../internals/redefine-all');
|
|
13
13
|
var getIterator = require('../internals/get-iterator');
|
|
14
|
+
var getMethod = require('../internals/get-method');
|
|
14
15
|
var iterate = require('../internals/iterate');
|
|
15
16
|
var hostReportErrors = require('../internals/host-report-errors');
|
|
16
17
|
var wellKnownSymbol = require('../internals/well-known-symbol');
|
|
@@ -20,10 +21,6 @@ var OBSERVABLE = wellKnownSymbol('observable');
|
|
|
20
21
|
var getInternalState = InternalStateModule.get;
|
|
21
22
|
var setInternalState = InternalStateModule.set;
|
|
22
23
|
|
|
23
|
-
var getMethod = function (fn) {
|
|
24
|
-
return fn == null ? undefined : aFunction(fn);
|
|
25
|
-
};
|
|
26
|
-
|
|
27
24
|
var cleanupSubscription = function (subscriptionState) {
|
|
28
25
|
var cleanup = subscriptionState.cleanup;
|
|
29
26
|
if (cleanup) {
|
|
@@ -143,7 +143,7 @@ var URLSearchParamsConstructor = function URLSearchParams(/* init */) {
|
|
|
143
143
|
if (isObject(init)) {
|
|
144
144
|
iteratorMethod = getIteratorMethod(init);
|
|
145
145
|
if (typeof iteratorMethod === 'function') {
|
|
146
|
-
iterator =
|
|
146
|
+
iterator = getIterator(init, iteratorMethod);
|
|
147
147
|
next = iterator.next;
|
|
148
148
|
while (!(step = next.call(iterator)).done) {
|
|
149
149
|
entryIterator = getIterator(anObject(step.value));
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "core-js-pure",
|
|
3
3
|
"description": "Standard library",
|
|
4
|
-
"version": "3.16.
|
|
4
|
+
"version": "3.16.4",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "https://github.com/zloirock/core-js.git"
|
|
@@ -54,5 +54,5 @@
|
|
|
54
54
|
"scripts": {
|
|
55
55
|
"postinstall": "node -e \"try{require('./postinstall')}catch(e){}\""
|
|
56
56
|
},
|
|
57
|
-
"gitHead": "
|
|
57
|
+
"gitHead": "eaf15afc85003c336f71c113b886aaf6ecb2a807"
|
|
58
58
|
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
var getIteratorMethod = require('../internals/get-iterator-method');
|
|
2
|
-
var wellKnownSymbol = require('../internals/well-known-symbol');
|
|
3
|
-
|
|
4
|
-
var ASYNC_ITERATOR = wellKnownSymbol('asyncIterator');
|
|
5
|
-
|
|
6
|
-
module.exports = function (it) {
|
|
7
|
-
var method = it[ASYNC_ITERATOR];
|
|
8
|
-
return method === undefined ? getIteratorMethod(it) : method;
|
|
9
|
-
};
|