@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
TypeScript
/// <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
}