diff options
author | Fabio Berger <me@fabioberger.com> | 2018-09-26 00:34:22 +0800 |
---|---|---|
committer | Fabio Berger <me@fabioberger.com> | 2018-09-26 00:34:22 +0800 |
commit | b40861747b73bb9a0826853751b7caa5cbf085ae (patch) | |
tree | 4c2d306da6265bacf1d476afe0531e38f25f287c /packages/react-docs | |
parent | b73df28454bf72c0e68b1150ca6ee0ea3ead1382 (diff) | |
download | dexon-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')
-rw-r--r-- | packages/react-docs/src/components/signature.tsx | 21 | ||||
-rw-r--r-- | packages/react-docs/src/types.ts | 2 | ||||
-rw-r--r-- | packages/react-docs/src/utils/typedoc_utils.ts | 5 |
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, |