Skip to main content

Function: processDiscriminatedUnion()

processDiscriminatedUnion(schema, ctx, field, params): void

Defined in: packages/core/src/processors/union.ts:101

Process z.discriminatedUnion() — renders as a Select for the discriminator field, with variant child fields stored in field.props._variants for runtime conditional rendering. The runtime DiscriminatedUnionBlock and codegen both read _discriminator and _variants.

Parameters

schema

$ZodDiscriminatedUnion

The $ZodDiscriminatedUnion schema to process.

ctx

FormProcessorContext

The walker context providing child processing for variant shape entries.

field

FormField

The base FormField to mutate in-place.

params

ProcessParams

Parent path metadata for constructing variant child field keys.

Returns

void

Remarks

The discriminator select options are derived from the literal values in each variant's discriminator field. Variant child fields (excluding the discriminator key) are pre-processed and stored keyed by their discriminator value string.