diff --git a/crates/swc/tests/fixture/issues-1xxx/1721/case1/output/index.js b/crates/swc/tests/fixture/issues-1xxx/1721/case1/output/index.js index b4a835ab1d76..45ab05b05d1d 100644 --- a/crates/swc/tests/fixture/issues-1xxx/1721/case1/output/index.js +++ b/crates/swc/tests/fixture/issues-1xxx/1721/case1/output/index.js @@ -1,5 +1,6 @@ import { _ as _async_iterator } from "@swc/helpers/_/_async_iterator"; import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator"; +import { _ as _await_async_generator } from "@swc/helpers/_/_await_async_generator"; import { _ as _wrap_async_generator } from "@swc/helpers/_/_wrap_async_generator"; import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator"; function lol() { @@ -96,7 +97,7 @@ function _main() { ]; return [ 4, - _iterator["return"]() + _await_async_generator(_iterator["return"]()) ]; case 8: _state.sent(); diff --git a/crates/swc/tests/fixture/issues-1xxx/1918/es2016/output/index.js b/crates/swc/tests/fixture/issues-1xxx/1918/es2016/output/index.js index 157bca5ad12b..456ea43ea608 100644 --- a/crates/swc/tests/fixture/issues-1xxx/1918/es2016/output/index.js +++ b/crates/swc/tests/fixture/issues-1xxx/1918/es2016/output/index.js @@ -1,5 +1,6 @@ import { _ as _async_iterator } from "@swc/helpers/_/_async_iterator"; import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator"; +import { _ as _await_async_generator } from "@swc/helpers/_/_await_async_generator"; _async_to_generator(function*() { let counter = 0; let resolve; @@ -29,7 +30,7 @@ _async_to_generator(function*() { } finally{ try { if (_iteratorAbruptCompletion && _iterator.return != null) { - yield _iterator.return(); + yield _await_async_generator(_iterator.return()); } } finally{ if (_didIteratorError) { diff --git a/crates/swc/tests/fixture/issues-1xxx/1918/es5/output/index.js b/crates/swc/tests/fixture/issues-1xxx/1918/es5/output/index.js index 026e9d3eeb69..a3f3936a6123 100644 --- a/crates/swc/tests/fixture/issues-1xxx/1918/es5/output/index.js +++ b/crates/swc/tests/fixture/issues-1xxx/1918/es5/output/index.js @@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", { }); var _async_iterator = require("@swc/helpers/_/_async_iterator"); var _async_to_generator = require("@swc/helpers/_/_async_to_generator"); +var _await_async_generator = require("@swc/helpers/_/_await_async_generator"); var _define_property = require("@swc/helpers/_/_define_property"); var _ts_generator = require("@swc/helpers/_/_ts_generator"); _async_to_generator._(function() { @@ -85,7 +86,7 @@ _async_to_generator._(function() { ]; return [ 4, - _iterator.return() + _await_async_generator._(_iterator.return()) ]; case 8: _state.sent(); diff --git a/crates/swc/tests/tsc-references/awaitUsingDeclarationsInForAwaitOf(target=es2015).1.normal.js b/crates/swc/tests/tsc-references/awaitUsingDeclarationsInForAwaitOf(target=es2015).1.normal.js index 0f7daf3af093..de5bb2124bcb 100644 --- a/crates/swc/tests/tsc-references/awaitUsingDeclarationsInForAwaitOf(target=es2015).1.normal.js +++ b/crates/swc/tests/tsc-references/awaitUsingDeclarationsInForAwaitOf(target=es2015).1.normal.js @@ -1,6 +1,7 @@ //// [awaitUsingDeclarationsInForAwaitOf.ts] import { _ as _async_iterator } from "@swc/helpers/_/_async_iterator"; import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator"; +import { _ as _await_async_generator } from "@swc/helpers/_/_await_async_generator"; import { _ as _using_ctx } from "@swc/helpers/_/_using_ctx"; function main() { return _main.apply(this, arguments); @@ -39,7 +40,7 @@ function _main() { } finally{ try { if (_iteratorAbruptCompletion && _iterator.return != null) { - yield _iterator.return(); + yield _await_async_generator(_iterator.return()); } } finally{ if (_didIteratorError) { diff --git a/crates/swc/tests/tsc-references/awaitUsingDeclarationsInForAwaitOf(target=es2015).2.minified.js b/crates/swc/tests/tsc-references/awaitUsingDeclarationsInForAwaitOf(target=es2015).2.minified.js index 7d7e834be922..beed0303f811 100644 --- a/crates/swc/tests/tsc-references/awaitUsingDeclarationsInForAwaitOf(target=es2015).2.minified.js +++ b/crates/swc/tests/tsc-references/awaitUsingDeclarationsInForAwaitOf(target=es2015).2.minified.js @@ -1,4 +1,5 @@ //// [awaitUsingDeclarationsInForAwaitOf.ts] import "@swc/helpers/_/_async_iterator"; import "@swc/helpers/_/_async_to_generator"; +import "@swc/helpers/_/_await_async_generator"; import "@swc/helpers/_/_using_ctx"; diff --git a/crates/swc/tests/tsc-references/awaitUsingDeclarationsInForAwaitOf(target=es5).1.normal.js b/crates/swc/tests/tsc-references/awaitUsingDeclarationsInForAwaitOf(target=es5).1.normal.js index 39d65ce5006c..cbba02cd47c8 100644 --- a/crates/swc/tests/tsc-references/awaitUsingDeclarationsInForAwaitOf(target=es5).1.normal.js +++ b/crates/swc/tests/tsc-references/awaitUsingDeclarationsInForAwaitOf(target=es5).1.normal.js @@ -1,6 +1,7 @@ //// [awaitUsingDeclarationsInForAwaitOf.ts] import { _ as _async_iterator } from "@swc/helpers/_/_async_iterator"; import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator"; +import { _ as _await_async_generator } from "@swc/helpers/_/_await_async_generator"; import { _ as _define_property } from "@swc/helpers/_/_define_property"; import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator"; import { _ as _using_ctx } from "@swc/helpers/_/_using_ctx"; @@ -90,7 +91,7 @@ function _main() { ]; return [ 4, - _iterator.return() + _await_async_generator(_iterator.return()) ]; case 8: _state.sent(); diff --git a/crates/swc/tests/tsc-references/awaitUsingDeclarationsInForAwaitOf(target=es5).2.minified.js b/crates/swc/tests/tsc-references/awaitUsingDeclarationsInForAwaitOf(target=es5).2.minified.js index 19e2c806ac5c..c07c114bc1bc 100644 --- a/crates/swc/tests/tsc-references/awaitUsingDeclarationsInForAwaitOf(target=es5).2.minified.js +++ b/crates/swc/tests/tsc-references/awaitUsingDeclarationsInForAwaitOf(target=es5).2.minified.js @@ -1,6 +1,7 @@ //// [awaitUsingDeclarationsInForAwaitOf.ts] import "@swc/helpers/_/_async_iterator"; import "@swc/helpers/_/_async_to_generator"; +import "@swc/helpers/_/_await_async_generator"; import "@swc/helpers/_/_define_property"; import "@swc/helpers/_/_ts_generator"; import "@swc/helpers/_/_using_ctx"; diff --git a/crates/swc/tests/tsc-references/emitter.forAwait(target=es2015).1.normal.js b/crates/swc/tests/tsc-references/emitter.forAwait(target=es2015).1.normal.js index 74a13640b86d..efe23ca0c224 100644 --- a/crates/swc/tests/tsc-references/emitter.forAwait(target=es2015).1.normal.js +++ b/crates/swc/tests/tsc-references/emitter.forAwait(target=es2015).1.normal.js @@ -1,6 +1,7 @@ //// [file1.ts] import { _ as _async_iterator } from "@swc/helpers/_/_async_iterator"; import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator"; +import { _ as _await_async_generator } from "@swc/helpers/_/_await_async_generator"; function f1() { return _f1.apply(this, arguments); } @@ -20,7 +21,7 @@ function _f1() { } finally{ try { if (_iteratorAbruptCompletion && _iterator.return != null) { - yield _iterator.return(); + yield _await_async_generator(_iterator.return()); } } finally{ if (_didIteratorError) { @@ -35,6 +36,7 @@ function _f1() { //// [file2.ts] import { _ as _async_iterator } from "@swc/helpers/_/_async_iterator"; import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator"; +import { _ as _await_async_generator } from "@swc/helpers/_/_await_async_generator"; function f2() { return _f2.apply(this, arguments); } @@ -54,7 +56,7 @@ function _f2() { } finally{ try { if (_iteratorAbruptCompletion && _iterator.return != null) { - yield _iterator.return(); + yield _await_async_generator(_iterator.return()); } } finally{ if (_didIteratorError) { @@ -89,7 +91,7 @@ function _f3() { } finally{ try { if (_iteratorAbruptCompletion && _iterator.return != null) { - yield _iterator.return(); + yield _await_async_generator(_iterator.return()); } } finally{ if (_didIteratorError) { @@ -124,7 +126,7 @@ function _f4() { } finally{ try { if (_iteratorAbruptCompletion && _iterator.return != null) { - yield _iterator.return(); + yield _await_async_generator(_iterator.return()); } } finally{ if (_didIteratorError) { @@ -140,6 +142,7 @@ function _f4() { // https://github.com/Microsoft/TypeScript/issues/21363 import { _ as _async_iterator } from "@swc/helpers/_/_async_iterator"; import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator"; +import { _ as _await_async_generator } from "@swc/helpers/_/_await_async_generator"; function f5() { return _f5.apply(this, arguments); } @@ -160,7 +163,7 @@ function _f5() { } finally{ try { if (_iteratorAbruptCompletion && _iterator.return != null) { - yield _iterator.return(); + yield _await_async_generator(_iterator.return()); } } finally{ if (_didIteratorError) { @@ -197,7 +200,7 @@ function _f6() { } finally{ try { if (_iteratorAbruptCompletion && _iterator.return != null) { - yield _iterator.return(); + yield _await_async_generator(_iterator.return()); } } finally{ if (_didIteratorError) { @@ -234,7 +237,7 @@ function _f7() { } finally{ try { if (_iteratorAbruptCompletion && _iterator.return != null) { - yield _iterator.return(); + yield _await_async_generator(_iterator.return()); } } finally{ if (_didIteratorError) { diff --git a/crates/swc/tests/tsc-references/emitter.forAwait(target=es2015).2.minified.js b/crates/swc/tests/tsc-references/emitter.forAwait(target=es2015).2.minified.js index 63f3d07070a1..39a806471da3 100644 --- a/crates/swc/tests/tsc-references/emitter.forAwait(target=es2015).2.minified.js +++ b/crates/swc/tests/tsc-references/emitter.forAwait(target=es2015).2.minified.js @@ -1,9 +1,11 @@ //// [file1.ts] import "@swc/helpers/_/_async_iterator"; import "@swc/helpers/_/_async_to_generator"; +import "@swc/helpers/_/_await_async_generator"; //// [file2.ts] import "@swc/helpers/_/_async_iterator"; import "@swc/helpers/_/_async_to_generator"; +import "@swc/helpers/_/_await_async_generator"; //// [file3.ts] import "@swc/helpers/_/_async_iterator"; import "@swc/helpers/_/_await_async_generator"; @@ -15,6 +17,7 @@ import "@swc/helpers/_/_wrap_async_generator"; //// [file5.ts] import "@swc/helpers/_/_async_iterator"; import "@swc/helpers/_/_async_to_generator"; +import "@swc/helpers/_/_await_async_generator"; //// [file6.ts] import "@swc/helpers/_/_async_iterator"; import "@swc/helpers/_/_await_async_generator"; diff --git a/crates/swc/tests/tsc-references/emitter.forAwait(target=es5).1.normal.js b/crates/swc/tests/tsc-references/emitter.forAwait(target=es5).1.normal.js index 17d18f81e909..52c043d0013c 100644 --- a/crates/swc/tests/tsc-references/emitter.forAwait(target=es5).1.normal.js +++ b/crates/swc/tests/tsc-references/emitter.forAwait(target=es5).1.normal.js @@ -1,6 +1,7 @@ //// [file1.ts] import { _ as _async_iterator } from "@swc/helpers/_/_async_iterator"; import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator"; +import { _ as _await_async_generator } from "@swc/helpers/_/_await_async_generator"; import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator"; function f1() { return _f1.apply(this, arguments); @@ -67,7 +68,7 @@ function _f1() { ]; return [ 4, - _iterator.return() + _await_async_generator(_iterator.return()) ]; case 8: _state.sent(); @@ -100,6 +101,7 @@ function _f1() { //// [file2.ts] import { _ as _async_iterator } from "@swc/helpers/_/_async_iterator"; import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator"; +import { _ as _await_async_generator } from "@swc/helpers/_/_await_async_generator"; import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator"; function f2() { return _f2.apply(this, arguments); @@ -166,7 +168,7 @@ function _f2() { ]; return [ 4, - _iterator.return() + _await_async_generator(_iterator.return()) ]; case 8: _state.sent(); @@ -266,7 +268,7 @@ function _f3() { ]; return [ 4, - _iterator.return() + _await_async_generator(_iterator.return()) ]; case 8: _state.sent(); @@ -366,7 +368,7 @@ function _f4() { ]; return [ 4, - _iterator.return() + _await_async_generator(_iterator.return()) ]; case 8: _state.sent(); @@ -400,6 +402,7 @@ function _f4() { // https://github.com/Microsoft/TypeScript/issues/21363 import { _ as _async_iterator } from "@swc/helpers/_/_async_iterator"; import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator"; +import { _ as _await_async_generator } from "@swc/helpers/_/_await_async_generator"; import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator"; function f5() { return _f5.apply(this, arguments); @@ -467,7 +470,7 @@ function _f5() { ]; return [ 4, - _iterator.return() + _await_async_generator(_iterator.return()) ]; case 8: _state.sent(); @@ -569,7 +572,7 @@ function _f6() { ]; return [ 4, - _iterator.return() + _await_async_generator(_iterator.return()) ]; case 8: _state.sent(); @@ -670,7 +673,7 @@ function _f7() { ]; return [ 4, - _iterator.return() + _await_async_generator(_iterator.return()) ]; case 8: _state.sent(); diff --git a/crates/swc/tests/tsc-references/emitter.forAwait(target=es5).2.minified.js b/crates/swc/tests/tsc-references/emitter.forAwait(target=es5).2.minified.js index 3a2eed81219d..2bf2b7757ea2 100644 --- a/crates/swc/tests/tsc-references/emitter.forAwait(target=es5).2.minified.js +++ b/crates/swc/tests/tsc-references/emitter.forAwait(target=es5).2.minified.js @@ -1,10 +1,12 @@ //// [file1.ts] import "@swc/helpers/_/_async_iterator"; import "@swc/helpers/_/_async_to_generator"; +import "@swc/helpers/_/_await_async_generator"; import "@swc/helpers/_/_ts_generator"; //// [file2.ts] import "@swc/helpers/_/_async_iterator"; import "@swc/helpers/_/_async_to_generator"; +import "@swc/helpers/_/_await_async_generator"; import "@swc/helpers/_/_ts_generator"; //// [file3.ts] import "@swc/helpers/_/_async_iterator"; @@ -19,6 +21,7 @@ import "@swc/helpers/_/_ts_generator"; //// [file5.ts] import "@swc/helpers/_/_async_iterator"; import "@swc/helpers/_/_async_to_generator"; +import "@swc/helpers/_/_await_async_generator"; import "@swc/helpers/_/_ts_generator"; //// [file6.ts] import "@swc/helpers/_/_async_iterator"; diff --git a/crates/swc/tests/tsc-references/forAwaitPerIterationBindingDownlevel.1.normal.js b/crates/swc/tests/tsc-references/forAwaitPerIterationBindingDownlevel.1.normal.js index aaa5fb86f91d..6cf8ae46671e 100644 --- a/crates/swc/tests/tsc-references/forAwaitPerIterationBindingDownlevel.1.normal.js +++ b/crates/swc/tests/tsc-references/forAwaitPerIterationBindingDownlevel.1.normal.js @@ -132,7 +132,7 @@ _async_to_generator(function() { ]; return [ 4, - _iterator.return() + _await_async_generator(_iterator.return()) ]; case 8: _state.sent(); diff --git a/crates/swc/tests/tsc-references/forAwaitPerIterationBindingDownlevel.2.minified.js b/crates/swc/tests/tsc-references/forAwaitPerIterationBindingDownlevel.2.minified.js index 49e074414a05..3e523b7a0265 100644 --- a/crates/swc/tests/tsc-references/forAwaitPerIterationBindingDownlevel.2.minified.js +++ b/crates/swc/tests/tsc-references/forAwaitPerIterationBindingDownlevel.2.minified.js @@ -108,7 +108,7 @@ _async_to_generator(function() { ]; return [ 4, - _iterator.return() + _await_async_generator(_iterator.return()) ]; case 8: _state.sent(), _state.label = 9; diff --git a/crates/swc/tests/tsc-references/usingDeclarationsInForAwaitOf(target=es2015).1.normal.js b/crates/swc/tests/tsc-references/usingDeclarationsInForAwaitOf(target=es2015).1.normal.js index 048c1a1b02e1..a2180993f946 100644 --- a/crates/swc/tests/tsc-references/usingDeclarationsInForAwaitOf(target=es2015).1.normal.js +++ b/crates/swc/tests/tsc-references/usingDeclarationsInForAwaitOf(target=es2015).1.normal.js @@ -1,6 +1,7 @@ //// [usingDeclarationsInForAwaitOf.ts] import { _ as _async_iterator } from "@swc/helpers/_/_async_iterator"; import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator"; +import { _ as _await_async_generator } from "@swc/helpers/_/_await_async_generator"; import { _ as _using_ctx } from "@swc/helpers/_/_using_ctx"; function main() { return _main.apply(this, arguments); @@ -34,7 +35,7 @@ function _main() { } finally{ try { if (_iteratorAbruptCompletion && _iterator.return != null) { - yield _iterator.return(); + yield _await_async_generator(_iterator.return()); } } finally{ if (_didIteratorError) { diff --git a/crates/swc/tests/tsc-references/usingDeclarationsInForAwaitOf(target=es2015).2.minified.js b/crates/swc/tests/tsc-references/usingDeclarationsInForAwaitOf(target=es2015).2.minified.js index 25676163c058..fc4cd5045aec 100644 --- a/crates/swc/tests/tsc-references/usingDeclarationsInForAwaitOf(target=es2015).2.minified.js +++ b/crates/swc/tests/tsc-references/usingDeclarationsInForAwaitOf(target=es2015).2.minified.js @@ -1,4 +1,5 @@ //// [usingDeclarationsInForAwaitOf.ts] import "@swc/helpers/_/_async_iterator"; import "@swc/helpers/_/_async_to_generator"; +import "@swc/helpers/_/_await_async_generator"; import "@swc/helpers/_/_using_ctx"; diff --git a/crates/swc/tests/tsc-references/usingDeclarationsInForAwaitOf(target=es5).1.normal.js b/crates/swc/tests/tsc-references/usingDeclarationsInForAwaitOf(target=es5).1.normal.js index 4dc1b4513e28..9f2200bbcf2d 100644 --- a/crates/swc/tests/tsc-references/usingDeclarationsInForAwaitOf(target=es5).1.normal.js +++ b/crates/swc/tests/tsc-references/usingDeclarationsInForAwaitOf(target=es5).1.normal.js @@ -1,6 +1,7 @@ //// [usingDeclarationsInForAwaitOf.ts] import { _ as _async_iterator } from "@swc/helpers/_/_async_iterator"; import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator"; +import { _ as _await_async_generator } from "@swc/helpers/_/_await_async_generator"; import { _ as _define_property } from "@swc/helpers/_/_define_property"; import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator"; import { _ as _using_ctx } from "@swc/helpers/_/_using_ctx"; @@ -81,7 +82,7 @@ function _main() { ]; return [ 4, - _iterator.return() + _await_async_generator(_iterator.return()) ]; case 8: _state.sent(); diff --git a/crates/swc/tests/tsc-references/usingDeclarationsInForAwaitOf(target=es5).2.minified.js b/crates/swc/tests/tsc-references/usingDeclarationsInForAwaitOf(target=es5).2.minified.js index 1f36613b865b..3ea8e8ae26d2 100644 --- a/crates/swc/tests/tsc-references/usingDeclarationsInForAwaitOf(target=es5).2.minified.js +++ b/crates/swc/tests/tsc-references/usingDeclarationsInForAwaitOf(target=es5).2.minified.js @@ -1,6 +1,7 @@ //// [usingDeclarationsInForAwaitOf.ts] import "@swc/helpers/_/_async_iterator"; import "@swc/helpers/_/_async_to_generator"; +import "@swc/helpers/_/_await_async_generator"; import "@swc/helpers/_/_define_property"; import "@swc/helpers/_/_ts_generator"; import "@swc/helpers/_/_using_ctx"; diff --git a/crates/swc_ecma_transforms_compat/tests/__swc_snapshots__/tests/es2017_async_to_generator.rs/issue_1721_1.js b/crates/swc_ecma_transforms_compat/tests/__swc_snapshots__/tests/es2017_async_to_generator.rs/issue_1721_1.js index c01c45dee66d..b2d378a85a6a 100644 --- a/crates/swc_ecma_transforms_compat/tests/__swc_snapshots__/tests/es2017_async_to_generator.rs/issue_1721_1.js +++ b/crates/swc_ecma_transforms_compat/tests/__swc_snapshots__/tests/es2017_async_to_generator.rs/issue_1721_1.js @@ -17,7 +17,7 @@ function _main() { } finally{ try { if (_iteratorAbruptCompletion && _iterator.return != null) { - yield _iterator.return(); + yield _await_async_generator(_iterator.return()); } } finally{ if (_didIteratorError) {