diff --git a/packages/babel-plugin-proposal-async-generator-functions/src/for-await.js b/packages/babel-plugin-proposal-async-generator-functions/src/for-await.js index f9cb7e1e1151..16f08dca1524 100644 --- a/packages/babel-plugin-proposal-async-generator-functions/src/for-await.js +++ b/packages/babel-plugin-proposal-async-generator-functions/src/for-await.js @@ -2,14 +2,14 @@ import { types as t, template } from "@babel/core"; const buildForAwait = template(` async function wrapper() { - var ITERATOR_COMPLETION = true; + var ITERATOR_ABRUPT_COMPLETION = false; var ITERATOR_HAD_ERROR_KEY = false; var ITERATOR_ERROR_KEY; try { for ( var ITERATOR_KEY = GET_ITERATOR(OBJECT), STEP_KEY; - !(ITERATOR_COMPLETION = (STEP_KEY = await ITERATOR_KEY.next()).done); - ITERATOR_COMPLETION = true + ITERATOR_ABRUPT_COMPLETION = !(STEP_KEY = await ITERATOR_KEY.next()).done; + ITERATOR_ABRUPT_COMPLETION = false ) { } } catch (err) { @@ -17,7 +17,7 @@ const buildForAwait = template(` ITERATOR_ERROR_KEY = err; } finally { try { - if (!ITERATOR_COMPLETION && ITERATOR_KEY.return != null) { + if (ITERATOR_ABRUPT_COMPLETION && ITERATOR_KEY.return != null) { await ITERATOR_KEY.return(); } } finally { @@ -50,8 +50,8 @@ export default function (path, { getAsyncIterator }) { } let template = buildForAwait({ ITERATOR_HAD_ERROR_KEY: scope.generateUidIdentifier("didIteratorError"), - ITERATOR_COMPLETION: scope.generateUidIdentifier( - "iteratorNormalCompletion", + ITERATOR_ABRUPT_COMPLETION: scope.generateUidIdentifier( + "iteratorAbruptCompletion", ), ITERATOR_ERROR_KEY: scope.generateUidIdentifier("iteratorError"), ITERATOR_KEY: scope.generateUidIdentifier("iterator"), diff --git a/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/for-await/async-arrow/output.js b/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/for-await/async-arrow/output.js index 76e74426a60a..802dd6d77316 100644 --- a/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/for-await/async-arrow/output.js +++ b/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/for-await/async-arrow/output.js @@ -1,12 +1,12 @@ /*#__PURE__*/ babelHelpers.asyncToGenerator(function* () { - var _iteratorNormalCompletion = true; + var _iteratorAbruptCompletion = false; var _didIteratorError = false; var _iteratorError; try { - for (var _iterator = babelHelpers.asyncIterator(y), _step; !(_iteratorNormalCompletion = (_step = yield _iterator.next()).done); _iteratorNormalCompletion = true) { + for (var _iterator = babelHelpers.asyncIterator(y), _step; _iteratorAbruptCompletion = !(_step = yield _iterator.next()).done; _iteratorAbruptCompletion = false) { let x = _step.value; f(x); } @@ -15,7 +15,7 @@ babelHelpers.asyncToGenerator(function* () { _iteratorError = err; } finally { try { - if (!_iteratorNormalCompletion && _iterator.return != null) { + if (_iteratorAbruptCompletion && _iterator.return != null) { yield _iterator.return(); } } finally { diff --git a/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/for-await/async-function-no-transform/output.js b/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/for-await/async-function-no-transform/output.js index e92aec989915..1e1df44ed94a 100644 --- a/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/for-await/async-function-no-transform/output.js +++ b/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/for-await/async-function-no-transform/output.js @@ -1,11 +1,11 @@ async function foo() { - var _iteratorNormalCompletion = true; + var _iteratorAbruptCompletion = false; var _didIteratorError = false; var _iteratorError; try { - for (var _iterator = babelHelpers.asyncIterator(y), _step; !(_iteratorNormalCompletion = (_step = await _iterator.next()).done); _iteratorNormalCompletion = true) { + for (var _iterator = babelHelpers.asyncIterator(y), _step; _iteratorAbruptCompletion = !(_step = await _iterator.next()).done; _iteratorAbruptCompletion = false) { const x = _step.value; } } catch (err) { @@ -13,7 +13,7 @@ async function foo() { _iteratorError = err; } finally { try { - if (!_iteratorNormalCompletion && _iterator.return != null) { + if (_iteratorAbruptCompletion && _iterator.return != null) { await _iterator.return(); } } finally { diff --git a/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/for-await/async-function/output.js b/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/for-await/async-function/output.js index 15daa7a9040a..fdeebc16c34f 100644 --- a/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/for-await/async-function/output.js +++ b/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/for-await/async-function/output.js @@ -4,13 +4,13 @@ function f() { function _f() { _f = babelHelpers.asyncToGenerator(function* () { - var _iteratorNormalCompletion = true; + var _iteratorAbruptCompletion = false; var _didIteratorError = false; var _iteratorError; try { - for (var _iterator = babelHelpers.asyncIterator(y), _step; !(_iteratorNormalCompletion = (_step = yield _iterator.next()).done); _iteratorNormalCompletion = true) { + for (var _iterator = babelHelpers.asyncIterator(y), _step; _iteratorAbruptCompletion = !(_step = yield _iterator.next()).done; _iteratorAbruptCompletion = false) { let x = _step.value; g(x); } @@ -19,7 +19,7 @@ function _f() { _iteratorError = err; } finally { try { - if (!_iteratorNormalCompletion && _iterator.return != null) { + if (_iteratorAbruptCompletion && _iterator.return != null) { yield _iterator.return(); } } finally { diff --git a/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/for-await/async-generator/output.js b/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/for-await/async-generator/output.js index 076b8fae79bd..1dc0aba51463 100644 --- a/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/for-await/async-generator/output.js +++ b/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/for-await/async-generator/output.js @@ -4,13 +4,13 @@ function g() { function _g() { _g = babelHelpers.wrapAsyncGenerator(function* () { - var _iteratorNormalCompletion = true; + var _iteratorAbruptCompletion = false; var _didIteratorError = false; var _iteratorError; try { - for (var _iterator = babelHelpers.asyncIterator(y), _step; !(_iteratorNormalCompletion = (_step = yield babelHelpers.awaitAsyncGenerator(_iterator.next())).done); _iteratorNormalCompletion = true) { + for (var _iterator = babelHelpers.asyncIterator(y), _step; _iteratorAbruptCompletion = !(_step = yield babelHelpers.awaitAsyncGenerator(_iterator.next())).done; _iteratorAbruptCompletion = false) { let x = _step.value; f(x); } @@ -19,7 +19,7 @@ function _g() { _iteratorError = err; } finally { try { - if (!_iteratorNormalCompletion && _iterator.return != null) { + if (_iteratorAbruptCompletion && _iterator.return != null) { yield babelHelpers.awaitAsyncGenerator(_iterator.return()); } } finally { diff --git a/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/for-await/destructuring/output.js b/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/for-await/destructuring/output.js index e44677aa6da5..4e599cf8bbb7 100644 --- a/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/for-await/destructuring/output.js +++ b/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/for-await/destructuring/output.js @@ -4,13 +4,13 @@ function f() { function _f() { _f = babelHelpers.asyncToGenerator(function* () { - var _iteratorNormalCompletion = true; + var _iteratorAbruptCompletion = false; var _didIteratorError = false; var _iteratorError; try { - for (var _iterator = babelHelpers.asyncIterator(a), _step; !(_iteratorNormalCompletion = (_step = yield _iterator.next()).done); _iteratorNormalCompletion = true) { + for (var _iterator = babelHelpers.asyncIterator(a), _step; _iteratorAbruptCompletion = !(_step = yield _iterator.next()).done; _iteratorAbruptCompletion = false) { let { x, y: [z] @@ -22,7 +22,7 @@ function _f() { _iteratorError = err; } finally { try { - if (!_iteratorNormalCompletion && _iterator.return != null) { + if (_iteratorAbruptCompletion && _iterator.return != null) { yield _iterator.return(); } } finally { diff --git a/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/for-await/lhs-member-expression/output.js b/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/for-await/lhs-member-expression/output.js index 1bba85771390..792882550bc9 100644 --- a/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/for-await/lhs-member-expression/output.js +++ b/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/for-await/lhs-member-expression/output.js @@ -1,11 +1,11 @@ (async function () { - var _iteratorNormalCompletion = true; + var _iteratorAbruptCompletion = false; var _didIteratorError = false; var _iteratorError; try { - for (var _iterator = babelHelpers.asyncIterator(y), _step; !(_iteratorNormalCompletion = (_step = await _iterator.next()).done); _iteratorNormalCompletion = true) { + for (var _iterator = babelHelpers.asyncIterator(y), _step; _iteratorAbruptCompletion = !(_step = await _iterator.next()).done; _iteratorAbruptCompletion = false) { obj.x = _step.value; } } catch (err) { @@ -13,7 +13,7 @@ _iteratorError = err; } finally { try { - if (!_iteratorNormalCompletion && _iterator.return != null) { + if (_iteratorAbruptCompletion && _iterator.return != null) { await _iterator.return(); } } finally { diff --git a/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/regression/5880/output.js b/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/regression/5880/output.js index 7ff6de47b2a6..dca5c85a89a8 100644 --- a/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/regression/5880/output.js +++ b/packages/babel-plugin-proposal-async-generator-functions/test/fixtures/regression/5880/output.js @@ -1,11 +1,11 @@ (async () => { - var _iteratorNormalCompletion = true; + var _iteratorAbruptCompletion = false; var _didIteratorError = false; var _iteratorError; try { - for (var _iterator = babelHelpers.asyncIterator(iterable), _step; !(_iteratorNormalCompletion = (_step = await _iterator.next()).done); _iteratorNormalCompletion = true) { + for (var _iterator = babelHelpers.asyncIterator(iterable), _step; _iteratorAbruptCompletion = !(_step = await _iterator.next()).done; _iteratorAbruptCompletion = false) { const _step$value = babelHelpers.slicedToArray(_step.value, 1), value = _step$value[0]; } @@ -14,7 +14,7 @@ _iteratorError = err; } finally { try { - if (!_iteratorNormalCompletion && _iterator.return != null) { + if (_iteratorAbruptCompletion && _iterator.return != null) { await _iterator.return(); } } finally {