import React from 'react'; import type { JSONOutput } from 'typedoc'; import { TokenPunctuation, TokenAttrName, TokenLiteral } from './tokens'; import Indent from './Indent'; import renderType from './renderType'; import Params from './Params'; export default function renderSignatureParams( signature: JSONOutput.SignatureReflection, shouldBreak: boolean, params: Params ) { return signature.parameters?.reduce((prev: any, curr) => { const paramName = curr.name === '__namedParameters' ? 'props' : curr.name; const namedToken = ( {curr.name === '__namedParameters' ? 'props' : curr.name} ); const isOptional = curr.flags.isOptional; return ( <> {prev} {prev && ,} {prev && shouldBreak ?
: null} {shouldBreak && } {prev && (shouldBreak ? null : )} {params.resolveMembersLinks ? ( {namedToken} ) : ( namedToken )} {isOptional && ?} : {renderType(curr.type, params)} {typeof curr.defaultValue === 'string' && ( <> = {curr.defaultValue} )} ); }, null); }