Skip to main content

DiscriminatedUnionSchema<Discriminator, Schemas, T>

DiscriminatedUnionSchema<Discriminator, Schemas, T> = Schema<T> & object

A discriminated union schema with O(1) lookup based on a discriminator key.

Type Declaration​

type: "union"​

discriminator: Discriminator​

schemas: Schemas​

schemaMap: Map<EnumValue, GenericSchema>​


Type Parameters​

Discriminator: Discriminator extends string​

The key used to discriminate between variants.

Schemas: Schemas extends readonly GenericSchema[]​

Array of object schemas with a literal discriminator field.

T: T = Infer<Schemas[number]>​


Since​

2.0.0