From ab039ad99939f26c5ac367760b5feff81f8efbce Mon Sep 17 00:00:00 2001 From: Fran Dios Date: Thu, 8 Aug 2024 14:05:40 +0200 Subject: [PATCH] Improve generated JSDoc for @return tags --- packages/cli/src/lib/transpile/morph/functions.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/cli/src/lib/transpile/morph/functions.ts b/packages/cli/src/lib/transpile/morph/functions.ts index ed5299687e..553b1a9141 100644 --- a/packages/cli/src/lib/transpile/morph/functions.ts +++ b/packages/cli/src/lib/transpile/morph/functions.ts @@ -42,9 +42,16 @@ export function generateFunctionDocumentation( const declaration = functionNode as FunctionDeclaration; const jsDocs = declaration.getJsDocs()[0]; - if (jsDocs?.getTags().length === 0) { + if ( + jsDocs && + !jsDocs.getTags().find((tag) => tag.getTagName() === 'return') + ) { const returnType = declaration.getReturnType().getText(); - if (isAnnotableType(returnType)) { + const hasManuallySpecifiedReturnType = !!declaration + .getSignature() + .compilerSignature.getReturnType().aliasSymbol; + + if (hasManuallySpecifiedReturnType) { jsDocs.addTag({tagName: 'return', text: normalizeType(returnType)}); } }