Skip to main content

Function: defineUnion()

defineUnion<TVariants>(name, __namedParameters): UnionDef<ResolvedUnionVariants<TVariants>>

Defined in: defineUnion.ts:56

Define a union: a discriminated choice between several record variants. A value of the union is exactly one of its variants, tagged by the discriminant field (default "type").

Type Parameters​

TVariants​

TVariants extends UnionVariantArgs

Parameters​

name​

string

__namedParameters​

UnionArgs<TVariants>

Returns​

UnionDef<ResolvedUnionVariants<TVariants>>

Example​

const NodeShape = defineUnion("NodeShape", {
discriminant: "shapeType",
docs: "The shape of a node.",
variants: { box: ShapeBox, circle: ShapeCircle },
});