title: Core.z. Zod Discriminated Union
A2A Node SDK - v0.1.0 / Modules / Core / z / ZodDiscriminatedUnion
Class: ZodDiscriminatedUnion<Discriminator, Options>
Type parameters
| Name | Type |
|---|---|
Discriminator | extends string |
Options | extends readonly ZodDiscriminatedUnionOption<Discriminator>[] |
Hierarchy
-
ZodType<output<Options[number]>,ZodDiscriminatedUnionDef<Discriminator,Options>,input<Options[number]>>↳
ZodDiscriminatedUnion
Table of contents
Constructors
Properties
Accessors
Methods
- _getOrReturnCtx
- _getType
- _parse
- _parseAsync
- _parseSync
- _processInputParams
- _refinement
- and
- array
- brand
- catch
- create
- default
- describe
- isNullable
- isOptional
- nullable
- nullish
- optional
- or
- parse
- parseAsync
- pipe
- promise
- readonly
- refine
- refinement
- safeParse
- safeParseAsync
- superRefine
- transform
- ~validate
Constructors
constructor
• new ZodDiscriminatedUnion<Discriminator, Options>(def): ZodDiscriminatedUnion<Discriminator, Options>
Type parameters
| Name | Type |
|---|---|
Discriminator | extends string |
Options | extends readonly ZodDiscriminatedUnionOption<Discriminator>[] |
Parameters
| Name | Type |
|---|---|
def | ZodDiscriminatedUnionDef<Discriminator, Options> |
Returns
ZodDiscriminatedUnion<Discriminator, Options>
Inherited from
Properties
_def
• Readonly _def: ZodDiscriminatedUnionDef<Discriminator, Options>
Inherited from
_input
• Readonly _input: input<Options[number]>
Inherited from
_output
• Readonly _output: output<Options[number]>
Inherited from
_type
• Readonly _type: output<Options[number]>
Inherited from
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
| Name | Type |
|---|---|
data | unknown |
params? | InexactPartial<ParseParams> |
Returns
Promise<SafeParseReturnType<input<Options[number]>, output<Options[number]>>>
Inherited from
~standard
• ~standard: Props<input<Options[number]>, output<Options[number]>>
Inherited from
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
| Name | Type |
|---|---|
input | ParseInput |
ctx? | ParseContext |
Returns
Inherited from
_getType
▸ _getType(input): string
Parameters
| Name | Type |
|---|---|
input | ParseInput |
Returns
string
Inherited from
_parse
▸ _parse(input): ParseReturnType<output<Options[number]>>
Parameters
| Name | Type |
|---|---|
input | ParseInput |
Returns
ParseReturnType<output<Options[number]>>
Overrides
_parseAsync
▸ _parseAsync(input): AsyncParseReturnType<output<Options[number]>>
Parameters
| Name | Type |
|---|---|
input | ParseInput |
Returns
AsyncParseReturnType<output<Options[number]>>
Inherited from
_parseSync
▸ _parseSync(input): SyncParseReturnType<output<Options[number]>>
Parameters
| Name | Type |
|---|---|
input | ParseInput |
Returns
SyncParseReturnType<output<Options[number]>>
Inherited from
_processInputParams
▸ _processInputParams(input): Object
Parameters
| Name | Type |
|---|---|
input | ParseInput |
Returns
Object
| Name | Type |
|---|---|
ctx | ParseContext |
status | ParseStatus |
Inherited from
_refinement
▸ _refinement(refinement): ZodEffects<ZodDiscriminatedUnion<Discriminator, Options>, output<Options[number]>, input<Options[number]>>
Parameters
| Name | Type |
|---|---|
refinement | (arg: output<Options[number]>, ctx: RefinementCtx) => any |
Returns
ZodEffects<ZodDiscriminatedUnion<Discriminator, Options>, output<Options[number]>, input<Options[number]>>
Inherited from
and
▸ and<T>(incoming): ZodIntersection<ZodDiscriminatedUnion<Discriminator, Options>, T>
Type parameters
| Name | Type |
|---|---|
T | extends ZodTypeAny |
Parameters
| Name | Type |
|---|---|
incoming | T |
Returns
ZodIntersection<ZodDiscriminatedUnion<Discriminator, Options>, T>
Inherited from
array
▸ array(): ZodArray<ZodDiscriminatedUnion<Discriminator, Options>, "many">
Returns
ZodArray<ZodDiscriminatedUnion<Discriminator, Options>, "many">
Inherited from
brand
▸ brand<B>(brand?): ZodBranded<ZodDiscriminatedUnion<Discriminator, Options>, B>
Type parameters
| Name | Type |
|---|---|
B | extends string | number | symbol |
Parameters
| Name | Type |
|---|---|
brand? | B |
Returns
ZodBranded<ZodDiscriminatedUnion<Discriminator, Options>, B>
Inherited from
catch
▸ catch(def): ZodCatch<ZodDiscriminatedUnion<Discriminator, Options>>
Parameters
| Name | Type |
|---|---|
def | output<Options[number]> |
Returns
ZodCatch<ZodDiscriminatedUnion<Discriminator, Options>>
Inherited from
▸ catch(def): ZodCatch<ZodDiscriminatedUnion<Discriminator, Options>>
Parameters
| Name | Type |
|---|---|
def | (ctx: { error: ZodError<any> ; input: input<Options[number]> }) => output<Options[number]> |
Returns
ZodCatch<ZodDiscriminatedUnion<Discriminator, Options>>
Inherited from
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
| Name | Type |
|---|---|
Discriminator | extends string |
Types | extends readonly [ZodDiscriminatedUnionOption<Discriminator>, ZodDiscriminatedUnionOption<Discriminator>] |
Parameters
| Name | Type | Description |
|---|---|---|
discriminator | Discriminator | the name of the discriminator property |
options | Types | - |
params? | RawCreateParams |
Returns
ZodDiscriminatedUnion<Discriminator, Types>
default
▸ default(def): ZodDefault<ZodDiscriminatedUnion<Discriminator, Options>>
Parameters
| Name | Type |
|---|---|
def | noUndefined<input<Options[number]>> |
Returns
ZodDefault<ZodDiscriminatedUnion<Discriminator, Options>>
Inherited from
▸ default(def): ZodDefault<ZodDiscriminatedUnion<Discriminator, Options>>
Parameters
| Name | Type |
|---|---|
def | () => noUndefined<input<Options[number]>> |
Returns
ZodDefault<ZodDiscriminatedUnion<Discriminator, Options>>
Inherited from
describe
▸ describe(description): this
Parameters
| Name | Type |
|---|---|
description | string |
Returns
this
Inherited from
isNullable
▸ isNullable(): boolean
Returns
boolean
Inherited from
isOptional
▸ isOptional(): boolean
Returns
boolean
Inherited from
nullable
▸ nullable(): ZodNullable<ZodDiscriminatedUnion<Discriminator, Options>>
Returns
ZodNullable<ZodDiscriminatedUnion<Discriminator, Options>>
Inherited from
nullish
▸ nullish(): ZodOptional<ZodNullable<ZodDiscriminatedUnion<Discriminator, Options>>>
Returns
ZodOptional<ZodNullable<ZodDiscriminatedUnion<Discriminator, Options>>>
Inherited from
optional
▸ optional(): ZodOptional<ZodDiscriminatedUnion<Discriminator, Options>>
Returns
ZodOptional<ZodDiscriminatedUnion<Discriminator, Options>>
Inherited from
or
▸ or<T>(option): ZodUnion<[ZodDiscriminatedUnion<Discriminator, Options>, T]>
Type parameters
| Name | Type |
|---|---|
T | extends ZodTypeAny |
Parameters
| Name | Type |
|---|---|
option | T |
Returns
ZodUnion<[ZodDiscriminatedUnion<Discriminator, Options>, T]>
Inherited from
parse
▸ parse(data, params?): output<Options[number]>
Parameters
| Name | Type |
|---|---|
data | unknown |
params? | InexactPartial<ParseParams> |
Returns
output<Options[number]>
Inherited from
parseAsync
▸ parseAsync(data, params?): Promise<output<Options[number]>>
Parameters
| Name | Type |
|---|---|
data | unknown |
params? | InexactPartial<ParseParams> |
Returns
Promise<output<Options[number]>>
Inherited from
pipe
▸ pipe<T>(target): ZodPipeline<ZodDiscriminatedUnion<Discriminator, Options>, T>
Type parameters
| Name | Type |
|---|---|
T | extends ZodTypeAny |
Parameters
| Name | Type |
|---|---|
target | T |
Returns
ZodPipeline<ZodDiscriminatedUnion<Discriminator, Options>, T>
Inherited from
promise
▸ promise(): ZodPromise<ZodDiscriminatedUnion<Discriminator, Options>>
Returns
ZodPromise<ZodDiscriminatedUnion<Discriminator, Options>>
Inherited from
readonly
▸ readonly(): ZodReadonly<ZodDiscriminatedUnion<Discriminator, Options>>
Returns
ZodReadonly<ZodDiscriminatedUnion<Discriminator, Options>>
Inherited from
refine
▸ refine<RefinedOutput>(check, message?): ZodEffects<ZodDiscriminatedUnion<Discriminator, Options>, RefinedOutput, input<Options[number]>>
Type parameters
| Name | Type |
|---|---|
RefinedOutput | extends { [k in string | number]: addQuestionMarks<baseObjectOutputType<{ [key in string]: ZodTypeAny } & ZodRawShape>, any>[k] } |
Parameters
| Name | Type |
|---|---|
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
▸ refine(check, message?): ZodEffects<ZodDiscriminatedUnion<Discriminator, Options>, output<Options[number]>, input<Options[number]>>
Parameters
| Name | Type |
|---|---|
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
refinement
▸ refinement<RefinedOutput>(check, refinementData): ZodEffects<ZodDiscriminatedUnion<Discriminator, Options>, RefinedOutput, input<Options[number]>>
Type parameters
| Name | Type |
|---|---|
RefinedOutput | extends { [k in string | number]: addQuestionMarks<baseObjectOutputType<{ [key in string]: ZodTypeAny } & ZodRawShape>, any>[k] } |
Parameters
| Name | Type |
|---|---|
check | (arg: output<Options[number]>) => arg is RefinedOutput |
refinementData | IssueData | (arg: output<Options[number]>, ctx: RefinementCtx) => IssueData |
Returns
ZodEffects<ZodDiscriminatedUnion<Discriminator, Options>, RefinedOutput, input<Options[number]>>
Inherited from
▸ refinement(check, refinementData): ZodEffects<ZodDiscriminatedUnion<Discriminator, Options>, output<Options[number]>, input<Options[number]>>
Parameters
| Name | Type |
|---|---|
check | (arg: output<Options[number]>) => boolean |
refinementData | IssueData | (arg: output<Options[number]>, ctx: RefinementCtx) => IssueData |
Returns
ZodEffects<ZodDiscriminatedUnion<Discriminator, Options>, output<Options[number]>, input<Options[number]>>
Inherited from
safeParse
▸ safeParse(data, params?): SafeParseReturnType<input<Options[number]>, output<Options[number]>>
Parameters
| Name | Type |
|---|---|
data | unknown |
params? | InexactPartial<ParseParams> |
Returns
SafeParseReturnType<input<Options[number]>, output<Options[number]>>
Inherited from
safeParseAsync
▸ safeParseAsync(data, params?): Promise<SafeParseReturnType<input<Options[number]>, output<Options[number]>>>
Parameters
| Name | Type |
|---|---|
data | unknown |
params? | InexactPartial<ParseParams> |
Returns
Promise<SafeParseReturnType<input<Options[number]>, output<Options[number]>>>
Inherited from
superRefine
▸ superRefine<RefinedOutput>(refinement): ZodEffects<ZodDiscriminatedUnion<Discriminator, Options>, RefinedOutput, input<Options[number]>>
Type parameters
| Name | Type |
|---|---|
RefinedOutput | extends { [k in string | number]: addQuestionMarks<baseObjectOutputType<{ [key in string]: ZodTypeAny } & ZodRawShape>, any>[k] } |
Parameters
| Name | Type |
|---|---|
refinement | (arg: output<Options[number]>, ctx: RefinementCtx) => arg is RefinedOutput |
Returns
ZodEffects<ZodDiscriminatedUnion<Discriminator, Options>, RefinedOutput, input<Options[number]>>
Inherited from
▸ superRefine(refinement): ZodEffects<ZodDiscriminatedUnion<Discriminator, Options>, output<Options[number]>, input<Options[number]>>
Parameters
| Name | Type |
|---|---|
refinement | (arg: output<Options[number]>, ctx: RefinementCtx) => void |
Returns
ZodEffects<ZodDiscriminatedUnion<Discriminator, Options>, output<Options[number]>, input<Options[number]>>
Inherited from
▸ superRefine(refinement): ZodEffects<ZodDiscriminatedUnion<Discriminator, Options>, output<Options[number]>, input<Options[number]>>
Parameters
| Name | Type |
|---|---|
refinement | (arg: output<Options[number]>, ctx: RefinementCtx) => Promise<void> |
Returns
ZodEffects<ZodDiscriminatedUnion<Discriminator, Options>, output<Options[number]>, input<Options[number]>>
Inherited from
transform
▸ transform<NewOut>(transform): ZodEffects<ZodDiscriminatedUnion<Discriminator, Options>, NewOut, input<Options[number]>>
Type parameters
| Name |
|---|
NewOut |
Parameters
| Name | Type |
|---|---|
transform | (arg: output<Options[number]>, ctx: RefinementCtx) => NewOut | Promise<NewOut> |
Returns
ZodEffects<ZodDiscriminatedUnion<Discriminator, Options>, NewOut, input<Options[number]>>
Inherited from
~validate
▸ ~validate(data): Result<output<Options[number]>> | Promise<Result<output<Options[number]>>>
Parameters
| Name | Type |
|---|---|
data | unknown |
Returns
Result<output<Options[number]>> | Promise<Result<output<Options[number]>>>