diff --git a/packages/babel-helper-remap-async-to-generator/src/index.js b/packages/babel-helper-remap-async-to-generator/src/index.js index 4f53d5bb5d..00bccfa42b 100644 --- a/packages/babel-helper-remap-async-to-generator/src/index.js +++ b/packages/babel-helper-remap-async-to-generator/src/index.js @@ -152,7 +152,7 @@ function plainFunction(path: NodePath, callId: Object) { } export default function (path: NodePath, file: Object, helpers: Object) { - path.get("body").traverse(awaitVisitor, { + path.traverse(awaitVisitor, { file, wrapAwait: helpers.wrapAwait }); diff --git a/packages/babel-plugin-transform-async-generator-functions/src/index.js b/packages/babel-plugin-transform-async-generator-functions/src/index.js index eb9ec868be..409b14f364 100644 --- a/packages/babel-plugin-transform-async-generator-functions/src/index.js +++ b/packages/babel-plugin-transform-async-generator-functions/src/index.js @@ -22,7 +22,7 @@ export default function ({ types: t }) { Function(path, state) { if (!path.node.async || !path.node.generator) return; - path.get("body").traverse(yieldStarVisitor, state); + path.traverse(yieldStarVisitor, state); remapAsyncToGenerator(path, state.file, { wrapAsync: t.memberExpression( diff --git a/packages/babel-plugin-transform-async-to-generator/test/fixtures/regression/4599/actual.js b/packages/babel-plugin-transform-async-to-generator/test/fixtures/regression/4599/actual.js new file mode 100644 index 0000000000..91c3e65f89 --- /dev/null +++ b/packages/babel-plugin-transform-async-to-generator/test/fixtures/regression/4599/actual.js @@ -0,0 +1,3 @@ +async () => await promise + +async () => { await promise } diff --git a/packages/babel-plugin-transform-async-to-generator/test/fixtures/regression/4599/expected.js b/packages/babel-plugin-transform-async-to-generator/test/fixtures/regression/4599/expected.js new file mode 100644 index 0000000000..1e1a2824cc --- /dev/null +++ b/packages/babel-plugin-transform-async-to-generator/test/fixtures/regression/4599/expected.js @@ -0,0 +1,7 @@ +babelHelpers.asyncToGenerator(function* () { + return yield promise; +}); + +babelHelpers.asyncToGenerator(function* () { + yield promise; +});