UNPKG

typedoc-theme-yaf

Version:

A fresh, opinionated and standalone front-end documentation application consuming Typedoc generated data.

34 lines 1.22 kB
import { YafHTMLElement } from '../../index.js'; import { makeElement, makeSymbolSpan } from '../../yafElement.js'; export class YafTypeParameters extends YafHTMLElement { onConnect() { const { factory } = YafTypeParameters; const HTMLElements = [ makeSymbolSpan('<'), factory.mapParams(factory.makeParams(this.props)), makeSymbolSpan('>'), ].flat(); this.appendChildren(HTMLElements); } } YafTypeParameters.factory = { makeParams: (params) => (params || []).flatMap((param) => { const span = makeElement('span', `type ${param.kindString ? ` ${param.kindString}` : ''}`, param.name); return param.varianceModifier ? [ makeElement('span', 'modifier', `${param.varianceModifier}`), span, ] : span; }), mapParams: (params) => params .map((param, i) => { if (i >= params.length - 1) return param; return [param, makeSymbolSpan(',')]; }) .flat(), }; const yafTypeParameters = 'yaf-type-parameters'; customElements.define(yafTypeParameters, YafTypeParameters); //# sourceMappingURL=YafTypeParameters.js.map