diff --git a/packages/core-js/internals/async-iterator-create-proxy.js b/packages/core-js/internals/async-iterator-create-proxy.js index cfac1569636f..7edc0d3b5f55 100644 --- a/packages/core-js/internals/async-iterator-create-proxy.js +++ b/packages/core-js/internals/async-iterator-create-proxy.js @@ -20,9 +20,11 @@ var TO_STRING_TAG = wellKnownSymbol('toStringTag'); module.exports = function (nextHandler, IS_ITERATOR) { var AsyncIteratorProxy = function AsyncIterator(record, state) { + if (state) { + state.iterator = record.iterator; + state.next = record.next; + } else state = record; state.type = ASYNC_ITERATOR_PROXY; - state.iterator = record.iterator; - state.next = record.next; state.done = false; state.ignoreArgument = !IS_ITERATOR; setInternalState(this, state); diff --git a/packages/core-js/internals/iterator-create-proxy.js b/packages/core-js/internals/iterator-create-proxy.js index 7b04c0b2e14c..e5137ba45d2f 100644 --- a/packages/core-js/internals/iterator-create-proxy.js +++ b/packages/core-js/internals/iterator-create-proxy.js @@ -17,9 +17,11 @@ 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.iterator = record.iterator; - state.next = record.next; state.done = false; state.ignoreArg = !IS_ITERATOR; setInternalState(this, state); diff --git a/packages/core-js/modules/esnext.async-iterator.from.js b/packages/core-js/modules/esnext.async-iterator.from.js index dce9762bfb69..354922f64e4f 100644 --- a/packages/core-js/modules/esnext.async-iterator.from.js +++ b/packages/core-js/modules/esnext.async-iterator.from.js @@ -33,6 +33,6 @@ $({ target: 'AsyncIterator', stat: true, forced: true }, { usingIterator = getIteratorMethod(object); if (usingIterator) return new AsyncFromSyncIterator(getIterator(object, usingIterator)); } - return new AsyncIteratorProxy(getIteratorDirect(iterator !== undefined ? iterator : object), {}); + return new AsyncIteratorProxy(getIteratorDirect(iterator !== undefined ? iterator : object)); } }); diff --git a/packages/core-js/modules/esnext.iterator.from.js b/packages/core-js/modules/esnext.iterator.from.js index 2298e79b4add..dd09294701f0 100644 --- a/packages/core-js/modules/esnext.iterator.from.js +++ b/packages/core-js/modules/esnext.iterator.from.js @@ -26,6 +26,6 @@ $({ target: 'Iterator', stat: true, forced: true }, { if (isPrototypeOf(IteratorPrototype, iterator)) return iterator; } else { iterator = object; - } return new IteratorProxy(getIteratorDirect(iterator), {}); + } return new IteratorProxy(getIteratorDirect(iterator)); } });