Skip to content

ExportedType

type ExportedType =
| {
definition: string;
kind: "interface" | "class";
members?: readonly TypeMember[];
name: string;
}
| {
definition: string;
kind: "type";
name: string;
}
| {
definition: string;
kind: "enum";
members?: readonly EnumMember[];
name: string;
};

Defined in: packages/analyzer/src/types.ts:166

Discriminated union on kind. Member shape varies per kind:

  • interface, type, class carry TypeMember[]
  • enum carries enum members (name + string/number value)
  • type aliases that resolve to a primitive or union carry no members

The analyzer currently only populates members for interfaces and classes; type and enum entries remain structurally opaque (string definition only). The variant boundary makes that explicit.