diff --git a/src/lib/output/themes/default/partials/member.declaration.tsx b/src/lib/output/themes/default/partials/member.declaration.tsx
index 2affdbb06..90c22c7ec 100644
--- a/src/lib/output/themes/default/partials/member.declaration.tsx
+++ b/src/lib/output/themes/default/partials/member.declaration.tsx
@@ -1,19 +1,13 @@
import { DeclarationReflection, ReflectionType } from "../../../../models";
import { JSX } from "../../../../utils";
-import { join, wbr } from "../../lib";
+import { renderTypeParametersSignature, wbr } from "../../lib";
import type { DefaultThemeRenderContext } from "../DefaultThemeRenderContext";
export const memberDeclaration = (context: DefaultThemeRenderContext, props: DeclarationReflection) => (
<>
{wbr(props.name)}
- {!!props.typeParameters && (
- <>
- {"<"}
- {join(", ", props.typeParameters, (item) => item.name)}
- {">"}
- >
- )}
+ {renderTypeParametersSignature(props.typeParameters)}
{props.type && (
<>
{!!props.flags.isOptional && "?"}:{" "}
diff --git a/src/lib/output/themes/default/partials/member.signature.title.tsx b/src/lib/output/themes/default/partials/member.signature.title.tsx
index 6ee1d5f00..05200e891 100644
--- a/src/lib/output/themes/default/partials/member.signature.title.tsx
+++ b/src/lib/output/themes/default/partials/member.signature.title.tsx
@@ -1,4 +1,4 @@
-import { join, wbr } from "../../lib";
+import { join, renderTypeParametersSignature, wbr } from "../../lib";
import type { DefaultThemeRenderContext } from "../DefaultThemeRenderContext";
import { JSX } from "../../../../utils";
import type { SignatureReflection } from "../../../../models";
@@ -21,13 +21,7 @@ export const memberSignatureTitle = (
)}
>
)}
- {!!props.typeParameters && (
- <>
- {"<"}
- {join(", ", props.typeParameters, (item) => item.name)}
- {">"}
- >
- )}
+ {renderTypeParametersSignature(props.typeParameters)}
(
{join(", ", props.parameters ?? [], (item) => (
<>
diff --git a/src/lib/output/themes/lib.tsx b/src/lib/output/themes/lib.tsx
index 7c31fc3d3..1321a2c26 100644
--- a/src/lib/output/themes/lib.tsx
+++ b/src/lib/output/themes/lib.tsx
@@ -78,3 +78,23 @@ export function hasTypeParameters(
}
return false;
}
+
+export function renderTypeParametersSignature(
+ typeParameters: readonly TypeParameterReflection[] | undefined
+): JSX.Element {
+ return (
+ <>
+ {!!typeParameters && typeParameters.length > 0 && (
+ <>
+ {"<"}
+ {join({", "}, typeParameters, (item) => (
+
+ {item.name}
+
+ ))}
+ {">"}
+ >
+ )}
+ >
+ );
+}