mirror of
https://github.com/Xahau/xahau.js.git
synced 2026-04-29 15:37:50 +00:00
99 lines
2.8 KiB
TypeScript
99 lines
2.8 KiB
TypeScript
import { FieldInstance } from '../enums';
|
|
import { SerializedType } from '../types/serialized-type';
|
|
import { Buffer } from 'buffer/';
|
|
/**
|
|
* BinaryParser is used to compute fields and values from a HexString
|
|
*/
|
|
declare class BinaryParser {
|
|
private bytes;
|
|
/**
|
|
* Initialize bytes to a hex string
|
|
*
|
|
* @param hexBytes a hex string
|
|
*/
|
|
constructor(hexBytes: string);
|
|
/**
|
|
* Peek the first byte of the BinaryParser
|
|
*
|
|
* @returns The first byte of the BinaryParser
|
|
*/
|
|
peek(): number;
|
|
/**
|
|
* Consume the first n bytes of the BinaryParser
|
|
*
|
|
* @param n the number of bytes to skip
|
|
*/
|
|
skip(n: number): void;
|
|
/**
|
|
* read the first n bytes from the BinaryParser
|
|
*
|
|
* @param n The number of bytes to read
|
|
* @return The bytes
|
|
*/
|
|
read(n: number): Buffer;
|
|
/**
|
|
* Read an integer of given size
|
|
*
|
|
* @param n The number of bytes to read
|
|
* @return The number represented by those bytes
|
|
*/
|
|
readUIntN(n: number): number;
|
|
readUInt8(): number;
|
|
readUInt16(): number;
|
|
readUInt32(): number;
|
|
size(): number;
|
|
end(customEnd?: number): boolean;
|
|
/**
|
|
* Reads variable length encoded bytes
|
|
*
|
|
* @return The variable length bytes
|
|
*/
|
|
readVariableLength(): Buffer;
|
|
/**
|
|
* Reads the length of the variable length encoded bytes
|
|
*
|
|
* @return The length of the variable length encoded bytes
|
|
*/
|
|
readVariableLengthLength(): number;
|
|
/**
|
|
* Reads the field ordinal from the BinaryParser
|
|
*
|
|
* @return Field ordinal
|
|
*/
|
|
readFieldOrdinal(): number;
|
|
/**
|
|
* Read the field from the BinaryParser
|
|
*
|
|
* @return The field represented by the bytes at the head of the BinaryParser
|
|
*/
|
|
readField(): FieldInstance;
|
|
/**
|
|
* Read a given type from the BinaryParser
|
|
*
|
|
* @param type The type that you want to read from the BinaryParser
|
|
* @return The instance of that type read from the BinaryParser
|
|
*/
|
|
readType(type: typeof SerializedType): SerializedType;
|
|
/**
|
|
* Get the type associated with a given field
|
|
*
|
|
* @param field The field that you wan to get the type of
|
|
* @return The type associated with the given field
|
|
*/
|
|
typeForField(field: FieldInstance): typeof SerializedType;
|
|
/**
|
|
* Read value of the type specified by field from the BinaryParser
|
|
*
|
|
* @param field The field that you want to get the associated value for
|
|
* @return The value associated with the given field
|
|
*/
|
|
readFieldValue(field: FieldInstance): SerializedType;
|
|
/**
|
|
* Get the next field and value from the BinaryParser
|
|
*
|
|
* @return The field and value
|
|
*/
|
|
readFieldAndValue(): [FieldInstance, SerializedType];
|
|
}
|
|
export { BinaryParser };
|