import type { ApiDeclaredItem, ApiItemContainerMixin, ApiProperty, ApiPropertySignature, } from '@discordjs/api-extractor-model'; import type { PropsWithChildren } from 'react'; import { Badges } from './Badges'; import { CodeHeading } from './CodeHeading'; import { ExcerptText } from './ExcerptText'; import { InheritanceText } from './InheritanceText'; import { TSDoc } from './documentation/tsdoc/TSDoc'; export function Property({ item, children, inheritedFrom, }: PropsWithChildren<{ readonly inheritedFrom?: (ApiDeclaredItem & ApiItemContainerMixin) | undefined; readonly item: ApiProperty | ApiPropertySignature; }>) { const hasSummary = Boolean(item.tsdocComment?.summarySection); return (
{`${item.displayName}${item.isOptional ? '?' : ''}`} : {item.propertyTypeExcerpt.text ? ( ) : null}
{hasSummary || inheritedFrom ? (
{item.tsdocComment ? : null} {inheritedFrom ? : null} {children}
) : null}
); }