Class ZodDiscriminatedUnion<Discriminator, DiscriminatorValue, Option>

Type Parameters

Hierarchy

Constructors

Properties

_def: ZodDiscriminatedUnionDef<Discriminator, DiscriminatorValue, Option>
_input: Option["_input"]
_output: Option["_output"]
_type: Option["_output"]
spa: ((data: unknown, params?: Partial<ParseParams>) => Promise<SafeParseReturnType<Option["_input"], Option["_output"]>>)

Type declaration

superRefine: ((refinement: ((arg: Option["_output"], ctx: RefinementCtx) => any)) => ZodEffects<ZodDiscriminatedUnion<Discriminator, DiscriminatorValue, Option>, Option["_output"], Option["_input"]>)

Type declaration

Accessors

  • get description(): undefined | string
  • Returns undefined | string

  • get discriminator(): Discriminator
  • Returns Discriminator

  • get options(): Map<DiscriminatorValue, Option>
  • Returns Map<DiscriminatorValue, Option>

  • get validDiscriminatorValues(): DiscriminatorValue[]
  • Returns DiscriminatorValue[]

Methods

  • Parameters

    Returns string

  • Parameters

    • def: noUndefined<Option["_input"]>

    Returns ZodDefault<ZodDiscriminatedUnion<Discriminator, DiscriminatorValue, Option>>

  • Parameters

    • def: (() => noUndefined<Option["_input"]>)
        • (): noUndefined<Option["_input"]>
        • Returns noUndefined<Option["_input"]>

    Returns ZodDefault<ZodDiscriminatedUnion<Discriminator, DiscriminatorValue, Option>>

  • Parameters

    • description: string

    Returns ZodDiscriminatedUnion<Discriminator, DiscriminatorValue, Option>

  • Returns boolean

  • Returns boolean

  • Type Parameters

    Type Parameters

    • T extends ZodType<any, any, any, T>

    Parameters

    • option: T

    Returns ZodUnion<[ZodDiscriminatedUnion<Discriminator, DiscriminatorValue, Option>, T]>

  • Parameters

    Returns Option["_output"]

  • Parameters

    Returns Promise<Option["_output"]>

  • Type Parameters

    Type Parameters

    Parameters

    • check: ((arg: Option["_output"]) => arg is RefinedOutput)
        • (arg: Option["_output"]): arg is RefinedOutput
        • Parameters

          • arg: Option["_output"]

          Returns arg is RefinedOutput

    • Optional message: string | Partial<Omit<ZodCustomIssue, "code">> | ((arg: Option["_output"]) => Partial<Omit<ZodCustomIssue, "code">>)

    Returns ZodEffects<ZodDiscriminatedUnion<Discriminator, DiscriminatorValue, Option>, RefinedOutput, RefinedOutput>

  • Parameters

    • check: ((arg: Option["_output"]) => unknown)
        • (arg: Option["_output"]): unknown
        • Parameters

          • arg: Option["_output"]

          Returns unknown

    • Optional message: string | Partial<Omit<ZodCustomIssue, "code">> | ((arg: Option["_output"]) => Partial<Omit<ZodCustomIssue, "code">>)

    Returns ZodEffects<ZodDiscriminatedUnion<Discriminator, DiscriminatorValue, Option>, Option["_output"], Option["_input"]>

  • Type Parameters

    Type Parameters

    Parameters

    • check: ((arg: Option["_output"]) => arg is RefinedOutput)
        • (arg: Option["_output"]): arg is RefinedOutput
        • Parameters

          • arg: Option["_output"]

          Returns arg is RefinedOutput

    • refinementData: IssueData | ((arg: Option["_output"], ctx: RefinementCtx) => IssueData)

    Returns ZodEffects<ZodDiscriminatedUnion<Discriminator, DiscriminatorValue, Option>, RefinedOutput, RefinedOutput>

  • Parameters

    • check: ((arg: Option["_output"]) => boolean)
        • (arg: Option["_output"]): boolean
        • Parameters

          • arg: Option["_output"]

          Returns boolean

    • refinementData: IssueData | ((arg: Option["_output"], ctx: RefinementCtx) => IssueData)

    Returns ZodEffects<ZodDiscriminatedUnion<Discriminator, DiscriminatorValue, Option>, Option["_output"], Option["_input"]>

  • Type Parameters

    Type Parameters

    • NewOut

    Parameters

    • transform: ((arg: Option["_output"], ctx: RefinementCtx) => NewOut | Promise<NewOut>)
        • (arg: Option["_output"], ctx: RefinementCtx): NewOut | Promise<NewOut>
        • Parameters

          Returns NewOut | Promise<NewOut>

    Returns ZodEffects<ZodDiscriminatedUnion<Discriminator, DiscriminatorValue, Option>, NewOut, Option["_input"]>

  • 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.

    Type Parameters

    Type Parameters

    Parameters

    • discriminator: Discriminator

      the name of the discriminator property

    • types: Types

      an array of object schemas

    • Optional params: RawCreateParams

    Returns ZodDiscriminatedUnion<Discriminator, DiscriminatorValue, Types[number]>

Generated using TypeDoc