core-js-pure
Advanced tools
Comparing version 3.23.5 to 3.24.0
@@ -6,2 +6,3 @@ var parent = require('../../stable/typed-array'); | ||
require('../../modules/esnext.typed-array.to-sorted'); | ||
// TODO: Remove from `core-js@4` | ||
require('../../modules/esnext.typed-array.to-spliced'); | ||
@@ -8,0 +9,0 @@ require('../../modules/esnext.typed-array.with'); |
@@ -6,2 +6,3 @@ var parent = require('../../stable/typed-array/methods'); | ||
require('../../modules/esnext.typed-array.to-sorted'); | ||
// TODO: Remove from `core-js@4` | ||
require('../../modules/esnext.typed-array.to-spliced'); | ||
@@ -8,0 +9,0 @@ require('../../modules/esnext.typed-array.with'); |
@@ -0,1 +1,2 @@ | ||
// TODO: Remove from `core-js@4` | ||
require('../../modules/esnext.typed-array.to-spliced'); |
@@ -6,2 +6,3 @@ require('../../modules/es.array.iterator'); | ||
require('../../modules/esnext.async-iterator.constructor'); | ||
// TODO: Remove from `core-js@4` | ||
require('../../modules/esnext.async-iterator.as-indexed-pairs'); | ||
@@ -15,2 +16,3 @@ require('../../modules/esnext.async-iterator.drop'); | ||
require('../../modules/esnext.async-iterator.from'); | ||
require('../../modules/esnext.async-iterator.indexed'); | ||
require('../../modules/esnext.async-iterator.map'); | ||
@@ -17,0 +19,0 @@ require('../../modules/esnext.async-iterator.reduce'); |
@@ -261,2 +261,3 @@ require('../modules/es.symbol'); | ||
require('../modules/esnext.async-iterator.from'); | ||
require('../modules/esnext.async-iterator.indexed'); | ||
require('../modules/esnext.async-iterator.map'); | ||
@@ -283,2 +284,3 @@ require('../modules/esnext.async-iterator.reduce'); | ||
require('../modules/esnext.iterator.from'); | ||
require('../modules/esnext.iterator.indexed'); | ||
require('../modules/esnext.iterator.map'); | ||
@@ -285,0 +287,0 @@ require('../modules/esnext.iterator.reduce'); |
@@ -6,2 +6,3 @@ require('../../modules/es.array.iterator'); | ||
require('../../modules/esnext.iterator.constructor'); | ||
// TODO: Remove from `core-js@4` | ||
require('../../modules/esnext.iterator.as-indexed-pairs'); | ||
@@ -15,2 +16,3 @@ require('../../modules/esnext.iterator.drop'); | ||
require('../../modules/esnext.iterator.from'); | ||
require('../../modules/esnext.iterator.indexed'); | ||
require('../../modules/esnext.iterator.map'); | ||
@@ -17,0 +19,0 @@ require('../../modules/esnext.iterator.reduce'); |
@@ -0,3 +1,4 @@ | ||
// TODO: Remove from `core-js@4` | ||
var parent = require('../../actual/typed-array/to-spliced'); | ||
module.exports = parent; |
'use strict'; | ||
var apply = require('../internals/function-apply'); | ||
var call = require('../internals/function-call'); | ||
var anObject = require('../internals/an-object'); | ||
@@ -33,29 +33,17 @@ var create = require('../internals/object-create'); | ||
AsyncFromSyncIterator.prototype = defineBuiltIns(create(AsyncIteratorPrototype), { | ||
next: function next(arg) { | ||
next: function next() { | ||
var state = getInternalState(this); | ||
var hasArg = !!arguments.length; | ||
return new Promise(function (resolve, reject) { | ||
var result = anObject(apply(state.next, state.iterator, hasArg ? [arg] : [])); | ||
var result = anObject(call(state.next, state.iterator)); | ||
asyncFromSyncIteratorContinuation(result, resolve, reject); | ||
}); | ||
}, | ||
'return': function (arg) { | ||
'return': function () { | ||
var iterator = getInternalState(this).iterator; | ||
var hasArg = !!arguments.length; | ||
return new Promise(function (resolve, reject) { | ||
var $return = getMethod(iterator, 'return'); | ||
if ($return === undefined) return resolve({ done: true, value: arg }); | ||
var result = anObject(apply($return, iterator, hasArg ? [arg] : [])); | ||
if ($return === undefined) return resolve({ done: true, value: undefined }); | ||
var result = anObject(call($return, iterator)); | ||
asyncFromSyncIteratorContinuation(result, resolve, reject); | ||
}); | ||
}, | ||
'throw': function (arg) { | ||
var iterator = getInternalState(this).iterator; | ||
var hasArg = !!arguments.length; | ||
return new Promise(function (resolve, reject) { | ||
var $throw = getMethod(iterator, 'throw'); | ||
if ($throw === undefined) return reject(arg); | ||
var result = anObject(apply($throw, iterator, hasArg ? [arg] : [])); | ||
asyncFromSyncIteratorContinuation(result, resolve, reject); | ||
}); | ||
} | ||
@@ -62,0 +50,0 @@ }); |
'use strict'; | ||
var call = require('../internals/function-call'); | ||
var perform = require('../internals/perform'); | ||
var anObject = require('../internals/an-object'); | ||
@@ -12,12 +13,101 @@ var create = require('../internals/object-create'); | ||
var AsyncIteratorPrototype = require('../internals/async-iterator-prototype'); | ||
var iteratorClose = require('../internals/iterator-close'); | ||
var Promise = getBuiltIn('Promise'); | ||
var ASYNC_ITERATOR_PROXY = 'AsyncIteratorProxy'; | ||
var ASYNC_ITERATOR_HELPER = 'AsyncIteratorHelper'; | ||
var WRAP_FOR_VALID_ASYNC_ITERATOR = 'WrapForValidAsyncIterator'; | ||
var setInternalState = InternalStateModule.set; | ||
var getInternalState = InternalStateModule.getterFor(ASYNC_ITERATOR_PROXY); | ||
var TO_STRING_TAG = wellKnownSymbol('toStringTag'); | ||
var createAsyncIteratorProxyPrototype = function (IS_ITERATOR) { | ||
var IS_GENERATOR = !IS_ITERATOR; | ||
var ASYNC_ITERATOR_PROXY = IS_ITERATOR ? WRAP_FOR_VALID_ASYNC_ITERATOR : ASYNC_ITERATOR_HELPER; | ||
var getInternalState = InternalStateModule.getterFor(ASYNC_ITERATOR_PROXY); | ||
var getStateOrEarlyExit = function (that) { | ||
var stateCompletion = perform(function () { | ||
return getInternalState(that); | ||
}); | ||
var stateError = stateCompletion.error; | ||
var state = stateCompletion.value; | ||
if (stateError || (IS_GENERATOR && state.done)) { | ||
return { exit: true, value: stateError ? Promise.reject(state) : Promise.resolve({ done: true, value: undefined }) }; | ||
} return { exit: false, value: state }; | ||
}; | ||
var enqueue = function (state, handler) { | ||
var task = function () { | ||
var promise = handler(); | ||
if (IS_GENERATOR) { | ||
state.awaiting = promise; | ||
var clean = function () { | ||
if (state.awaiting === promise) state.awaiting = null; | ||
}; | ||
promise.then(clean, clean); | ||
} return promise; | ||
}; | ||
return state.awaiting ? state.awaiting = state.awaiting.then(task, task) : task(); | ||
}; | ||
var AsyncIteratorProxyPrototype = defineBuiltIns(create(AsyncIteratorPrototype), { | ||
next: function next() { | ||
var stateCompletion = getStateOrEarlyExit(this); | ||
var exit = stateCompletion.exit; | ||
var state = stateCompletion.value; | ||
return exit ? state : enqueue(state, function () { | ||
var handlerCompletion = perform(function () { | ||
return anObject(state.nextHandler(Promise)); | ||
}); | ||
var handlerError = handlerCompletion.error; | ||
var value = handlerCompletion.value; | ||
if (handlerError) state.done = true; | ||
return handlerError ? Promise.reject(value) : Promise.resolve(value); | ||
}); | ||
}, | ||
'return': function () { | ||
var stateCompletion = getStateOrEarlyExit(this); | ||
var exit = stateCompletion.exit; | ||
var state = stateCompletion.value; | ||
return exit ? state : enqueue(state, function () { | ||
return new Promise(function (resolve, reject) { | ||
var iterator = state.iterator; | ||
var innerIterator = state.innerIterator; | ||
state.done = true; | ||
if (innerIterator) try { | ||
iteratorClose(innerIterator, 'return'); | ||
} catch (error) { | ||
return iteratorClose(iterator, 'throw', error); | ||
} | ||
var $$return = getMethod(iterator, 'return'); | ||
if ($$return === undefined) return resolve({ done: true, value: undefined }); | ||
Promise.resolve(call($$return, iterator)).then(function (result) { | ||
anObject(result); | ||
resolve({ done: true, value: undefined }); | ||
}, reject); | ||
}); | ||
}); | ||
} | ||
}); | ||
if (IS_GENERATOR) { | ||
createNonEnumerableProperty(AsyncIteratorProxyPrototype, TO_STRING_TAG, 'Async Iterator Helper'); | ||
} | ||
return AsyncIteratorProxyPrototype; | ||
}; | ||
var AsyncIteratorHelperPrototype = createAsyncIteratorProxyPrototype(false); | ||
var WrapForValidAsyncIteratorPrototype = createAsyncIteratorProxyPrototype(true); | ||
module.exports = function (nextHandler, IS_ITERATOR) { | ||
var ASYNC_ITERATOR_PROXY = IS_ITERATOR ? WRAP_FOR_VALID_ASYNC_ITERATOR : ASYNC_ITERATOR_HELPER; | ||
var AsyncIteratorProxy = function AsyncIterator(record, state) { | ||
@@ -29,50 +119,11 @@ if (state) { | ||
state.type = ASYNC_ITERATOR_PROXY; | ||
state.nextHandler = nextHandler; | ||
state.done = false; | ||
state.ignoreArgument = !IS_ITERATOR; | ||
state.awaiting = null; | ||
setInternalState(this, state); | ||
}; | ||
AsyncIteratorProxy.prototype = defineBuiltIns(create(AsyncIteratorPrototype), { | ||
next: function next(arg) { | ||
var that = this; | ||
var hasArgument = !!arguments.length; | ||
return new Promise(function (resolve) { | ||
var state = getInternalState(that); | ||
var args = hasArgument ? [state.ignoreArgument ? undefined : arg] : IS_ITERATOR ? [] : [undefined]; | ||
state.ignoreArgument = false; | ||
resolve(state.done ? { done: true, value: undefined } : anObject(call(nextHandler, state, Promise, args))); | ||
}); | ||
}, | ||
'return': function (value) { | ||
var that = this; | ||
return new Promise(function (resolve, reject) { | ||
var state = getInternalState(that); | ||
var iterator = state.iterator; | ||
state.done = true; | ||
var $$return = getMethod(iterator, 'return'); | ||
if ($$return === undefined) return resolve({ done: true, value: value }); | ||
Promise.resolve(call($$return, iterator, value)).then(function (result) { | ||
anObject(result); | ||
resolve({ done: true, value: value }); | ||
}, reject); | ||
}); | ||
}, | ||
'throw': function (value) { | ||
var that = this; | ||
return new Promise(function (resolve, reject) { | ||
var state = getInternalState(that); | ||
var iterator = state.iterator; | ||
state.done = true; | ||
var $$throw = getMethod(iterator, 'throw'); | ||
if ($$throw === undefined) return reject(value); | ||
resolve(call($$throw, iterator, value)); | ||
}); | ||
} | ||
}); | ||
AsyncIteratorProxy.prototype = IS_ITERATOR ? WrapForValidAsyncIteratorPrototype : AsyncIteratorHelperPrototype; | ||
if (!IS_ITERATOR) { | ||
createNonEnumerableProperty(AsyncIteratorProxy.prototype, TO_STRING_TAG, 'Generator'); | ||
} | ||
return AsyncIteratorProxy; | ||
}; |
@@ -10,3 +10,3 @@ 'use strict'; | ||
var getIteratorDirect = require('../internals/get-iterator-direct'); | ||
var getMethod = require('../internals/get-method'); | ||
var closeAsyncIteration = require('../internals/async-iterator-close'); | ||
@@ -28,24 +28,11 @@ var createMethod = function (TYPE) { | ||
return new Promise(function (resolve, reject) { | ||
var closeIteration = function (method, argument) { | ||
try { | ||
var returnMethod = getMethod(iterator, 'return'); | ||
if (returnMethod) { | ||
return Promise.resolve(call(returnMethod, iterator)).then(function () { | ||
method(argument); | ||
}, function (error) { | ||
reject(error); | ||
}); | ||
} | ||
} catch (error2) { | ||
return reject(error2); | ||
} method(argument); | ||
var ifAbruptCloseAsyncIterator = function (error) { | ||
closeAsyncIteration(iterator, reject, error, reject); | ||
}; | ||
var onError = function (error) { | ||
closeIteration(reject, error); | ||
}; | ||
var loop = function () { | ||
try { | ||
if (IS_TO_ARRAY && MAPPING) doesNotExceedSafeInteger(index); | ||
if (IS_TO_ARRAY && MAPPING) try { | ||
doesNotExceedSafeInteger(index); | ||
} catch (error5) { ifAbruptCloseAsyncIterator(error5); } | ||
Promise.resolve(anObject(call(next, iterator))).then(function (step) { | ||
@@ -60,23 +47,27 @@ try { | ||
var value = step.value; | ||
if (MAPPING) { | ||
Promise.resolve(IS_TO_ARRAY ? fn(value, index) : fn(value)).then(function (result) { | ||
if (IS_FOR_EACH) { | ||
loop(); | ||
} else if (IS_EVERY) { | ||
result ? loop() : closeIteration(resolve, false); | ||
} else if (IS_TO_ARRAY) { | ||
target[index++] = result; | ||
loop(); | ||
} else { | ||
result ? closeIteration(resolve, IS_SOME || value) : loop(); | ||
} | ||
}, onError); | ||
} else { | ||
target[index++] = value; | ||
loop(); | ||
} | ||
try { | ||
if (MAPPING) { | ||
Promise.resolve(IS_TO_ARRAY ? fn(value, index) : fn(value)).then(function (result) { | ||
if (IS_FOR_EACH) { | ||
loop(); | ||
} else if (IS_EVERY) { | ||
result ? loop() : closeAsyncIteration(iterator, resolve, false, reject); | ||
} else if (IS_TO_ARRAY) { | ||
try { | ||
target[index++] = result; | ||
loop(); | ||
} catch (error4) { ifAbruptCloseAsyncIterator(error4); } | ||
} else { | ||
result ? closeAsyncIteration(iterator, resolve, IS_SOME || value, reject) : loop(); | ||
} | ||
}, ifAbruptCloseAsyncIterator); | ||
} else { | ||
target[index++] = value; | ||
loop(); | ||
} | ||
} catch (error3) { ifAbruptCloseAsyncIterator(error3); } | ||
} | ||
} catch (error) { onError(error); } | ||
}, onError); | ||
} catch (error2) { onError(error2); } | ||
} catch (error2) { reject(error2); } | ||
}, reject); | ||
} catch (error) { reject(error); } | ||
}; | ||
@@ -83,0 +74,0 @@ |
@@ -11,43 +11,42 @@ 'use strict'; | ||
var IteratorPrototype = require('../internals/iterators-core').IteratorPrototype; | ||
var iteratorClose = require('../internals/iterator-close'); | ||
var ITERATOR_PROXY = 'IteratorProxy'; | ||
var ITERATOR_HELPER = 'IteratorHelper'; | ||
var WRAP_FOR_VALID_ITERATOR = 'WrapForValidIterator'; | ||
var setInternalState = InternalStateModule.set; | ||
var getInternalState = InternalStateModule.getterFor(ITERATOR_PROXY); | ||
var TO_STRING_TAG = wellKnownSymbol('toStringTag'); | ||
module.exports = function (nextHandler, IS_ITERATOR) { | ||
var IteratorProxy = function Iterator(record, state) { | ||
if (state) { | ||
state.iterator = record.iterator; | ||
state.next = record.next; | ||
} else state = record; | ||
state.type = ITERATOR_PROXY; | ||
state.done = false; | ||
state.ignoreArg = !IS_ITERATOR; | ||
setInternalState(this, state); | ||
}; | ||
var createIteratorProxyPrototype = function (IS_ITERATOR) { | ||
var ITERATOR_PROXY = IS_ITERATOR ? WRAP_FOR_VALID_ITERATOR : ITERATOR_HELPER; | ||
IteratorProxy.prototype = defineBuiltIns(create(IteratorPrototype), { | ||
next: function next(arg) { | ||
var getInternalState = InternalStateModule.getterFor(ITERATOR_PROXY); | ||
var IteratorProxyPrototype = defineBuiltIns(create(IteratorPrototype), { | ||
next: function next() { | ||
var state = getInternalState(this); | ||
var args = arguments.length ? [state.ignoreArg ? undefined : arg] : IS_ITERATOR ? [] : [undefined]; | ||
state.ignoreArg = false; | ||
var result = state.done ? undefined : call(nextHandler, state, args); | ||
return { done: state.done, value: result }; | ||
// for simplification: | ||
// for `%WrapForValidIteratorPrototype%.next` our `nextHandler` returns `IterResultObject` | ||
// for `%IteratorHelperPrototype%.next` - just a value | ||
if (IS_ITERATOR) return state.nextHandler(); | ||
try { | ||
var result = state.done ? undefined : state.nextHandler(); | ||
return { done: state.done, value: result }; | ||
} catch (error) { | ||
state.done = true; | ||
throw error; | ||
} | ||
}, | ||
'return': function (value) { | ||
'return': function () { | ||
var state = getInternalState(this); | ||
var iterator = state.iterator; | ||
var innerIterator = state.innerIterator; | ||
state.done = true; | ||
if (innerIterator) try { | ||
iteratorClose(innerIterator, 'return'); | ||
} catch (error) { | ||
return iteratorClose(iterator, 'throw', error); | ||
} | ||
var $$return = getMethod(iterator, 'return'); | ||
return { done: true, value: $$return ? anObject(call($$return, iterator, value)).value : value }; | ||
}, | ||
'throw': function (value) { | ||
var state = getInternalState(this); | ||
var iterator = state.iterator; | ||
state.done = true; | ||
var $$throw = getMethod(iterator, 'throw'); | ||
if ($$throw) return call($$throw, iterator, value); | ||
throw value; | ||
return { done: true, value: $$return ? anObject(call($$return, iterator)).value : undefined }; | ||
} | ||
@@ -57,6 +56,28 @@ }); | ||
if (!IS_ITERATOR) { | ||
createNonEnumerableProperty(IteratorProxy.prototype, TO_STRING_TAG, 'Generator'); | ||
createNonEnumerableProperty(IteratorProxyPrototype, TO_STRING_TAG, 'Iterator Helper'); | ||
} | ||
return IteratorProxyPrototype; | ||
}; | ||
var IteratorHelperPrototype = createIteratorProxyPrototype(false); | ||
var WrapForValidIteratorPrototype = createIteratorProxyPrototype(true); | ||
module.exports = function (nextHandler, IS_ITERATOR) { | ||
var ITERATOR_PROXY = IS_ITERATOR ? WRAP_FOR_VALID_ITERATOR : ITERATOR_HELPER; | ||
var IteratorProxy = function Iterator(record, state) { | ||
if (state) { | ||
state.iterator = record.iterator; | ||
state.next = record.next; | ||
} else state = record; | ||
state.type = ITERATOR_PROXY; | ||
state.nextHandler = nextHandler; | ||
state.done = false; | ||
setInternalState(this, state); | ||
}; | ||
IteratorProxy.prototype = IS_ITERATOR ? WrapForValidIteratorPrototype : IteratorHelperPrototype; | ||
return IteratorProxy; | ||
}; |
@@ -8,2 +8,3 @@ var global = require('../internals/global'); | ||
var IS_BROWSER = require('../internals/engine-is-browser'); | ||
var IS_DENO = require('../internals/engine-is-deno'); | ||
var IS_PURE = require('../internals/is-pure'); | ||
@@ -29,14 +30,14 @@ var V8_VERSION = require('../internals/engine-v8-version'); | ||
// https://github.com/zloirock/core-js/issues/679 | ||
if (V8_VERSION >= 51 && /native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) return false; | ||
// Detect correctness of subclassing with @@species support | ||
var promise = new NativePromiseConstructor(function (resolve) { resolve(1); }); | ||
var FakePromise = function (exec) { | ||
exec(function () { /* empty */ }, function () { /* empty */ }); | ||
}; | ||
var constructor = promise.constructor = {}; | ||
constructor[SPECIES] = FakePromise; | ||
SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise; | ||
if (!SUBCLASSING) return true; | ||
if (V8_VERSION < 51 || !/native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) { | ||
// Detect correctness of subclassing with @@species support | ||
var promise = new NativePromiseConstructor(function (resolve) { resolve(1); }); | ||
var FakePromise = function (exec) { | ||
exec(function () { /* empty */ }, function () { /* empty */ }); | ||
}; | ||
var constructor = promise.constructor = {}; | ||
constructor[SPECIES] = FakePromise; | ||
SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise; | ||
if (!SUBCLASSING) return true; | ||
// Unhandled rejections tracking support, NodeJS Promise without it fails @@species test | ||
return !GLOBAL_CORE_JS_PROMISE && IS_BROWSER && !NATIVE_PROMISE_REJECTION_EVENT; | ||
} return !GLOBAL_CORE_JS_PROMISE && (IS_BROWSER || IS_DENO) && !NATIVE_PROMISE_REJECTION_EVENT; | ||
}); | ||
@@ -43,0 +44,0 @@ |
@@ -7,7 +7,7 @@ var IS_PURE = require('../internals/is-pure'); | ||
})('versions', []).push({ | ||
version: '3.23.5', | ||
version: '3.24.0', | ||
mode: IS_PURE ? 'pure' : 'global', | ||
copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)', | ||
license: 'https://github.com/zloirock/core-js/blob/v3.23.5/LICENSE', | ||
license: 'https://github.com/zloirock/core-js/blob/v3.24.0/LICENSE', | ||
source: 'https://github.com/zloirock/core-js' | ||
}); |
@@ -1,28 +0,8 @@ | ||
'use strict'; | ||
// TODO: Remove from `core-js@4` | ||
// https://github.com/tc39/proposal-iterator-helpers | ||
var $ = require('../internals/export'); | ||
var apply = require('../internals/function-apply'); | ||
var anObject = require('../internals/an-object'); | ||
var getIteratorDirect = require('../internals/get-iterator-direct'); | ||
var createAsyncIteratorProxy = require('../internals/async-iterator-create-proxy'); | ||
var indexed = require('../internals/async-iterator-indexed'); | ||
var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise, args) { | ||
var state = this; | ||
var iterator = state.iterator; | ||
return Promise.resolve(anObject(apply(state.next, iterator, args))).then(function (step) { | ||
if (anObject(step).done) { | ||
state.done = true; | ||
return { done: true, value: undefined }; | ||
} | ||
return { done: false, value: [state.index++, step.value] }; | ||
}); | ||
$({ target: 'AsyncIterator', name: 'indexed', proto: true, real: true, forced: true }, { | ||
asIndexedPairs: indexed | ||
}); | ||
$({ target: 'AsyncIterator', proto: true, real: true, forced: true }, { | ||
asIndexedPairs: function asIndexedPairs() { | ||
return new AsyncIteratorProxy(getIteratorDirect(this), { | ||
index: 0 | ||
}); | ||
} | ||
}); |
'use strict'; | ||
// https://github.com/tc39/proposal-iterator-helpers | ||
var $ = require('../internals/export'); | ||
var apply = require('../internals/function-apply'); | ||
var call = require('../internals/function-call'); | ||
var anObject = require('../internals/an-object'); | ||
var getIteratorDirect = require('../internals/get-iterator-direct'); | ||
var notANaN = require('../internals/not-a-nan'); | ||
var toPositiveInteger = require('../internals/to-positive-integer'); | ||
var createAsyncIteratorProxy = require('../internals/async-iterator-create-proxy'); | ||
var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise, args) { | ||
var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise) { | ||
var state = this; | ||
return new Promise(function (resolve, reject) { | ||
var doneAndReject = function (error) { | ||
state.done = true; | ||
reject(error); | ||
}; | ||
var loop = function () { | ||
try { | ||
Promise.resolve( | ||
anObject(apply(state.next, state.iterator, state.remaining ? [] : args)) | ||
).then(function (step) { | ||
Promise.resolve(anObject(call(state.next, state.iterator))).then(function (step) { | ||
try { | ||
@@ -27,5 +31,5 @@ if (anObject(step).done) { | ||
} else resolve({ done: false, value: step.value }); | ||
} catch (err) { reject(err); } | ||
}, reject); | ||
} catch (error) { reject(error); } | ||
} catch (err) { doneAndReject(err); } | ||
}, doneAndReject); | ||
} catch (error) { doneAndReject(error); } | ||
}; | ||
@@ -40,5 +44,5 @@ | ||
return new AsyncIteratorProxy(getIteratorDirect(this), { | ||
remaining: toPositiveInteger(limit) | ||
remaining: toPositiveInteger(notANaN(+limit)) | ||
}); | ||
} | ||
}); |
'use strict'; | ||
// https://github.com/tc39/proposal-iterator-helpers | ||
var $ = require('../internals/export'); | ||
var apply = require('../internals/function-apply'); | ||
var call = require('../internals/function-call'); | ||
var aCallable = require('../internals/a-callable'); | ||
@@ -9,11 +9,22 @@ var anObject = require('../internals/an-object'); | ||
var createAsyncIteratorProxy = require('../internals/async-iterator-create-proxy'); | ||
var closeAsyncIteration = require('../internals/async-iterator-close'); | ||
var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise, args) { | ||
var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise) { | ||
var state = this; | ||
var iterator = state.iterator; | ||
var filterer = state.filterer; | ||
return new Promise(function (resolve, reject) { | ||
var doneAndReject = function (error) { | ||
state.done = true; | ||
reject(error); | ||
}; | ||
var ifAbruptCloseAsyncIterator = function (error) { | ||
closeAsyncIteration(iterator, doneAndReject, error, doneAndReject); | ||
}; | ||
var loop = function () { | ||
try { | ||
Promise.resolve(anObject(apply(state.next, state.iterator, args))).then(function (step) { | ||
Promise.resolve(anObject(call(state.next, iterator))).then(function (step) { | ||
try { | ||
@@ -25,9 +36,11 @@ if (anObject(step).done) { | ||
var value = step.value; | ||
Promise.resolve(filterer(value)).then(function (selected) { | ||
selected ? resolve({ done: false, value: value }) : loop(); | ||
}, reject); | ||
try { | ||
Promise.resolve(filterer(value)).then(function (selected) { | ||
selected ? resolve({ done: false, value: value }) : loop(); | ||
}, ifAbruptCloseAsyncIterator); | ||
} catch (error3) { ifAbruptCloseAsyncIterator(error3); } | ||
} | ||
} catch (err) { reject(err); } | ||
}, reject); | ||
} catch (error) { reject(error); } | ||
} catch (error2) { doneAndReject(error2); } | ||
}, doneAndReject); | ||
} catch (error) { doneAndReject(error); } | ||
}; | ||
@@ -34,0 +47,0 @@ |
@@ -10,5 +10,7 @@ 'use strict'; | ||
var getAsyncIterator = require('../internals/get-async-iterator'); | ||
var closeAsyncIteration = require('../internals/async-iterator-close'); | ||
var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise) { | ||
var state = this; | ||
var iterator = state.iterator; | ||
var mapper = state.mapper; | ||
@@ -18,5 +20,14 @@ var innerIterator; | ||
return new Promise(function (resolve, reject) { | ||
var doneAndReject = function (error) { | ||
state.done = true; | ||
reject(error); | ||
}; | ||
var ifAbruptCloseAsyncIterator = function (error) { | ||
closeAsyncIteration(iterator, doneAndReject, error, doneAndReject); | ||
}; | ||
var outerLoop = function () { | ||
try { | ||
Promise.resolve(anObject(call(state.next, state.iterator))).then(function (step) { | ||
Promise.resolve(anObject(call(state.next, iterator))).then(function (step) { | ||
try { | ||
@@ -27,13 +38,16 @@ if (anObject(step).done) { | ||
} else { | ||
Promise.resolve(mapper(step.value)).then(function (mapped) { | ||
try { | ||
state.innerIterator = innerIterator = getAsyncIterator(mapped); | ||
state.innerNext = aCallable(innerIterator.next); | ||
return innerLoop(); | ||
} catch (error2) { reject(error2); } | ||
}, reject); | ||
var value = step.value; | ||
try { | ||
Promise.resolve(mapper(value)).then(function (mapped) { | ||
try { | ||
state.innerIterator = innerIterator = getAsyncIterator(mapped); | ||
state.innerNext = aCallable(innerIterator.next); | ||
innerLoop(); | ||
} catch (error4) { ifAbruptCloseAsyncIterator(error4); } | ||
}, ifAbruptCloseAsyncIterator); | ||
} catch (error3) { ifAbruptCloseAsyncIterator(error3); } | ||
} | ||
} catch (error1) { reject(error1); } | ||
}, reject); | ||
} catch (error) { reject(error); } | ||
} catch (error2) { doneAndReject(error2); } | ||
}, doneAndReject); | ||
} catch (error) { doneAndReject(error); } | ||
}; | ||
@@ -50,5 +64,5 @@ | ||
} else resolve({ done: false, value: result.value }); | ||
} catch (error1) { reject(error1); } | ||
}, reject); | ||
} catch (error) { reject(error); } | ||
} catch (error1) { ifAbruptCloseAsyncIterator(error1); } | ||
}, ifAbruptCloseAsyncIterator); | ||
} catch (error) { ifAbruptCloseAsyncIterator(error); } | ||
} else outerLoop(); | ||
@@ -55,0 +69,0 @@ }; |
// https://github.com/tc39/proposal-iterator-helpers | ||
var $ = require('../internals/export'); | ||
var apply = require('../internals/function-apply'); | ||
var anObject = require('../internals/an-object'); | ||
var toObject = require('../internals/to-object'); | ||
var isPrototypeOf = require('../internals/object-is-prototype-of'); | ||
var AsyncIteratorPrototype = require('../internals/async-iterator-prototype'); | ||
var createAsyncIteratorProxy = require('../internals/async-iterator-create-proxy'); | ||
var getAsyncIterator = require('../internals/get-async-iterator'); | ||
@@ -16,9 +13,6 @@ var getIterator = require('../internals/get-iterator'); | ||
var AsyncFromSyncIterator = require('../internals/async-from-sync-iterator'); | ||
var WrapAsyncIterator = require('../internals/async-iterator-wrap'); | ||
var ASYNC_ITERATOR = wellKnownSymbol('asyncIterator'); | ||
var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise, args) { | ||
return anObject(apply(this.next, this.iterator, args)); | ||
}, true); | ||
$({ target: 'AsyncIterator', stat: true, forced: true }, { | ||
@@ -35,6 +29,6 @@ from: function from(O) { | ||
usingIterator = getIteratorMethod(object); | ||
if (usingIterator) return new AsyncFromSyncIterator(getIterator(object, usingIterator)); | ||
if (usingIterator) iterator = new AsyncFromSyncIterator(getIterator(object, usingIterator)); | ||
} | ||
return new AsyncIteratorProxy(getIteratorDirect(iterator !== undefined ? iterator : object)); | ||
return new WrapAsyncIterator(getIteratorDirect(iterator !== undefined ? iterator : object)); | ||
} | ||
}); |
'use strict'; | ||
// https://github.com/tc39/proposal-iterator-helpers | ||
var $ = require('../internals/export'); | ||
var apply = require('../internals/function-apply'); | ||
var call = require('../internals/function-call'); | ||
var aCallable = require('../internals/a-callable'); | ||
@@ -9,15 +9,34 @@ var anObject = require('../internals/an-object'); | ||
var createAsyncIteratorProxy = require('../internals/async-iterator-create-proxy'); | ||
var closeAsyncIteration = require('../internals/async-iterator-close'); | ||
var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise, args) { | ||
var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise) { | ||
var state = this; | ||
var iterator = state.iterator; | ||
var mapper = state.mapper; | ||
return Promise.resolve(anObject(apply(state.next, state.iterator, args))).then(function (step) { | ||
if (anObject(step).done) { | ||
return new Promise(function (resolve, reject) { | ||
var doneAndReject = function (error) { | ||
state.done = true; | ||
return { done: true, value: undefined }; | ||
} | ||
return Promise.resolve(mapper(step.value)).then(function (value) { | ||
return { done: false, value: value }; | ||
}); | ||
reject(error); | ||
}; | ||
var ifAbruptCloseAsyncIterator = function (error) { | ||
closeAsyncIteration(iterator, doneAndReject, error, doneAndReject); | ||
}; | ||
Promise.resolve(anObject(call(state.next, iterator))).then(function (step) { | ||
try { | ||
if (anObject(step).done) { | ||
state.done = true; | ||
resolve({ done: true, value: undefined }); | ||
} else { | ||
var value = step.value; | ||
try { | ||
Promise.resolve(mapper(value)).then(function (mapped) { | ||
resolve({ done: false, value: mapped }); | ||
}, ifAbruptCloseAsyncIterator); | ||
} catch (error2) { ifAbruptCloseAsyncIterator(error2); } | ||
} | ||
} catch (error) { doneAndReject(error); } | ||
}, doneAndReject); | ||
}); | ||
@@ -24,0 +43,0 @@ }); |
@@ -9,2 +9,3 @@ 'use strict'; | ||
var getIteratorDirect = require('../internals/get-iterator-direct'); | ||
var closeAsyncIteration = require('../internals/async-iterator-close'); | ||
@@ -24,2 +25,6 @@ var Promise = getBuiltIn('Promise'); | ||
return new Promise(function (resolve, reject) { | ||
var ifAbruptCloseAsyncIterator = function (error) { | ||
closeAsyncIteration(iterator, reject, error, reject); | ||
}; | ||
var loop = function () { | ||
@@ -37,10 +42,10 @@ try { | ||
loop(); | ||
} else { | ||
} else try { | ||
Promise.resolve(reducer(accumulator, value)).then(function (result) { | ||
accumulator = result; | ||
loop(); | ||
}, reject); | ||
} | ||
}, ifAbruptCloseAsyncIterator); | ||
} catch (error3) { ifAbruptCloseAsyncIterator(error3); } | ||
} | ||
} catch (err) { reject(err); } | ||
} catch (error2) { reject(error2); } | ||
}, reject); | ||
@@ -47,0 +52,0 @@ } catch (error) { reject(error); } |
'use strict'; | ||
// https://github.com/tc39/proposal-iterator-helpers | ||
var $ = require('../internals/export'); | ||
var apply = require('../internals/function-apply'); | ||
var call = require('../internals/function-call'); | ||
var anObject = require('../internals/an-object'); | ||
var getIteratorDirect = require('../internals/get-iterator-direct'); | ||
var notANaN = require('../internals/not-a-nan'); | ||
var toPositiveInteger = require('../internals/to-positive-integer'); | ||
var createAsyncIteratorProxy = require('../internals/async-iterator-create-proxy'); | ||
var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise, args) { | ||
var iterator = this.iterator; | ||
var returnMethod, result; | ||
if (!this.remaining--) { | ||
result = { done: true, value: undefined }; | ||
this.done = true; | ||
var AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise) { | ||
var state = this; | ||
var iterator = state.iterator; | ||
var returnMethod; | ||
if (!state.remaining--) { | ||
var resultDone = { done: true, value: undefined }; | ||
state.done = true; | ||
returnMethod = iterator['return']; | ||
if (returnMethod !== undefined) { | ||
return Promise.resolve(call(returnMethod, iterator)).then(function () { | ||
return result; | ||
return Promise.resolve(call(returnMethod, iterator, undefined)).then(function () { | ||
return resultDone; | ||
}); | ||
} | ||
return result; | ||
} return apply(this.next, iterator, args); | ||
return resultDone; | ||
} return Promise.resolve(call(state.next, iterator)).then(function (step) { | ||
if (anObject(step).done) { | ||
state.done = true; | ||
return { done: true, value: undefined }; | ||
} return { done: false, value: step.value }; | ||
}).then(null, function (error) { | ||
state.done = true; | ||
throw error; | ||
}); | ||
}); | ||
@@ -29,5 +40,5 @@ | ||
return new AsyncIteratorProxy(getIteratorDirect(this), { | ||
remaining: toPositiveInteger(limit) | ||
remaining: toPositiveInteger(notANaN(+limit)) | ||
}); | ||
} | ||
}); |
@@ -1,21 +0,8 @@ | ||
'use strict'; | ||
// TODO: Remove from `core-js@4` | ||
// https://github.com/tc39/proposal-iterator-helpers | ||
var $ = require('../internals/export'); | ||
var apply = require('../internals/function-apply'); | ||
var anObject = require('../internals/an-object'); | ||
var getIteratorDirect = require('../internals/get-iterator-direct'); | ||
var createIteratorProxy = require('../internals/iterator-create-proxy'); | ||
var indexed = require('../internals/iterator-indexed'); | ||
var IteratorProxy = createIteratorProxy(function (args) { | ||
var result = anObject(apply(this.next, this.iterator, args)); | ||
var done = this.done = !!result.done; | ||
if (!done) return [this.index++, result.value]; | ||
$({ target: 'Iterator', name: 'indexed', proto: true, real: true, forced: true }, { | ||
asIndexedPairs: indexed | ||
}); | ||
$({ target: 'Iterator', proto: true, real: true, forced: true }, { | ||
asIndexedPairs: function asIndexedPairs() { | ||
return new IteratorProxy(getIteratorDirect(this), { | ||
index: 0 | ||
}); | ||
} | ||
}); |
'use strict'; | ||
// https://github.com/tc39/proposal-iterator-helpers | ||
var $ = require('../internals/export'); | ||
var apply = require('../internals/function-apply'); | ||
var call = require('../internals/function-call'); | ||
var anObject = require('../internals/an-object'); | ||
var getIteratorDirect = require('../internals/get-iterator-direct'); | ||
var notANaN = require('../internals/not-a-nan'); | ||
var toPositiveInteger = require('../internals/to-positive-integer'); | ||
var createIteratorProxy = require('../internals/iterator-create-proxy'); | ||
var IteratorProxy = createIteratorProxy(function (args) { | ||
var IteratorProxy = createIteratorProxy(function () { | ||
var iterator = this.iterator; | ||
@@ -21,3 +21,3 @@ var next = this.next; | ||
} | ||
result = anObject(apply(next, iterator, args)); | ||
result = anObject(call(next, iterator)); | ||
done = this.done = !!result.done; | ||
@@ -30,5 +30,5 @@ if (!done) return result.value; | ||
return new IteratorProxy(getIteratorDirect(this), { | ||
remaining: toPositiveInteger(limit) | ||
remaining: toPositiveInteger(notANaN(+limit)) | ||
}); | ||
} | ||
}); |
'use strict'; | ||
// https://github.com/tc39/proposal-iterator-helpers | ||
var $ = require('../internals/export'); | ||
var apply = require('../internals/function-apply'); | ||
var call = require('../internals/function-call'); | ||
var aCallable = require('../internals/a-callable'); | ||
@@ -11,3 +11,3 @@ var anObject = require('../internals/an-object'); | ||
var IteratorProxy = createIteratorProxy(function (args) { | ||
var IteratorProxy = createIteratorProxy(function () { | ||
var iterator = this.iterator; | ||
@@ -18,3 +18,3 @@ var filterer = this.filterer; | ||
while (true) { | ||
result = anObject(apply(next, iterator, args)); | ||
result = anObject(call(next, iterator)); | ||
done = this.done = !!result.done; | ||
@@ -21,0 +21,0 @@ if (done) return; |
@@ -20,13 +20,13 @@ 'use strict'; | ||
while (true) { | ||
try { | ||
if (innerIterator = this.innerIterator) { | ||
result = anObject(call(this.innerNext, innerIterator)); | ||
if (!result.done) return result.value; | ||
this.innerIterator = this.innerNext = null; | ||
} | ||
if (innerIterator = this.innerIterator) try { | ||
result = anObject(call(this.innerNext, innerIterator)); | ||
if (!result.done) return result.value; | ||
this.innerIterator = this.innerNext = null; | ||
} catch (error) { iteratorClose(iterator, 'throw', error); } | ||
result = anObject(call(this.next, iterator)); | ||
result = anObject(call(this.next, iterator)); | ||
if (this.done = !!result.done) return; | ||
if (this.done = !!result.done) return; | ||
try { | ||
mapped = mapper(result.value); | ||
@@ -41,5 +41,3 @@ iteratorMethod = getIteratorMethod(mapped); | ||
this.innerNext = aCallable(innerIterator.next); | ||
} catch (error) { | ||
iteratorClose(iterator, 'throw', error); | ||
} | ||
} catch (error) { iteratorClose(iterator, 'throw', error); } | ||
} | ||
@@ -46,0 +44,0 @@ }); |
// https://github.com/tc39/proposal-iterator-helpers | ||
var $ = require('../internals/export'); | ||
var apply = require('../internals/function-apply'); | ||
var anObject = require('../internals/an-object'); | ||
var call = require('../internals/function-call'); | ||
var toObject = require('../internals/to-object'); | ||
@@ -13,6 +12,4 @@ var isPrototypeOf = require('../internals/object-is-prototype-of'); | ||
var IteratorProxy = createIteratorProxy(function (args) { | ||
var result = anObject(apply(this.next, this.iterator, args)); | ||
var done = this.done = !!result.done; | ||
if (!done) return result.value; | ||
var IteratorProxy = createIteratorProxy(function () { | ||
return call(this.next, this.iterator); | ||
}, true); | ||
@@ -19,0 +16,0 @@ |
'use strict'; | ||
// https://github.com/tc39/proposal-iterator-helpers | ||
var $ = require('../internals/export'); | ||
var apply = require('../internals/function-apply'); | ||
var call = require('../internals/function-call'); | ||
var aCallable = require('../internals/a-callable'); | ||
@@ -11,5 +11,5 @@ var anObject = require('../internals/an-object'); | ||
var IteratorProxy = createIteratorProxy(function (args) { | ||
var IteratorProxy = createIteratorProxy(function () { | ||
var iterator = this.iterator; | ||
var result = anObject(apply(this.next, iterator, args)); | ||
var result = anObject(call(this.next, iterator)); | ||
var done = this.done = !!result.done; | ||
@@ -16,0 +16,0 @@ if (!done) return callWithSafeIterationClosing(iterator, this.mapper, result.value); |
'use strict'; | ||
// https://github.com/tc39/proposal-iterator-helpers | ||
var $ = require('../internals/export'); | ||
var apply = require('../internals/function-apply'); | ||
var call = require('../internals/function-call'); | ||
var anObject = require('../internals/an-object'); | ||
var getIteratorDirect = require('../internals/get-iterator-direct'); | ||
var notANaN = require('../internals/not-a-nan'); | ||
var toPositiveInteger = require('../internals/to-positive-integer'); | ||
@@ -11,3 +12,3 @@ var createIteratorProxy = require('../internals/iterator-create-proxy'); | ||
var IteratorProxy = createIteratorProxy(function (args) { | ||
var IteratorProxy = createIteratorProxy(function () { | ||
var iterator = this.iterator; | ||
@@ -18,3 +19,3 @@ if (!this.remaining--) { | ||
} | ||
var result = anObject(apply(this.next, iterator, args)); | ||
var result = anObject(call(this.next, iterator)); | ||
var done = this.done = !!result.done; | ||
@@ -27,5 +28,5 @@ if (!done) return result.value; | ||
return new IteratorProxy(getIteratorDirect(this), { | ||
remaining: toPositiveInteger(limit) | ||
remaining: toPositiveInteger(notANaN(+limit)) | ||
}); | ||
} | ||
}); |
@@ -5,7 +5,9 @@ 'use strict'; | ||
var AsyncFromSyncIterator = require('../internals/async-from-sync-iterator'); | ||
var WrapAsyncIterator = require('../internals/async-iterator-wrap'); | ||
var getIteratorDirect = require('../internals/get-iterator-direct'); | ||
$({ target: 'Iterator', proto: true, real: true, forced: true }, { | ||
toAsync: function toAsync() { | ||
return new AsyncFromSyncIterator(this); | ||
return new WrapAsyncIterator(getIteratorDirect(new AsyncFromSyncIterator(this))); | ||
} | ||
}); |
{ | ||
"name": "core-js-pure", | ||
"description": "Standard library", | ||
"version": "3.23.5", | ||
"version": "3.24.0", | ||
"repository": { | ||
@@ -6,0 +6,0 @@ "type": "git", |
@@ -8,3 +8,4 @@ // https://github.com/tc39/proposal-change-array-by-copy | ||
require('../modules/esnext.typed-array.to-sorted'); | ||
// TODO: Remove from `core-js@4` | ||
require('../modules/esnext.typed-array.to-spliced'); | ||
require('../modules/esnext.typed-array.with'); |
// https://github.com/tc39/proposal-iterator-helpers | ||
require('../modules/esnext.async-iterator.constructor'); | ||
// TODO: remove from `core-js@4` | ||
require('../modules/esnext.async-iterator.as-indexed-pairs'); | ||
@@ -11,2 +12,3 @@ require('../modules/esnext.async-iterator.drop'); | ||
require('../modules/esnext.async-iterator.from'); | ||
require('../modules/esnext.async-iterator.indexed'); | ||
require('../modules/esnext.async-iterator.map'); | ||
@@ -18,2 +20,3 @@ require('../modules/esnext.async-iterator.reduce'); | ||
require('../modules/esnext.iterator.constructor'); | ||
// TODO: remove from `core-js@4` | ||
require('../modules/esnext.iterator.as-indexed-pairs'); | ||
@@ -27,2 +30,3 @@ require('../modules/esnext.iterator.drop'); | ||
require('../modules/esnext.iterator.from'); | ||
require('../modules/esnext.iterator.indexed'); | ||
require('../modules/esnext.iterator.map'); | ||
@@ -29,0 +33,0 @@ require('../modules/esnext.iterator.reduce'); |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
891802
3097
20784