src/TypeAlias.tsx (21 lines of code) (raw):
import CollapsingDetails from './CollapsingDetails';
import CollapsingType from './CollapsingType';
import ValueOf from './ValueOf';
import Variants from './Variants';
import { TypeAlias as TypeAliasType } from './metamodel';
type Props = {
type: TypeAliasType;
}
export default function Interface({ type }: Props) {
return (
<>
<ValueOf header="Type" value={type.type} />
{type.generics &&
<CollapsingDetails expanded header="Generics">
{type.generics.map(g => (
<CollapsingType key={`${g.namespace}::${g.name}`} namespace={g.namespace} name={g.name} />
))}
</CollapsingDetails>
}
{type.variants && <Variants variants={type.variants} />}
</>
);
}