Functions
getDiscriminatedUnionEncoder
getDiscriminatedUnionEncoder<
TVariants
,TDiscriminatorProperty
>(variants
,config?
):Encoder
<GetEncoderTypeFromVariants
<TVariants
,TDiscriminatorProperty
>>
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
Encoder
<GetEncoderTypeFromVariants
<TVariants
, TDiscriminatorProperty
>>
An Encoder
for encoding discriminated union objects.
Example
Encoding a discriminated union.