@cartbc/codecs-numbers
Version:
Codecs for numbers of different sizes and endianness
27 lines (26 loc) • 1.1 kB
TypeScript
import { BaseCodecOptions, Codec, Decoder, Encoder } from '@cartbc/codecs-core';
/**
* Defines the options for the shortU16 serializer.
*/
export type ShortU16CodecOptions = BaseCodecOptions;
/**
* Encodes short u16 numbers.
* @see {@link getShortU16Codec} for a more detailed description.
*/
export declare const getShortU16Encoder: (options?: ShortU16CodecOptions) => Encoder<number>;
/**
* Decodes short u16 numbers.
* @see {@link getShortU16Codec} for a more detailed description.
*/
export declare const getShortU16Decoder: (options?: ShortU16CodecOptions) => Decoder<number>;
/**
* Encodes and decodes short u16 numbers.
*
* Short u16 numbers are the same as u16, but serialized with 1 to 3 bytes.
* If the value is above 0x7f, the top bit is set and the remaining
* value is stored in the next bytes. Each byte follows the same
* pattern until the 3rd byte. The 3rd byte, if needed, uses
* all 8 bits to store the last byte of the original value.
*/
export declare const getShortU16Codec: (options?: ShortU16CodecOptions) => Codec<number>;
//# sourceMappingURL=short-u16.d.ts.map