struffer
Version:
Struct + Buffer = Struffer
36 lines (35 loc) • 1.55 kB
TypeScript
/// <reference types="node" />
import { BinaryValue, MemberDictionary, MemberPresenceTable, MemberInfo } from './common';
export default class StrufferBase implements Map<string, number> {
buffer: Buffer | Uint8Array;
structure: MemberDictionary;
offset: number;
readonly kind: string;
protected readonly info: Map<string, MemberInfo>;
protected readonly order: string[];
static readonly byteLength: number;
static readonly bitLength: number;
readonly size: number;
readonly [Symbol.toStringTag]: 'Map';
constructor(buf: Buffer | Uint8Array, offset?: number);
getBits(name: string): BinaryValue[];
setBits(name: string, bits: BinaryValue[]): void;
get(name: string): number | undefined;
set(name: string, value: number): this;
has(name: string): boolean;
delete(name: string): boolean;
clear(): void;
forEach(cb: (value: number, key: string, map: this) => void, thisArg?: any): void;
getMany(members?: string[]): MemberDictionary;
setMany(dictionary: MemberDictionary): void;
hasMany(members: string[]): 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: 'number' | 'string' | 'default'): string;
}