UNPKG

binary-parser

Version:

Blazing-fast binary parser builder

142 lines 6.65 kB
/// <reference types="node" /> interface ParserOptions { length?: number | string | ((item: any) => number); assert?: number | string | ((item: number | string) => boolean); lengthInBytes?: number | string | ((item: any) => number); type?: string | Parser; formatter?: (item: any) => any; encoding?: string; readUntil?: "eof" | ((item: any, buffer: Buffer) => boolean); greedy?: boolean; choices?: { [key: number]: string | Parser; }; defaultChoice?: string | Parser; zeroTerminated?: boolean; clone?: boolean; stripNull?: boolean; key?: string; tag?: string | ((item: any) => number); offset?: number | string | ((item: any) => number); wrapper?: (buffer: Buffer) => Buffer; } declare type Types = PrimitiveTypes | ComplexTypes; declare type ComplexTypes = "bit" | "string" | "buffer" | "array" | "choice" | "nest" | "seek" | "pointer" | "saveOffset" | "wrapper" | ""; declare type Endianness = "be" | "le"; declare type PrimitiveTypes = "uint8" | "uint16le" | "uint16be" | "uint32le" | "uint32be" | "uint64le" | "uint64be" | "int8" | "int16le" | "int16be" | "int32le" | "int32be" | "int64le" | "int64be" | "floatle" | "floatbe" | "doublele" | "doublebe"; export declare class Parser { varName: string; type: Types; options: ParserOptions; next?: Parser; head?: Parser; compiled?: Function; endian: Endianness; constructorFn?: Function; alias?: string; useContextVariables: boolean; constructor(); static start(): Parser; private primitiveGenerateN; private primitiveN; private useThisEndian; uint8(varName: string, options?: ParserOptions): this; uint16(varName: string, options?: ParserOptions): this; uint16le(varName: string, options?: ParserOptions): this; uint16be(varName: string, options?: ParserOptions): this; uint32(varName: string, options?: ParserOptions): this; uint32le(varName: string, options?: ParserOptions): this; uint32be(varName: string, options?: ParserOptions): this; int8(varName: string, options?: ParserOptions): this; int16(varName: string, options?: ParserOptions): this; int16le(varName: string, options?: ParserOptions): this; int16be(varName: string, options?: ParserOptions): this; int32(varName: string, options?: ParserOptions): this; int32le(varName: string, options?: ParserOptions): this; int32be(varName: string, options?: ParserOptions): this; private bigIntVersionCheck; int64(varName: string, options?: ParserOptions): this; int64be(varName: string, options?: ParserOptions): this; int64le(varName: string, options?: ParserOptions): this; uint64(varName: string, options?: ParserOptions): this; uint64be(varName: string, options?: ParserOptions): this; uint64le(varName: string, options?: ParserOptions): this; floatle(varName: string, options?: ParserOptions): this; floatbe(varName: string, options?: ParserOptions): this; doublele(varName: string, options?: ParserOptions): this; doublebe(varName: string, options?: ParserOptions): this; private bitN; bit1(varName: string, options?: ParserOptions): this; bit2(varName: string, options?: ParserOptions): this; bit3(varName: string, options?: ParserOptions): this; bit4(varName: string, options?: ParserOptions): this; bit5(varName: string, options?: ParserOptions): this; bit6(varName: string, options?: ParserOptions): this; bit7(varName: string, options?: ParserOptions): this; bit8(varName: string, options?: ParserOptions): this; bit9(varName: string, options?: ParserOptions): this; bit10(varName: string, options?: ParserOptions): this; bit11(varName: string, options?: ParserOptions): this; bit12(varName: string, options?: ParserOptions): this; bit13(varName: string, options?: ParserOptions): this; bit14(varName: string, options?: ParserOptions): this; bit15(varName: string, options?: ParserOptions): this; bit16(varName: string, options?: ParserOptions): this; bit17(varName: string, options?: ParserOptions): this; bit18(varName: string, options?: ParserOptions): this; bit19(varName: string, options?: ParserOptions): this; bit20(varName: string, options?: ParserOptions): this; bit21(varName: string, options?: ParserOptions): this; bit22(varName: string, options?: ParserOptions): this; bit23(varName: string, options?: ParserOptions): this; bit24(varName: string, options?: ParserOptions): this; bit25(varName: string, options?: ParserOptions): this; bit26(varName: string, options?: ParserOptions): this; bit27(varName: string, options?: ParserOptions): this; bit28(varName: string, options?: ParserOptions): this; bit29(varName: string, options?: ParserOptions): this; bit30(varName: string, options?: ParserOptions): this; bit31(varName: string, options?: ParserOptions): this; bit32(varName: string, options?: ParserOptions): this; namely(alias: string): this; skip(length: ParserOptions["length"], options?: ParserOptions): this; seek(relOffset: ParserOptions["length"], options?: ParserOptions): this; string(varName: string, options: ParserOptions): this; buffer(varName: string, options: ParserOptions): this; wrapped(varName: string | ParserOptions, options?: ParserOptions): this; array(varName: string, options: ParserOptions): this; choice(varName: string | ParserOptions, options?: ParserOptions): this; nest(varName: string | ParserOptions, options?: ParserOptions): this; pointer(varName: string, options: ParserOptions): this; saveOffset(varName: string, options?: ParserOptions): this; endianness(endianness: "little" | "big"): this; endianess(endianess: "little" | "big"): this; useContextVars(useContextVariables?: boolean): this; create(constructorFn: Function): this; private getContext; getCode(): string; private addRawCode; private addAliasedCode; private resolveReferences; compile(): void; sizeOf(): number; parse(buffer: Buffer | Uint8Array): any; private setNextParser; private generate; private generateAssert; private generateNext; private generateBit; private generateSeek; private generateString; private generateBuffer; private generateArray; private generateChoiceCase; private generateChoice; private generateNest; private generateWrapper; private generateFormatter; private generatePointer; private generateSaveOffset; } export {}; //# sourceMappingURL=binary_parser.d.ts.map