Kit
Variables

getI16Codec

const getI16Codec: (config?) => FixedSizeCodec<bigint | number, number, 2>

Returns a codec for encoding and decoding 16-bit signed integers (i16).

This codec serializes i16 values using 2 bytes. Values can be provided as either number or bigint, but the decoded value is always a number.

Parameters

ParameterTypeDescription
config?NumberCodecConfigOptional configuration to specify endianness (little by default).

Returns

FixedSizeCodec<bigint | number, number, 2>

A FixedSizeCodec<number | bigint, number, 2> for encoding and decoding i16 values.

Examples

Encoding and decoding an i16 value.

const codec = getI16Codec();
const bytes = codec.encode(-42); // 0xd6ff
const value = codec.decode(bytes); // -42

Using big-endian encoding.

const codec = getI16Codec({ endian: Endian.Big });
const bytes = codec.encode(-42); // 0xffd6

Remarks

This codec supports values between -2^15 (-32,768) and 2^15 - 1 (32,767).

  • If you need a smaller signed integer, consider using getI8Codec.
  • If you need a larger signed integer, consider using getI32Codec.
  • If you need unsigned integers, consider using getU16Codec.

Separate getI16Encoder and getI16Decoder functions are available.

const bytes = getI16Encoder().encode(-42);
const value = getI16Decoder().decode(bytes);

See

On this page