diff --git a/CHANGELOG.md b/CHANGELOG.md index bddbd8725..7e16624be 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ - If a relative linked image is referenced multiple times, TypeDoc will no longer sometimes produce invalid links to the image #2627. - `@link` tags will now be validated in referenced markdown documents, #2629. - `@link` tags are now resolved in project documents, #2629. +- `@hidden` is now properly applied when placed in a function implementation comment. - Comments on re-exports are now rendered. ### Thanks! diff --git a/src/lib/converter/plugins/CommentPlugin.ts b/src/lib/converter/plugins/CommentPlugin.ts index 27f52f18b..33b622c80 100644 --- a/src/lib/converter/plugins/CommentPlugin.ts +++ b/src/lib/converter/plugins/CommentPlugin.ts @@ -634,14 +634,12 @@ export class CommentPlugin extends ConverterComponent { (comment.hasModifier("@internal") && this.excludeInternal); if ( - isHidden && + !isHidden && reflection.kindOf(ReflectionKind.ContainsCallSignatures) ) { return (reflection as DeclarationReflection) .getNonIndexSignatures() - .every((sig) => { - return !sig.comment || this.isHidden(sig); - }); + .every((sig) => this.isHidden(sig)); } return isHidden; diff --git a/src/test/converter2/issues/gh2634.ts b/src/test/converter2/issues/gh2634.ts new file mode 100644 index 000000000..f13fb5be4 --- /dev/null +++ b/src/test/converter2/issues/gh2634.ts @@ -0,0 +1,23 @@ +/** + * @param a - Number param. + */ +export function hidden(a: number): void; + +/** + * @param a - String param. + */ +export function hidden(a: string): void; + +/** @hidden */ +export function hidden(a: string | number): void { + console.log(a); +} + +/** @hidden */ +export function implicitlyHidden(x: string): void; +/** @hidden */ +export function implicitlyHidden(x: number): void; +export function implicitlyHidden() {} + +/** @hidden */ +export const hiddenVariableFunc = () => 1; diff --git a/src/test/issues.c2.test.ts b/src/test/issues.c2.test.ts index bb3866389..566cd6196 100644 --- a/src/test/issues.c2.test.ts +++ b/src/test/issues.c2.test.ts @@ -1636,4 +1636,9 @@ describe("Issue Tests", () => { logger.expectNoOtherMessages(); }); + + it("#2634 handles @hidden on function implementations", () => { + const project = convert(); + equal(project.children?.map((c) => c.name) || [], []); + }); });