Kit
Functions

getEnumEncoder

Call Signature

getEnumEncoder<TEnum>(constructor, config?): FixedSizeEncoder<GetEnumFrom<TEnum>, 1>

Returns an encoder for enums.

This encoder serializes enums as a numerical discriminator. By default, the discriminator is based on the positional index of the enum variants.

For more details, see getEnumCodec.

Type Parameters

Type ParameterDescription
TEnum extends EnumLookupObjectThe TypeScript enum or object mapping enum keys to values.

Parameters

ParameterTypeDescription
constructorTEnumThe constructor of the enum.
config?Omit<EnumCodecConfig<NumberEncoder>, "size">Configuration options for encoding the enum.

Returns

FixedSizeEncoder<GetEnumFrom<TEnum>, 1>

A FixedSizeEncoder or VariableSizeEncoder for encoding enums.

Example

Encoding enum values.

enum Direction { Up,  Down, Left, Right }
const encoder = getEnumEncoder(Direction);
 
encoder.encode(Direction.Up);    // 0x00
encoder.encode(Direction.Down);  // 0x01
encoder.encode(Direction.Left);  // 0x02
encoder.encode(Direction.Right); // 0x03

See

getEnumCodec

Call Signature

getEnumEncoder<TEnum, TSize>(constructor, config): FixedSizeEncoder<GetEnumFrom<TEnum>, TSize>

Returns an encoder for enums.

This encoder serializes enums as a numerical discriminator. By default, the discriminator is based on the positional index of the enum variants.

For more details, see getEnumCodec.

Type Parameters

Type ParameterDescription
TEnum extends EnumLookupObjectThe TypeScript enum or object mapping enum keys to values.
TSize extends number-

Parameters

ParameterTypeDescription
constructorTEnumThe constructor of the enum.
configEnumCodecConfig<NumberEncoder> & objectConfiguration options for encoding the enum.

Returns

FixedSizeEncoder<GetEnumFrom<TEnum>, TSize>

A FixedSizeEncoder or VariableSizeEncoder for encoding enums.

Example

Encoding enum values.

enum Direction { Up,  Down, Left, Right }
const encoder = getEnumEncoder(Direction);
 
encoder.encode(Direction.Up);    // 0x00
encoder.encode(Direction.Down);  // 0x01
encoder.encode(Direction.Left);  // 0x02
encoder.encode(Direction.Right); // 0x03

See

getEnumCodec

Call Signature

getEnumEncoder<TEnum>(constructor, config?): VariableSizeEncoder<GetEnumFrom<TEnum>>

Returns an encoder for enums.

This encoder serializes enums as a numerical discriminator. By default, the discriminator is based on the positional index of the enum variants.

For more details, see getEnumCodec.

Type Parameters

Type ParameterDescription
TEnum extends EnumLookupObjectThe TypeScript enum or object mapping enum keys to values.

Parameters

ParameterTypeDescription
constructorTEnumThe constructor of the enum.
config?EnumCodecConfig<NumberEncoder>Configuration options for encoding the enum.

Returns

VariableSizeEncoder<GetEnumFrom<TEnum>>

A FixedSizeEncoder or VariableSizeEncoder for encoding enums.

Example

Encoding enum values.

enum Direction { Up,  Down, Left, Right }
const encoder = getEnumEncoder(Direction);
 
encoder.encode(Direction.Up);    // 0x00
encoder.encode(Direction.Down);  // 0x01
encoder.encode(Direction.Left);  // 0x02
encoder.encode(Direction.Right); // 0x03

See

getEnumCodec

On this page