UNPKG

typedoc-plugin-markdown

Version:

A plugin for TypeDoc that enables TypeScript API documentation to be generated in Markdown.

26 lines (25 loc) 1.06 kB
import { codeBlock } from '../../../libs/markdown/code-block.js'; import { ReflectionType, UnionType } from 'typedoc'; export function typeDeclarationUnionContainer(model, options) { const md = []; if (model.type instanceof UnionType) { const useCodeBlocks = this.options.getValue('useCodeBlocks'); const elementSummaries = model.type?.elementSummaries; model.type.types.forEach((type, i) => { if (type instanceof ReflectionType) { const typeOut = this.partials.someType(type, { forceCollapse: true, }); md.push(useCodeBlocks ? codeBlock(typeOut) : typeOut); md.push(this.partials.typeDeclarationContainer(model, type.declaration, options)); } else { md.push(`${this.partials.someType(type)}`); } if (elementSummaries?.[i]) { md.push(this.helpers.getCommentParts(elementSummaries[i])); } }); } return md.join('\n\n'); }