UNPKG

@mrhiden/cstruct

Version:

For packing and unpacking bytes (C like structures) in/from Buffer based on Object/Array type for parsing.

28 lines (27 loc) 877 B
/// <reference types="node" /> export type WriterValue = number | string | bigint | boolean | Buffer; export type ReaderValue = number | string | bigint | boolean | Buffer; export type ModelValue = number | string | bigint | boolean | Buffer; export type WriterFunctions = (val: WriterValue, size?: number) => void; export type ReaderFunctions = (size?: number) => ReaderValue; export type Model = object | ModelValue[] | string; export type Types = object | string; export type Type = object | string; export type StructEntry = [key: string, type: Type]; export type Alias = string[]; export interface CStructReadResult<T> { struct: T; offset: number; size: number; } export interface CStructWriteResult { buffer: Buffer; offset: number; size: number; } export declare enum SpecialType { String = 1, WString = 2, Buffer = 3, Json = 4 }