UNPKG

typedoc-plugin-markdown

Version:

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

30 lines (29 loc) 1.16 kB
import { backTicks } from '../../../libs/markdown/index.js'; export function signatureParameters(model) { const format = this.options.getValue('useCodeBlocks'); const firstOptionalParamIndex = model.findIndex((parameter) => parameter.flags.isOptional); return ('(' + model .map((param, i) => { const paramsmd = []; if (param.flags?.isRest) { paramsmd.push('...'); } const paramType = this.partials.someType(param.type); const showParamType = this.options.getValue('expandParameters'); const optional = param.flags.isOptional || (firstOptionalParamIndex !== -1 && i > firstOptionalParamIndex) ? '?' : ''; const paramItem = [ `${backTicks(`${param.name}${optional}`)}`, ]; if (showParamType) { paramItem.push(paramType); } paramsmd.push(`${format && model.length > 2 ? `\n ` : ''}${paramItem.join(': ')}`); return paramsmd.join(''); }) .join(`, `) + ')'); }