Kit
Functions

getLiteralUnionEncoder

Call Signature

getLiteralUnionEncoder<TVariants>(variants): FixedSizeEncoder<GetTypeFromVariants<TVariants>, 1>

Returns an encoder for literal unions.

This encoder serializes a value from a predefined set of literals as a numerical index representing its position in the variants array.

For more details, see getLiteralUnionCodec.

Type Parameters

Type ParameterDescription
TVariants extends readonly Variant[]A tuple of allowed literal values.

Parameters

ParameterTypeDescription
variantsTVariantsThe possible literal values for the union.

Returns

FixedSizeEncoder<GetTypeFromVariants<TVariants>, 1>

A FixedSizeEncoder or VariableSizeEncoder for encoding literal unions.

Example

Encoding a union of string literals.

type Size = 'small' | 'medium' | 'large';
const sizeEncoder = getLiteralUnionEncoder(['small', 'medium', 'large']);
 
sizeEncoder.encode('small');  // 0x00
sizeEncoder.encode('medium'); // 0x01
sizeEncoder.encode('large');  // 0x02

See

getLiteralUnionCodec

Call Signature

getLiteralUnionEncoder<TVariants, TSize>(variants, config): FixedSizeEncoder<GetTypeFromVariants<TVariants>, TSize>

Returns an encoder for literal unions.

This encoder serializes a value from a predefined set of literals as a numerical index representing its position in the variants array.

For more details, see getLiteralUnionCodec.

Type Parameters

Type ParameterDescription
TVariants extends readonly Variant[]A tuple of allowed literal values.
TSize extends number-

Parameters

ParameterTypeDescription
variantsTVariantsThe possible literal values for the union.
configLiteralUnionCodecConfig<NumberEncoder> & objectConfiguration options for encoding the literal union.

Returns

FixedSizeEncoder<GetTypeFromVariants<TVariants>, TSize>

A FixedSizeEncoder or VariableSizeEncoder for encoding literal unions.

Example

Encoding a union of string literals.

type Size = 'small' | 'medium' | 'large';
const sizeEncoder = getLiteralUnionEncoder(['small', 'medium', 'large']);
 
sizeEncoder.encode('small');  // 0x00
sizeEncoder.encode('medium'); // 0x01
sizeEncoder.encode('large');  // 0x02

See

getLiteralUnionCodec

Call Signature

getLiteralUnionEncoder<TVariants>(variants, config?): VariableSizeEncoder<GetTypeFromVariants<TVariants>>

Returns an encoder for literal unions.

This encoder serializes a value from a predefined set of literals as a numerical index representing its position in the variants array.

For more details, see getLiteralUnionCodec.

Type Parameters

Type ParameterDescription
TVariants extends readonly Variant[]A tuple of allowed literal values.

Parameters

ParameterTypeDescription
variantsTVariantsThe possible literal values for the union.
config?LiteralUnionCodecConfig<NumberEncoder>Configuration options for encoding the literal union.

Returns

VariableSizeEncoder<GetTypeFromVariants<TVariants>>

A FixedSizeEncoder or VariableSizeEncoder for encoding literal unions.

Example

Encoding a union of string literals.

type Size = 'small' | 'medium' | 'large';
const sizeEncoder = getLiteralUnionEncoder(['small', 'medium', 'large']);
 
sizeEncoder.encode('small');  // 0x00
sizeEncoder.encode('medium'); // 0x01
sizeEncoder.encode('large');  // 0x02

See

getLiteralUnionCodec

On this page