diff --git a/src/compiler/utilities.ts b/src/compiler/utilities.ts index 300c6421dbc60..df19a8948c722 100644 --- a/src/compiler/utilities.ts +++ b/src/compiler/utilities.ts @@ -3114,9 +3114,9 @@ namespace ts { } export function getJSDocTypeParameterDeclarations(node: DeclarationWithTypeParameters): ReadonlyArray { - const tags = filter(getJSDocTags(node), isJSDocTemplateTag); // template tags are only available when a typedef isn't already using them - const tag = find(tags, tag => !(tag.parent.kind === SyntaxKind.JSDocComment && find(tag.parent.tags, isJSDocTypeAlias))); + const tag = find(getJSDocTags(node), (tag): tag is JSDocTemplateTag => + isJSDocTemplateTag(tag) && !(tag.parent.kind === SyntaxKind.JSDocComment && tag.parent.tags!.some(isJSDocTypeAlias))); return (tag && tag.typeParameters) || emptyArray; }