aboutsummaryrefslogtreecommitdiffstats
path: root/packages/react-docs/src
diff options
context:
space:
mode:
authorFabio Berger <me@fabioberger.com>2018-09-26 00:34:22 +0800
committerFabio Berger <me@fabioberger.com>2018-09-26 00:34:22 +0800
commitb40861747b73bb9a0826853751b7caa5cbf085ae (patch)
tree4c2d306da6265bacf1d476afe0531e38f25f287c /packages/react-docs/src
parentb73df28454bf72c0e68b1150ca6ee0ea3ead1382 (diff)
downloaddexon-sol-tools-b40861747b73bb9a0826853751b7caa5cbf085ae.tar.gz
dexon-sol-tools-b40861747b73bb9a0826853751b7caa5cbf085ae.tar.zst
dexon-sol-tools-b40861747b73bb9a0826853751b7caa5cbf085ae.zip
Properly render function generic types that don't extend another type
Diffstat (limited to 'packages/react-docs/src')
-rw-r--r--packages/react-docs/src/components/signature.tsx21
-rw-r--r--packages/react-docs/src/types.ts2
-rw-r--r--packages/react-docs/src/utils/typedoc_utils.ts5
3 files changed, 18 insertions, 10 deletions
diff --git a/packages/react-docs/src/components/signature.tsx b/packages/react-docs/src/components/signature.tsx
index bf9c8be24..4f10f4665 100644
--- a/packages/react-docs/src/components/signature.tsx
+++ b/packages/react-docs/src/components/signature.tsx
@@ -134,14 +134,19 @@ function renderTypeParameter(
): React.ReactNode {
const typeParam = (
<span>
- {`<${typeParameter.name} extends `}
- <Type
- type={typeParameter.type}
- sectionName={sectionName}
- typeDefinitionByName={typeDefinitionByName}
- docsInfo={docsInfo}
- isInPopover={isInPopover}
- />
+ {`<${typeParameter.name}`}
+ {!_.isUndefined(typeParameter.type) && (
+ <span>
+ {' extends '}
+ <Type
+ type={typeParameter.type}
+ sectionName={sectionName}
+ typeDefinitionByName={typeDefinitionByName}
+ docsInfo={docsInfo}
+ isInPopover={isInPopover}
+ />
+ </span>
+ )}
{`>`}
</span>
);
diff --git a/packages/react-docs/src/types.ts b/packages/react-docs/src/types.ts
index f9cb5e26a..29f5664f5 100644
--- a/packages/react-docs/src/types.ts
+++ b/packages/react-docs/src/types.ts
@@ -150,7 +150,7 @@ export interface Parameter {
export interface TypeParameter {
name: string;
- type: Type;
+ type?: Type;
}
export interface Type {
diff --git a/packages/react-docs/src/utils/typedoc_utils.ts b/packages/react-docs/src/utils/typedoc_utils.ts
index f44945369..e3e9c11fb 100644
--- a/packages/react-docs/src/utils/typedoc_utils.ts
+++ b/packages/react-docs/src/utils/typedoc_utils.ts
@@ -419,7 +419,10 @@ export class TypeDocUtils {
return func;
}
private _convertTypeParameter(entity: TypeDocNode, sectionName: string): TypeParameter {
- const type = this._convertType(entity.type, sectionName);
+ let type;
+ if (!_.isUndefined(entity.type)) {
+ type = this._convertType(entity.type, sectionName);
+ }
const parameter = {
name: entity.name,
type,