UNPKG

biner

Version:

Declarative binary data encoder / decoder.

18 lines (17 loc) 499 B
import { BinaryStream } from "./bs"; import * as symbols from "./internal/symbols"; export interface DataEncodeType { encode: Function; } export interface DataDecodeType { decode: Function; } export interface DataType extends DataEncodeType, DataDecodeType { encodingLength?: Function; } export interface Codec<T> { [symbols.skip]?: boolean; encode(value: T, wstream: BinaryStream): number; decode(rstream: BinaryStream): [T, number]; encodingLength(value: T): number; }