123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383 |
- // Type definitions for smart-buffer
- // Project: https://github.com/JoshGlazebrook/smart-buffer
- // Definitions by: Josh Glazebrook <https://github.com/JoshGlazebrook>
- declare class SmartBuffer {
- /**
- * Creates a new SmartBuffer instance (defaults to utf8 encoding)
- */
- constructor();
- /**
- * Creates a new SmartBuffer instance
- *
- * @param arg1 { Number } The size the underlying buffer instance should be instantiated to (defaults to 4096)
- * @param arg2 { String } The string encoding to use for reading/writing strings (defaults to utf8)
- */
- constructor(size: number, encoding?: string);
- /**
- * Creates a new SmartBuffer instance
- *
- * @param arg1 { String } The string encoding to use for reading/writing strings (defaults to utf8)
- */
- constructor(encoding?: string);
- /**
- * Creates a new SmartBuffer instance
- *
- * @param arg1 { Buffer } An existing buffer instance to copy to this smart buffer instance
- * @param arg2 { String } The string encoding to use for reading/writing strings (defaults to utf8)
- */
- constructor(buffer: Buffer, encoding?: string)
- // Signed number readers
- /**
- * Reads a 8-bit signed integer
- */
- readInt8(): number;
- /**
- * Reads a 16-bit signed integer (big endian)
- */
- readInt16BE(): number;
- /**
- * Reads a 16-bit signed integer (little endian)
- */
- readInt16LE(): number;
- /**
- * Reads a 32-bit signed integer (big endian)
- */
- readInt32BE(): number;
- /**
- * Reads a 32-bit signed integer (little endian)
- */
- readInt32LE(): number;
- // Unsigned number readers
- /**
- * Reads a 8-bit unsigned integer
- */
- readUInt8(): number;
- /**
- * Reads a 16-bit unsigned integer (big endian)
- */
- readUInt16BE(): number;
- /**
- * Reads a 16-bit unsigned integer (little endian)
- */
- readUInt16LE(): number;
- /**
- * Reads a 32-bit unsigned integer (big endian)
- */
- readUInt32BE(): number;
- /**
- * Reads a 32-bit unsigned integer (little endian)
- */
- readUInt32LE(): number;
- // Floating point readers
- /**
- * Reads a float (big endian)
- */
- readFloatBE(): number;
- /**
- * Reads a float (little endian)
- */
- readFloatLE(): number;
- /**
- * Reads a double (big endian)
- */
- readDoubleBE(): number;
- /**
- * Reads a double (little endian)
- */
- readDoubleLE(): number;
- // String readers
- /**
- * Reads a string
- *
- * @param length { Number } The length of the string to read
- * @param encoding { Number} The encoding to use (defaults to instance level encoding)
- */
- readString(length?: number, encoding?: string): string;
- /**
- * Reads a null terminated string
- *
- * @param encoding The encoding to use (defaults to instance level encoding)
- */
- readStringNT(encoding?: string): string;
- // Buffer readers
- /**
- * Reads binary data into a Buffer
- *
- * @param len { Number } The amount of data to read
- */
- readBuffer(len?: number): Buffer;
- /**
- * Reads null terminated binary data into a Buffer
- */
- readBufferNT(): Buffer;
- // Signed number writers
- /**
- * Writes a 8-bit signed integer value
- *
- * @param value { Number } The value to write to the buffer
- * @param offset { Number } The offset position to write the value to
- */
- writeInt8(value: number, offset?: number): this;
- /**
- * Writes a 16-bit signed integer (big endian) value
- *
- * @param value { Number } The value to write to the buffer
- * @param offset { Number } The offset position to write the value to
- */
- writeInt16BE(value: number, offset?: number): this;
- /**
- * Writes a 16-bit signed integer (little endian) value
- *
- * @param value { Number } The value to write to the buffer
- * @param offset { Number } The offset position to write the value to
- */
- writeInt16LE(value: number, offset?: number): this;
- /**
- * Writes a 32-bit signed integer (big endian) value
- *
- * @param value { Number } The value to write to the buffer
- * @param offset { Number } The offset position to write the value to
- */
- writeInt32BE(value: number, offset?: number): this;
- /**
- * Writes a 32-bit signed integer (little endian) value
- *
- * @param value { Number } The value to write to the buffer
- * @param offset { Number } The offset position to write the value to
- */
- writeInt32LE(value: number, offset?: number): this;
- // Unsigned number writers
- /**
- * Writes a 8-bit unsigned integer value
- *
- * @param value { Number } The value to write to the buffer
- * @param offset { Number } The offset position to write the value to
- */
- writeUInt8(value: number, offset?: number): this;
- /**
- * Writes a 16-bit unsigned integer (big endian) value
- *
- * @param value { Number } The value to write to the buffer
- * @param offset { Number } The offset position to write the value to
- */
- writeUInt16BE(value: number, offset?: number): this;
- /**
- * Writes a 16-bit unsigned integer (little endian) value
- *
- * @param value { Number } The value to write to the buffer
- * @param offset { Number } The offset position to write the value to
- */
- writeUInt16LE(value: number, offset?: number): this;
- /**
- * Writes a 32-bit unsigned integer (big endian) value
- *
- * @param value { Number } The value to write to the buffer
- * @param offset { Number } The offset position to write the value to
- */
- writeUInt32BE(value: number, offset?: number): this;
- /**
- * Writes a 32-bit unsigned integer (little endian) value
- *
- * @param value { Number } The value to write to the buffer
- * @param offset { Number } The offset position to write the value to
- */
- writeUInt32LE(value: number, offset?: number): this;
- // Floating point writers
- /**
- * Writes a float (big endian) value
- *
- * @param value { Number } The value to write to the buffer
- * @param offset { Number } The offset position to write the value to
- */
- writeFloatBE(value: number, offset?: number): this;
- /**
- * Writes a float (little endian) value
- *
- * @param value { Number } The value to write to the buffer
- * @param offset { Number } The offset position to write the value to
- */
- writeFloatLE(value: number, offset?: number): this;
- /**
- * Writes a double (big endian) value
- *
- * @param value { Number } The value to write to the buffer
- * @param offset { Number } The offset position to write the value to
- */
- writeDoubleBE(value: number, offset?: number): this;
- /**
- * Writes a double (little endian) value
- *
- * @param value { Number } The value to write to the buffer
- * @param offset { Number } The offset position to write the value to
- */
- writeDoubleLE(value: number, offset?: number): this;
- // String writers
- /**
- * Writes a string
- *
- * @param value { String } The value to write to the buffer
- * @param offset { Number } The offset position to write the value to
- */
- /**
- * Writes a string
- *
- * @param value { String } The value to write to the buffer
- * @param offset { String } The encoding to use when writing the string (defaults to instance level encoding)
- */
- /**
- * Writes a string
- *
- * @param value { String } The value to write to the buffer
- * @param offset { Number } The offset position to write the value to
- * @param encoding { String } The encoding to use when writing the string (defaults to instance level encoding)
- */
- writeString(value: string, offset?: number | string, encoding?: string): this;
- /**
- * Writes a null terminated string
- *
- * @param value { String } The value to write to the buffer
- * @param offset { Number } The offset position to write the value to
- */
- /**
- * Writes a null terminated string
- *
- * @param value { String } The value to write to the buffer
- * @param offset { String } The encoding to use when writing the string (defaults to instance level encoding)
- */
- /**
- * Writes a null terminated string
- *
- * @param value { String } The value to write to the buffer
- * @param offset { Number } The offset position to write the value to
- * @param encoding { String } The encoding to use when writing the string (defaults to instance level encoding)
- */
- writeStringNT(value: string, offset?: number | string, encoding?: string): this;
- // Buffer writers
- /**
- * Writes a Buffer
- *
- * @param value { Buffer } The Buffer to write to the smart buffer
- * @param offset { Number } The offset position to write the value to
- */
- writeBuffer(value: Buffer, offset?: number): this;
- /**
- * Writes a Buffer with null termination
- *
- * @param value { Buffer } The buffer to write to the smart buffer
- * @param offset { Number } The offset position to write the value to
- */
- writeBufferNT(value: Buffer, offset?: number): this;
- // Misc Functions
- /**
- * Clears the smart buffer
- */
- clear();
- /**
- * Gets the number of bytes that remain to be read
- */
- remaining(): number;
- /**
- * Increases the read offset position
- *
- * @param amount { Number } The amount to increase the read offset position by
- */
- skip(amount: number);
- /**
- * Changes the read offset position
- *
- * @param position { Number } The position to change the read offset to
- */
- skipTo(position: number);
- /**
- * Decreases the read offset position
- *
- * @param amount { Number } The amount to decrease the read offset position by
- */
- rewind(amount: number);
- /**
- * Gets the underlying Buffer instance
- */
- toBuffer(): Buffer;
- /**
- * Gets the string representation of the underlying Buffer
- *
- * @param encoding { String } The encoding to use (defaults to instance level encoding)
- */
- toString(encoding?: string): string;
- /**
- * Destroys the smart buffer instance
- */
- destroy();
- /**
- * Gets the current length of the smart buffer instance
- */
- length: number;
- }
- export = SmartBuffer;
|