/* eslint-disable @typescript-eslint/no-use-before-define */ // https://github.com/TypeStrong/typedoc-default-themes/blob/master/src/default/partials/Parameter.hbs import { useMinimalLayout } from '../hooks/useMinimalLayout'; import type { TSDDeclarationReflection } from '../types'; import { Comment } from './Comment'; import { Flags } from './Flags'; import { Icon } from './Icon'; import { hasSigBody, MemberSignatureBody } from './MemberSignatureBody'; import { MemberSignatures } from './MemberSignatures'; import { MemberSignatureTitle } from './MemberSignatureTitle'; import { extractDeclarationFromType, Type } from './Type'; export interface ParameterProps { param?: TSDDeclarationReflection; } function ParameterChild({ param }: ParameterProps) { if (!param) { return null; } if (param.signatures && param.signatures.length > 0) { return (
  • {param.flags?.isRest && ...} {param.name} {param.flags?.isOptional && '?'}: function
  • ); } if (param.type) { return (
  • {param.flags?.isRest && ...} {param.name} {param.flags?.isOptional && '?'}:
    {param.children?.map((child) => )}
  • ); } const getter = param.getSignature; const setter = param.setSignature; return ( <> {getter && (
  • get {getter.name} ():
  • )} {setter && (
  • set {setter.name} ( {setter.parameters?.map((p, i) => ( {i > 0 && ', '} {p.name} : {p.type ? : 'any'} ))} ):
  • )} ); } export function Parameter({ param }: ParameterProps) { const minimal = useMinimalLayout(); if (!param || minimal) { return null; } const hasSomeBody = param.signatures?.some((sig) => hasSigBody(sig, minimal, true)); return ( ); }