API ReferenceClassesz.ZodDiscriminatedUnion

title: Core.z. Zod Discriminated Union

A2A Node SDK - v0.1.0 / Modules / Core / z / ZodDiscriminatedUnion

Class: ZodDiscriminatedUnion<Discriminator, Options>

Core.z.ZodDiscriminatedUnion

Type parameters

NameType
Discriminatorextends string
Optionsextends readonly ZodDiscriminatedUnionOption<Discriminator>[]

Hierarchy

Table of contents

Constructors

Properties

Accessors

Methods

Constructors

constructor

new ZodDiscriminatedUnion<Discriminator, Options>(def): ZodDiscriminatedUnion<Discriminator, Options>

Type parameters

NameType
Discriminatorextends string
Optionsextends readonly ZodDiscriminatedUnionOption<Discriminator>[]

Parameters

NameType
defZodDiscriminatedUnionDef<Discriminator, Options>

Returns

ZodDiscriminatedUnion<Discriminator, Options>

Inherited from

ZodType.constructor

Properties

_def

Readonly _def: ZodDiscriminatedUnionDef<Discriminator, Options>

Inherited from

ZodType._def


_input

Readonly _input: input<Options[number]>

Inherited from

ZodType._input


_output

Readonly _output: output<Options[number]>

Inherited from

ZodType._output


_type

Readonly _type: output<Options[number]>

Inherited from

ZodType._type


spa

spa: (data: unknown, params?: InexactPartial<ParseParams>) => Promise<SafeParseReturnType<input<Options[number]>, output<Options[number]>>>

Alias of safeParseAsync

Type declaration

▸ (data, params?): Promise<SafeParseReturnType<input<Options[number]>, output<Options[number]>>>

Parameters
NameType
dataunknown
params?InexactPartial<ParseParams>
Returns

Promise<SafeParseReturnType<input<Options[number]>, output<Options[number]>>>

Inherited from

ZodType.spa


~standard

~standard: Props<input<Options[number]>, output<Options[number]>>

Inherited from

ZodType.~standard

Accessors

description

get description(): undefined | string

Returns

undefined | string

Inherited from

ZodType.description


discriminator

get discriminator(): Discriminator

Returns

Discriminator


options

get options(): Options

Returns

Options


optionsMap

get optionsMap(): Map<Primitive, ZodDiscriminatedUnionOption<any>>

Returns

Map<Primitive, ZodDiscriminatedUnionOption<any>>

Methods

_getOrReturnCtx

_getOrReturnCtx(input, ctx?): ParseContext

Parameters

NameType
inputParseInput
ctx?ParseContext

Returns

ParseContext

Inherited from

ZodType._getOrReturnCtx


_getType

_getType(input): string

Parameters

NameType
inputParseInput

Returns

string

Inherited from

ZodType._getType


_parse

_parse(input): ParseReturnType<output<Options[number]>>

Parameters

NameType
inputParseInput

Returns

ParseReturnType<output<Options[number]>>

Overrides

ZodType._parse


_parseAsync

_parseAsync(input): AsyncParseReturnType<output<Options[number]>>

Parameters

NameType
inputParseInput

Returns

AsyncParseReturnType<output<Options[number]>>

Inherited from

ZodType._parseAsync


_parseSync

_parseSync(input): SyncParseReturnType<output<Options[number]>>

Parameters

NameType
inputParseInput

Returns

SyncParseReturnType<output<Options[number]>>

Inherited from

ZodType._parseSync


_processInputParams

_processInputParams(input): Object

Parameters

NameType
inputParseInput

Returns

Object

NameType
ctxParseContext
statusParseStatus

Inherited from

ZodType._processInputParams


_refinement

_refinement(refinement): ZodEffects<ZodDiscriminatedUnion<Discriminator, Options>, output<Options[number]>, input<Options[number]>>

Parameters

NameType
refinement(arg: output<Options[number]>, ctx: RefinementCtx) => any

Returns

ZodEffects<ZodDiscriminatedUnion<Discriminator, Options>, output<Options[number]>, input<Options[number]>>

Inherited from

ZodType._refinement


and

and<T>(incoming): ZodIntersection<ZodDiscriminatedUnion<Discriminator, Options>, T>

Type parameters

NameType
Textends ZodTypeAny

Parameters

NameType
incomingT

Returns

ZodIntersection<ZodDiscriminatedUnion<Discriminator, Options>, T>

Inherited from

ZodType.and


array

array(): ZodArray<ZodDiscriminatedUnion<Discriminator, Options>, "many">

Returns

ZodArray<ZodDiscriminatedUnion<Discriminator, Options>, "many">

Inherited from

ZodType.array


brand

brand<B>(brand?): ZodBranded<ZodDiscriminatedUnion<Discriminator, Options>, B>

Type parameters

NameType
Bextends string | number | symbol

Parameters

NameType
brand?B

Returns

ZodBranded<ZodDiscriminatedUnion<Discriminator, Options>, B>

Inherited from

ZodType.brand


catch

catch(def): ZodCatch<ZodDiscriminatedUnion<Discriminator, Options>>

Parameters

NameType
defoutput<Options[number]>

Returns

ZodCatch<ZodDiscriminatedUnion<Discriminator, Options>>

Inherited from

ZodType.catch

catch(def): ZodCatch<ZodDiscriminatedUnion<Discriminator, Options>>

Parameters

NameType
def(ctx: { error: ZodError<any> ; input: input<Options[number]> }) => output<Options[number]>

Returns

ZodCatch<ZodDiscriminatedUnion<Discriminator, Options>>

Inherited from

ZodType.catch


create

create<Discriminator, Types>(discriminator, options, params?): ZodDiscriminatedUnion<Discriminator, Types>

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

NameType
Discriminatorextends string
Typesextends readonly [ZodDiscriminatedUnionOption<Discriminator>, ZodDiscriminatedUnionOption<Discriminator>]

Parameters

NameTypeDescription
discriminatorDiscriminatorthe name of the discriminator property
optionsTypes-
params?RawCreateParams

Returns

ZodDiscriminatedUnion<Discriminator, Types>


default

default(def): ZodDefault<ZodDiscriminatedUnion<Discriminator, Options>>

Parameters

NameType
defnoUndefined<input<Options[number]>>

Returns

ZodDefault<ZodDiscriminatedUnion<Discriminator, Options>>

Inherited from

ZodType.default

default(def): ZodDefault<ZodDiscriminatedUnion<Discriminator, Options>>

Parameters

NameType
def() => noUndefined<input<Options[number]>>

Returns

ZodDefault<ZodDiscriminatedUnion<Discriminator, Options>>

Inherited from

ZodType.default


describe

describe(description): this

Parameters

NameType
descriptionstring

Returns

this

Inherited from

ZodType.describe


isNullable

isNullable(): boolean

Returns

boolean

Inherited from

ZodType.isNullable


isOptional

isOptional(): boolean

Returns

boolean

Inherited from

ZodType.isOptional


nullable

nullable(): ZodNullable<ZodDiscriminatedUnion<Discriminator, Options>>

Returns

ZodNullable<ZodDiscriminatedUnion<Discriminator, Options>>

Inherited from

ZodType.nullable


nullish

nullish(): ZodOptional<ZodNullable<ZodDiscriminatedUnion<Discriminator, Options>>>

Returns

ZodOptional<ZodNullable<ZodDiscriminatedUnion<Discriminator, Options>>>

Inherited from

ZodType.nullish


optional

optional(): ZodOptional<ZodDiscriminatedUnion<Discriminator, Options>>

Returns

ZodOptional<ZodDiscriminatedUnion<Discriminator, Options>>

Inherited from

ZodType.optional


or

or<T>(option): ZodUnion<[ZodDiscriminatedUnion<Discriminator, Options>, T]>

Type parameters

NameType
Textends ZodTypeAny

Parameters

NameType
optionT

Returns

ZodUnion<[ZodDiscriminatedUnion<Discriminator, Options>, T]>

Inherited from

ZodType.or


parse

parse(data, params?): output<Options[number]>

Parameters

NameType
dataunknown
params?InexactPartial<ParseParams>

Returns

output<Options[number]>

Inherited from

ZodType.parse


parseAsync

parseAsync(data, params?): Promise<output<Options[number]>>

Parameters

NameType
dataunknown
params?InexactPartial<ParseParams>

Returns

Promise<output<Options[number]>>

Inherited from

ZodType.parseAsync


pipe

pipe<T>(target): ZodPipeline<ZodDiscriminatedUnion<Discriminator, Options>, T>

Type parameters

NameType
Textends ZodTypeAny

Parameters

NameType
targetT

Returns

ZodPipeline<ZodDiscriminatedUnion<Discriminator, Options>, T>

Inherited from

ZodType.pipe


promise

promise(): ZodPromise<ZodDiscriminatedUnion<Discriminator, Options>>

Returns

ZodPromise<ZodDiscriminatedUnion<Discriminator, Options>>

Inherited from

ZodType.promise


readonly

readonly(): ZodReadonly<ZodDiscriminatedUnion<Discriminator, Options>>

Returns

ZodReadonly<ZodDiscriminatedUnion<Discriminator, Options>>

Inherited from

ZodType.readonly


refine

refine<RefinedOutput>(check, message?): ZodEffects<ZodDiscriminatedUnion<Discriminator, Options>, RefinedOutput, input<Options[number]>>

Type parameters

NameType
RefinedOutputextends { [k in string | number]: addQuestionMarks<baseObjectOutputType<{ [key in string]: ZodTypeAny } & ZodRawShape>, any>[k] }

Parameters

NameType
check(arg: output<Options[number]>) => arg is RefinedOutput
message?string | Partial<Omit<ZodCustomIssue, "code">> | (arg: output<Options[number]>) => Partial<Omit<ZodCustomIssue, "code">>

Returns

ZodEffects<ZodDiscriminatedUnion<Discriminator, Options>, RefinedOutput, input<Options[number]>>

Inherited from

ZodType.refine

refine(check, message?): ZodEffects<ZodDiscriminatedUnion<Discriminator, Options>, output<Options[number]>, input<Options[number]>>

Parameters

NameType
check(arg: output<Options[number]>) => unknown
message?string | Partial<Omit<ZodCustomIssue, "code">> | (arg: output<Options[number]>) => Partial<Omit<ZodCustomIssue, "code">>

Returns

ZodEffects<ZodDiscriminatedUnion<Discriminator, Options>, output<Options[number]>, input<Options[number]>>

Inherited from

ZodType.refine


refinement

refinement<RefinedOutput>(check, refinementData): ZodEffects<ZodDiscriminatedUnion<Discriminator, Options>, RefinedOutput, input<Options[number]>>

Type parameters

NameType
RefinedOutputextends { [k in string | number]: addQuestionMarks<baseObjectOutputType<{ [key in string]: ZodTypeAny } & ZodRawShape>, any>[k] }

Parameters

NameType
check(arg: output<Options[number]>) => arg is RefinedOutput
refinementDataIssueData | (arg: output<Options[number]>, ctx: RefinementCtx) => IssueData

Returns

ZodEffects<ZodDiscriminatedUnion<Discriminator, Options>, RefinedOutput, input<Options[number]>>

Inherited from

ZodType.refinement

refinement(check, refinementData): ZodEffects<ZodDiscriminatedUnion<Discriminator, Options>, output<Options[number]>, input<Options[number]>>

Parameters

NameType
check(arg: output<Options[number]>) => boolean
refinementDataIssueData | (arg: output<Options[number]>, ctx: RefinementCtx) => IssueData

Returns

ZodEffects<ZodDiscriminatedUnion<Discriminator, Options>, output<Options[number]>, input<Options[number]>>

Inherited from

ZodType.refinement


safeParse

safeParse(data, params?): SafeParseReturnType<input<Options[number]>, output<Options[number]>>

Parameters

NameType
dataunknown
params?InexactPartial<ParseParams>

Returns

SafeParseReturnType<input<Options[number]>, output<Options[number]>>

Inherited from

ZodType.safeParse


safeParseAsync

safeParseAsync(data, params?): Promise<SafeParseReturnType<input<Options[number]>, output<Options[number]>>>

Parameters

NameType
dataunknown
params?InexactPartial<ParseParams>

Returns

Promise<SafeParseReturnType<input<Options[number]>, output<Options[number]>>>

Inherited from

ZodType.safeParseAsync


superRefine

superRefine<RefinedOutput>(refinement): ZodEffects<ZodDiscriminatedUnion<Discriminator, Options>, RefinedOutput, input<Options[number]>>

Type parameters

NameType
RefinedOutputextends { [k in string | number]: addQuestionMarks<baseObjectOutputType<{ [key in string]: ZodTypeAny } & ZodRawShape>, any>[k] }

Parameters

NameType
refinement(arg: output<Options[number]>, ctx: RefinementCtx) => arg is RefinedOutput

Returns

ZodEffects<ZodDiscriminatedUnion<Discriminator, Options>, RefinedOutput, input<Options[number]>>

Inherited from

ZodType.superRefine

superRefine(refinement): ZodEffects<ZodDiscriminatedUnion<Discriminator, Options>, output<Options[number]>, input<Options[number]>>

Parameters

NameType
refinement(arg: output<Options[number]>, ctx: RefinementCtx) => void

Returns

ZodEffects<ZodDiscriminatedUnion<Discriminator, Options>, output<Options[number]>, input<Options[number]>>

Inherited from

ZodType.superRefine

superRefine(refinement): ZodEffects<ZodDiscriminatedUnion<Discriminator, Options>, output<Options[number]>, input<Options[number]>>

Parameters

NameType
refinement(arg: output<Options[number]>, ctx: RefinementCtx) => Promise<void>

Returns

ZodEffects<ZodDiscriminatedUnion<Discriminator, Options>, output<Options[number]>, input<Options[number]>>

Inherited from

ZodType.superRefine


transform

transform<NewOut>(transform): ZodEffects<ZodDiscriminatedUnion<Discriminator, Options>, NewOut, input<Options[number]>>

Type parameters

Name
NewOut

Parameters

NameType
transform(arg: output<Options[number]>, ctx: RefinementCtx) => NewOut | Promise<NewOut>

Returns

ZodEffects<ZodDiscriminatedUnion<Discriminator, Options>, NewOut, input<Options[number]>>

Inherited from

ZodType.transform


~validate

~validate(data): Result<output<Options[number]>> | Promise<Result<output<Options[number]>>>

Parameters

NameType
dataunknown

Returns

Result<output<Options[number]>> | Promise<Result<output<Options[number]>>>

Inherited from

ZodType.~validate