@yagisumi/simple-buffer-reader
Version:
simple buffer reader
258 lines (257 loc) • 5.69 kB
TypeScript
/**
* Simple Buffer Reader
*/
export declare class SimpleBufferReader {
/**
* Whether the endian is little endian when endian is not specified.
*/
littleEndian: boolean;
private readonly buf;
private readonly view;
private pos;
private limit;
/**
*
* @param buf buffer to read
* @param littleEndian Whether the endian when endian is not specified is little endian
*/
constructor(buf: ArrayBuffer, littleEndian?: boolean);
private stringify;
/**
* Restrict position to read.
* @param limit Limit
* @throws RangeError
*/
setLimit(limit: number): this;
/**
* Reset Limit.
*/
resetLimit(): this;
/**
* Get Limit.
*/
getLimit(): number | null;
/**
* Return the current reading position.
*/
getPos(): number;
/**
* Move the current reading position.
* @param pos Position
* @throws RangeError
*/
seek(pos: number): this;
/**
* Skip a specific length
* @param nByte skip length
* @throws RangeError
*/
skip(nByte: number): this;
private checkPos;
/**
* Read as ASCII character string.
* @param length Length to read
* @throws RangeError
*/
readString(length: number): string;
/**
* Peek as ASCII character string without moving the reading position.
* @param length Length to read
* @param pos Read start position
* @throws RangeError
*/
peekString(length: number, pos?: number): string;
/**
* Slice buffer.
* @param length Length to read
* @throws RangeError
*/
readBuffer(length: number): ArrayBuffer;
/**
* Slice buffer without moving the reading position.
* @param length Length to read
* @param pos Read start position
* @throws RangeError
*/
peekBuffer(length: number, pos?: number): ArrayBuffer;
/**
* @throws RangeError
*/
readInt8(): number;
/**
* @param pos Read start position
* @throws RangeError
*/
peekInt8(pos?: number): number;
/**
* @throws RangeError
*/
readUint8(): number;
/**
* @param pos Read start position
* @throws RangeError
*/
peekUint8(pos?: number): number;
/**
* @throws RangeError
*/
readInt16(): number;
/**
* @param pos Read start position
* @throws RangeError
*/
peekInt16(pos?: number): number;
/**
* @throws RangeError
*/
readInt16LE(): number;
/**
* @param pos Read start position
* @throws RangeError
*/
peekInt16LE(pos?: number): number;
/**
* @throws RangeError
*/
readInt16BE(): number;
/**
* @param pos Read start position
* @throws RangeError
*/
peekInt16BE(pos?: number): number;
/**
* @throws RangeError
*/
readUint16(): number;
/**
* @param pos Read start position
* @throws RangeError
*/
peekUint16(pos?: number): number;
/**
* @throws RangeError
*/
readUint16LE(): number;
/**
* @param pos Read start position
* @throws RangeError
*/
peekUint16LE(pos?: number): number;
/**
* @throws RangeError
*/
readUint16BE(): number;
/**
* @param pos Read start position
* @throws RangeError
*/
peekUint16BE(pos?: number): number;
/**
* @throws RangeError
*/
readInt32(): number;
/**
* @param pos Read start position
* @throws RangeError
*/
peekInt32(pos?: number): number;
/**
* @throws RangeError
*/
readInt32LE(): number;
/**
* @param pos Read start position
* @throws RangeError
*/
peekInt32LE(pos?: number): number;
/**
* @throws RangeError
*/
readInt32BE(): number;
/**
* @param pos Read start position
* @throws RangeError
*/
peekInt32BE(pos?: number): number;
/**
* @throws RangeError
*/
readUint32(): number;
/**
* @param pos Read start position
* @throws RangeError
*/
peekUint32(pos?: number): number;
/**
* @throws RangeError
*/
readUint32LE(): number;
/**
* @param pos Read start position
* @throws RangeError
*/
peekUint32LE(pos?: number): number;
/**
* @throws RangeError
*/
readUint32BE(): number;
/**
* @param pos Read start position
* @throws RangeError
*/
peekUint32BE(pos?: number): number;
/**
* @throws RangeError
*/
readFloat32(): number;
/**
* @param pos Read start position
* @throws RangeError
*/
peekFloat32(pos?: number): number;
/**
* @throws RangeError
*/
readFloat32LE(): number;
/**
* @param pos Read start position
* @throws RangeError
*/
peekFloat32LE(pos?: number): number;
/**
* @throws RangeError
*/
readFloat32BE(): number;
/**
* @param pos Read start position
* @throws RangeError
*/
peekFloat32BE(pos?: number): number;
/**
* @throws RangeError
*/
readFloat64(): number;
/**
* @param pos Read start position
* @throws RangeError
*/
peekFloat64(pos?: number): number;
/**
* @throws RangeError
*/
readFloat64LE(): number;
/**
* @param pos Read start position
* @throws RangeError
*/
peekFloat64LE(pos?: number): number;
/**
* @throws RangeError
*/
readFloat64BE(): number;
/**
* @param pos Read start position
* @throws RangeError
*/
peekFloat64BE(pos?: number): number;
}