getStructCodec
Call Signature
getStructCodec<
TFields
>(fields
):FixedSizeCodec
<DrainOuterGeneric
<{ [I in never as TFields[I][0]]: TFields[I][1] extends Encoder<TFrom> ? TFrom : never }
>,DrainOuterGeneric
<{ [I in never as TFields[I][0]]: TFields[I][1] extends Decoder<TTo> ? TTo : never }
> &DrainOuterGeneric
<{ [I in never as TFields[I][0]]: TFields[I][1] extends Encoder<TFrom> ? TFrom : never }
>>
Returns a codec for encoding and decoding custom objects.
This codec serializes objects by encoding and decoding each field sequentially.
Type Parameters
Type Parameter | Description |
---|---|
TFields extends Fields <FixedSizeCodec <any >> | The fields of the struct, each paired with a codec. |
Parameters
Parameter | Type | Description |
---|---|---|
fields | TFields | The name and codec of each field. |
Returns
FixedSizeCodec
<DrainOuterGeneric
<{ [I in never as TFields[I][0]]: TFields[I][1] extends Encoder<TFrom> ? TFrom : never }
>, DrainOuterGeneric
<{ [I in never as TFields[I][0]]: TFields[I][1] extends Decoder<TTo> ? TTo : never }
> & DrainOuterGeneric
<{ [I in never as TFields[I][0]]: TFields[I][1] extends Encoder<TFrom> ? TFrom : never }
>>
A FixedSizeCodec
or VariableSizeCodec
for encoding and decoding custom objects.
Example
Encoding and decoding a custom struct.
Remarks
Separate getStructEncoder and getStructDecoder functions are available.
See
Call Signature
getStructCodec<
TFields
>(fields
):VariableSizeCodec
<DrainOuterGeneric
<{ [I in never as TFields[I][0]]: TFields[I][1] extends Encoder<TFrom> ? TFrom : never }
>,DrainOuterGeneric
<{ [I in never as TFields[I][0]]: TFields[I][1] extends Decoder<TTo> ? TTo : never }
> &DrainOuterGeneric
<{ [I in never as TFields[I][0]]: TFields[I][1] extends Encoder<TFrom> ? TFrom : never }
>>
Returns a codec for encoding and decoding custom objects.
This codec serializes objects by encoding and decoding each field sequentially.
Type Parameters
Type Parameter | Description |
---|---|
TFields extends Fields <Codec <any >> | The fields of the struct, each paired with a codec. |
Parameters
Parameter | Type | Description |
---|---|---|
fields | TFields | The name and codec of each field. |
Returns
VariableSizeCodec
<DrainOuterGeneric
<{ [I in never as TFields[I][0]]: TFields[I][1] extends Encoder<TFrom> ? TFrom : never }
>, DrainOuterGeneric
<{ [I in never as TFields[I][0]]: TFields[I][1] extends Decoder<TTo> ? TTo : never }
> & DrainOuterGeneric
<{ [I in never as TFields[I][0]]: TFields[I][1] extends Encoder<TFrom> ? TFrom : never }
>>
A FixedSizeCodec
or VariableSizeCodec
for encoding and decoding custom objects.
Example
Encoding and decoding a custom struct.
Remarks
Separate getStructEncoder and getStructDecoder functions are available.