getDiscriminatedUnionDecoder
Returns a decoder for discriminated unions.
This decoder deserializes objects that follow the discriminated union pattern by reading a numerical discriminator and mapping it to the corresponding variant.
Unlike getUnionDecoder, this decoder automatically inserts the discriminator
property (default: __kind) into the decoded object.
For more details, see getDiscriminatedUnionCodec.
Type Parameters
| Type Parameter | Default type | Description |
|---|---|---|
TVariants extends Variants<Decoder<any>> | - | The variants of the discriminated union. |
TDiscriminatorProperty extends string | "__kind" | The property used as the discriminator. |
Parameters
| Parameter | Type | Description |
|---|---|---|
variants | TVariants | The variant decoders as [discriminator, decoder] pairs. |
config? | DiscriminatedUnionCodecConfig<TDiscriminatorProperty, NumberDecoder> | Configuration options for decoding. |
Returns
UnionDecoder<TVariants, TDiscriminatorProperty>
A Decoder for decoding discriminated union objects.
Example
Decoding a discriminated union.