@kikuchan/binary-reader
Version:
binary-reader
55 lines • 1.77 kB
TypeScript
//#region src/index.d.ts
type BinaryLike = Uint8Array | Uint8ClampedArray | ArrayBufferLike | DataView;
type Options = {
littleEndian?: boolean;
};
declare class BinaryReader {
#private;
constructor(u8: BinaryLike, opts?: Options);
get position(): number;
get size(): number;
get remain(): number;
eof(): boolean;
seek(n: number | string): this;
bookmark(s: string): this;
rewind(): this;
skip(n?: number): this;
align(n: number): this;
peekBytes(n?: number): Uint8Array<ArrayBuffer | SharedArrayBuffer>;
readUint8(): number;
readUint16(littleEndian?: boolean): number;
readUint16le(): number;
readUint16be(): number;
readUint32(littleEndian?: boolean): number;
readUint32le(): number;
readUint32be(): number;
readUint64(littleEndian?: boolean): bigint;
readUint64le(): bigint;
readUint64be(): bigint;
readInt8(): number;
readInt16(littleEndian?: boolean): number;
readInt16le(): number;
readInt16be(): number;
readInt32(littleEndian?: boolean): number;
readInt32le(): number;
readInt32be(): number;
readInt64(littleEndian?: boolean): bigint;
readInt64le(): bigint;
readInt64be(): bigint;
readFloat16(littleEndian?: boolean): number;
readFloat16le(): number;
readFloat16be(): number;
readFloat32(littleEndian?: boolean): number;
readFloat32le(): number;
readFloat32be(): number;
readFloat64(littleEndian?: boolean): number;
readFloat64le(): number;
readFloat64be(): number;
readBytes(n?: number): Uint8Array<ArrayBuffer | SharedArrayBuffer>;
/**
* @returns string. undefined on oversize or EOF.
*/
readString(len?: number, encoding?: string | ((u8: Uint8Array) => string)): string | undefined;
}
//#endregion
export { BinaryLike, BinaryReader, BinaryReader as default };