From 284ff3e8ed6de450b4a412a0124fcb0119d9569a Mon Sep 17 00:00:00 2001 From: liuxingbaoyu <30521560+liuxingbaoyu@users.noreply.github.com> Date: Thu, 14 Jul 2022 21:35:03 +0800 Subject: [PATCH 1/2] fix --- packages/babel-generator/src/generators/methods.ts | 6 +++++- .../typescript/types-arrow-return-with-comment/input.js | 1 + .../typescript/types-arrow-return-with-comment/output.js | 1 + 3 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 packages/babel-generator/test/fixtures/typescript/types-arrow-return-with-comment/input.js create mode 100644 packages/babel-generator/test/fixtures/typescript/types-arrow-return-with-comment/output.js diff --git a/packages/babel-generator/src/generators/methods.ts b/packages/babel-generator/src/generators/methods.ts index 9ebe7a28a2a4..db2132c56029 100644 --- a/packages/babel-generator/src/generators/methods.ts +++ b/packages/babel-generator/src/generators/methods.ts @@ -11,7 +11,11 @@ export function _params( this._parameters(node.params, node); this.token(")"); - this.print(node.returnType, node); + if (node.returnType) { + this._noLineTerminator = true; + this.print(node.returnType, node); + this._noLineTerminator = false; + } } export function _parameters( diff --git a/packages/babel-generator/test/fixtures/typescript/types-arrow-return-with-comment/input.js b/packages/babel-generator/test/fixtures/typescript/types-arrow-return-with-comment/input.js new file mode 100644 index 000000000000..90c7f0ce0af3 --- /dev/null +++ b/packages/babel-generator/test/fixtures/typescript/types-arrow-return-with-comment/input.js @@ -0,0 +1 @@ +export default (): void /* hi! */ => {}; diff --git a/packages/babel-generator/test/fixtures/typescript/types-arrow-return-with-comment/output.js b/packages/babel-generator/test/fixtures/typescript/types-arrow-return-with-comment/output.js new file mode 100644 index 000000000000..e1d2b72d2f49 --- /dev/null +++ b/packages/babel-generator/test/fixtures/typescript/types-arrow-return-with-comment/output.js @@ -0,0 +1 @@ +export default ((): void /* hi! */ => {}); \ No newline at end of file From a64cb234c4bad01a9f01c41daf016b2d580554a8 Mon Sep 17 00:00:00 2001 From: liuxingbaoyu <30521560+liuxingbaoyu@users.noreply.github.com> Date: Thu, 14 Jul 2022 22:46:14 +0800 Subject: [PATCH 2/2] review --- packages/babel-generator/src/generators/methods.ts | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/packages/babel-generator/src/generators/methods.ts b/packages/babel-generator/src/generators/methods.ts index db2132c56029..65f6026decf6 100644 --- a/packages/babel-generator/src/generators/methods.ts +++ b/packages/babel-generator/src/generators/methods.ts @@ -12,9 +12,13 @@ export function _params( this.token(")"); if (node.returnType) { - this._noLineTerminator = true; - this.print(node.returnType, node); - this._noLineTerminator = false; + if (node.type === "ArrowFunctionExpression") { + this._noLineTerminator = true; + this.print(node.returnType, node); + this._noLineTerminator = false; + } else { + this.print(node.returnType, node); + } } }