Functions
getDiscriminatedUnionDecoder
getDiscriminatedUnionDecoder<
TVariants
,TDiscriminatorProperty
>(variants
,config?
):Decoder
<GetDecoderTypeFromVariants
<TVariants
,TDiscriminatorProperty
>>
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
Decoder
<GetDecoderTypeFromVariants
<TVariants
, TDiscriminatorProperty
>>
A Decoder
for decoding discriminated union objects.
Example
Decoding a discriminated union.