Aller au contenu principal

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