getDiscriminatedUnionEncoder
Returns an encoder for discriminated unions.
This encoder serializes objects that follow the discriminated union pattern by prefixing them with a numerical discriminator that represents their variant.
Unlike getUnionEncoder, this encoder automatically extracts and processes
the discriminator property (default: __kind) from each variant.
For more details, see getDiscriminatedUnionCodec.
Type Parameters
| Type Parameter | Default type | Description |
|---|---|---|
TVariants extends Variants<Encoder<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 encoders as [discriminator, encoder] pairs. |
config? | DiscriminatedUnionCodecConfig<TDiscriminatorProperty, NumberEncoder> | Configuration options for encoding. |
Returns
UnionEncoder<TVariants, TDiscriminatorProperty>
An Encoder for encoding discriminated union objects.
Example
Encoding a discriminated union.