Kit
Functions

getTupleEncoder

Call Signature

getTupleEncoder<TItems>(items): FixedSizeEncoder<DrainOuterGeneric<{ [I in string | number | symbol]: TItems[I<I>] extends Encoder<TFrom> ? TFrom : never }>>

Returns an encoder for tuples.

This encoder serializes a fixed-size array (tuple) by encoding its items sequentially using the provided item encoders.

For more details, see getTupleCodec.

Type Parameters

Type ParameterDescription
TItems extends readonly FixedSizeEncoder<any>[]An array of encoders, each corresponding to a tuple element.

Parameters

ParameterTypeDescription
itemsTItemsThe encoders for each item in the tuple.

Returns

FixedSizeEncoder<DrainOuterGeneric<{ [I in string | number | symbol]: TItems[I<I>] extends Encoder<TFrom> ? TFrom : never }>>

A FixedSizeEncoder or VariableSizeEncoder for encoding tuples.

Example

Encoding a tuple with 2 items.

const encoder = getTupleEncoder([fixCodecSize(getUtf8Encoder(), 5), getU8Encoder()]);
 
const bytes = encoder.encode(['Alice', 42]);
// 0x416c6963652a
//   |         └── Second item (42)
//   └── First item ("Alice")

See

getTupleCodec

Call Signature

getTupleEncoder<TItems>(items): VariableSizeEncoder<DrainOuterGeneric<{ [I in string | number | symbol]: TItems[I<I>] extends Encoder<TFrom> ? TFrom : never }>>

Returns an encoder for tuples.

This encoder serializes a fixed-size array (tuple) by encoding its items sequentially using the provided item encoders.

For more details, see getTupleCodec.

Type Parameters

Type ParameterDescription
TItems extends readonly Encoder<any>[]An array of encoders, each corresponding to a tuple element.

Parameters

ParameterTypeDescription
itemsTItemsThe encoders for each item in the tuple.

Returns

VariableSizeEncoder<DrainOuterGeneric<{ [I in string | number | symbol]: TItems[I<I>] extends Encoder<TFrom> ? TFrom : never }>>

A FixedSizeEncoder or VariableSizeEncoder for encoding tuples.

Example

Encoding a tuple with 2 items.

const encoder = getTupleEncoder([fixCodecSize(getUtf8Encoder(), 5), getU8Encoder()]);
 
const bytes = encoder.encode(['Alice', 42]);
// 0x416c6963652a
//   |         └── Second item (42)
//   └── First item ("Alice")

See

getTupleCodec

On this page