UNPKG

struffer

Version:
45 lines (44 loc) 1.93 kB
/// <reference types="node" /> import { BinaryValue, MemberInfo } from './common'; /** * Struct + Buffer * * Also works with Uint8Arrays * @param strufferName The name of your struffer * @param structure The definition of your struffer. An array of `[type, name]` for each member. * @returns Your custom struffer class */ export default function (strufferName: string, structure: [string, string][]): { new (buf: Uint8Array | Buffer, offset?: number): { readonly kind: string; readonly info: Map<string, MemberInfo>; readonly order: string[]; getBits(name: string): BinaryValue[]; setBits(name: string, _bits: BinaryValue[]): void; buffer: Uint8Array | Buffer; structure: import("./common").MemberDictionary; offset: number; readonly size: number; readonly [Symbol.toStringTag]: "Map"; get(name: string): number | undefined; set(name: string, value: number): any; has(name: string): boolean; delete(name: string): boolean; clear(): void; forEach(cb: (value: number, key: string, map: any) => void, thisArg?: any): void; getMany(members?: string[]): import("./common").MemberDictionary; setMany(dictionary: import("./common").MemberDictionary): void; hasMany(members: string[]): import("./common").MemberPresenceTable; deleteMany(members: string[]): boolean; keys(): IterableIterator<string>; values(): IterableIterator<number>; entries(): IterableIterator<[string, number]>; [Symbol.iterator](): IterableIterator<[string, number]>; bits(): IterableIterator<BinaryValue[]>; bitEntries(): IterableIterator<[string, BinaryValue[]]>; toString(): string; [Symbol.toPrimitive](hint: "string" | "number" | "default"): string; }; readonly byteLength: number; readonly bitLength: number; };