class ZodDiscriminatedUnion
extends ZodType<Option["_output"], ZodDiscriminatedUnionDef<Discriminator, DiscriminatorValue, Option>, Option["_input"]>
import { ZodDiscriminatedUnion } from "https://dotland.deno.dev/x/zod@v3.19.1/index.ts";
Type Parameters
Option extends ZodDiscriminatedUnionOption<Discriminator, DiscriminatorValue>
Static Methods
create<Discriminator extends string, DiscriminatorValue extends Primitive, Types extends [ZodDiscriminatedUnionOption<Discriminator, DiscriminatorValue>, ZodDiscriminatedUnionOption<Discriminator, DiscriminatorValue>, ...ZodDiscriminatedUnionOption<Discriminator, DiscriminatorValue>[]]>(): ZodDiscriminatedUnion<Discriminator, DiscriminatorValue, Types[number]>
The constructor of the discriminated union schema. Its behaviour is very similar to that of the normal z.union() constructor. However, it only allows a union of objects, all of which need to share a discriminator property. This property must have a different value for each object in the union.