-
Notifications
You must be signed in to change notification settings - Fork 19
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
00d9baa
commit b36cd2f
Showing
2 changed files
with
383 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,381 @@ | ||
// Type definitions for smart-buffer | ||
// Project: https://githubcom/JoshGlazebrook/smart-buffer | ||
// Definitions by: Josh Glazebrook <https://githubcom/JoshGlazebrook> | ||
|
||
|
||
declare module 'smart-buffer' { | ||
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(); | ||
|
||
|
||
} | ||
|
||
export = SmartBuffer; | ||
} |