smart-buffer
- Version 4.2.0
- Published
- 138 kB
- No dependencies
- MIT license
Install
npm i smart-buffer
yarn add smart-buffer
pnpm add smart-buffer
Overview
smart-buffer is a Buffer wrapper that adds automatic read & write offset tracking, string operations, data insertions, and more.
Index
Classes
SmartBuffer
- clear()
- destroy()
- encoding
- fromBuffer()
- fromOptions()
- fromSize()
- insertBigInt64BE()
- insertBigInt64LE()
- insertBigUInt64BE()
- insertBigUInt64LE()
- insertBuffer()
- insertBufferNT()
- insertDoubleBE()
- insertDoubleLE()
- insertFloatBE()
- insertFloatLE()
- insertInt16BE()
- insertInt16LE()
- insertInt32BE()
- insertInt32LE()
- insertInt8()
- insertString()
- insertStringNT()
- insertUInt16BE()
- insertUInt16LE()
- insertUInt32BE()
- insertUInt32LE()
- insertUInt8()
- internalBuffer
- isSmartBufferOptions()
- length
- readBigInt64BE()
- readBigInt64LE()
- readBigUInt64BE()
- readBigUInt64LE()
- readBuffer()
- readBufferNT()
- readDoubleBE()
- readDoubleLE()
- readFloatBE()
- readFloatLE()
- readInt16BE()
- readInt16LE()
- readInt32BE()
- readInt32LE()
- readInt8()
- readOffset
- readString()
- readStringNT()
- readUInt16BE()
- readUInt16LE()
- readUInt32BE()
- readUInt32LE()
- readUInt8()
- remaining()
- toBuffer()
- toString()
- writeBigInt64BE()
- writeBigInt64LE()
- writeBigUInt64BE()
- writeBigUInt64LE()
- writeBuffer()
- writeBufferNT()
- writeDoubleBE()
- writeDoubleLE()
- writeFloatBE()
- writeFloatLE()
- writeInt16BE()
- writeInt16LE()
- writeInt32BE()
- writeInt32LE()
- writeInt8()
- writeOffset
- writeString()
- writeStringNT()
- writeUInt16BE()
- writeUInt16LE()
- writeUInt32BE()
- writeUInt32LE()
- writeUInt8()
Interfaces
Classes
class SmartBuffer
class SmartBuffer {}
constructor
constructor(options?: SmartBufferOptions);
Creates a new SmartBuffer instance.
Parameter options
The SmartBufferOptions to apply to this instance.
property encoding
encoding: BufferEncoding;
Sets the string encoding of the SmartBuffer instance.
Parameter encoding
The string Buffer encoding to set.
property internalBuffer
readonly internalBuffer: Buffer;
Gets the underlying internal Buffer. (This includes unmanaged data in the Buffer)
{ Buffer } The Buffer value.
property length
length: number;
property readOffset
readOffset: number;
Sets the read offset value of the SmartBuffer instance.
Parameter offset
The offset value to set.
property writeOffset
writeOffset: number;
Sets the write offset value of the SmartBuffer instance.
Parameter offset
The offset value to set.
method clear
clear: () => SmartBuffer;
Clears the SmartBuffer instance to its original empty state.
method destroy
destroy: () => SmartBuffer;
Destroys the SmartBuffer instance.
method fromBuffer
static fromBuffer: (buff: Buffer, encoding?: BufferEncoding) => SmartBuffer;
Creates a new SmartBuffer instance with the provided Buffer and optional encoding.
Parameter buffer
The Buffer to use as the internal Buffer value.
Parameter encoding
The BufferEncoding to use for strings.
{ SmartBuffer }
method fromOptions
static fromOptions: (options: SmartBufferOptions) => SmartBuffer;
Creates a new SmartBuffer instance with the provided SmartBufferOptions options.
Parameter options
The options to use when creating the SmartBuffer instance.
method fromSize
static fromSize: (size: number, encoding?: BufferEncoding) => SmartBuffer;
Creates a new SmartBuffer instance with the provided internal Buffer size and optional encoding.
Parameter size
The size of the internal Buffer.
Parameter encoding
The BufferEncoding to use for strings.
{ SmartBuffer }
method insertBigInt64BE
insertBigInt64BE: (value: bigint, offset: number) => SmartBuffer;
Inserts a BigInt64BE value at the given offset value.
Parameter value
The value to insert.
Parameter offset
The offset to insert the value at.
this
method insertBigInt64LE
insertBigInt64LE: (value: bigint, offset: number) => SmartBuffer;
Inserts a Int64LE value at the given offset value.
Parameter value
The value to insert.
Parameter offset
The offset to insert the value at.
this
method insertBigUInt64BE
insertBigUInt64BE: (value: bigint, offset: number) => SmartBuffer;
Inserts a BigUInt64BE value at the given offset value.
Parameter value
The value to insert.
Parameter offset
The offset to insert the value at.
this
method insertBigUInt64LE
insertBigUInt64LE: (value: bigint, offset: number) => SmartBuffer;
Inserts a BigUInt64LE value at the given offset value.
Parameter value
The value to insert.
Parameter offset
The offset to insert the value at.
this
method insertBuffer
insertBuffer: (value: Buffer, offset: number) => SmartBuffer;
Writes a Buffer to the current write position.
Parameter value
The Buffer to write.
Parameter offset
The offset to write the Buffer to.
this
method insertBufferNT
insertBufferNT: (value: Buffer, offset: number) => SmartBuffer;
Inserts a null-terminated Buffer.
Parameter value
The Buffer to write.
Parameter offset
The offset to write the Buffer to.
this
method insertDoubleBE
insertDoubleBE: (value: number, offset: number) => SmartBuffer;
Inserts a DoubleBE value at the given offset value.
Parameter value
The value to insert.
Parameter offset
The offset to insert the value at.
this
method insertDoubleLE
insertDoubleLE: (value: number, offset: number) => SmartBuffer;
Inserts a DoubleLE value at the given offset value.
Parameter value
The value to insert.
Parameter offset
The offset to insert the value at.
this
method insertFloatBE
insertFloatBE: (value: number, offset: number) => SmartBuffer;
Inserts a FloatBE value at the given offset value.
Parameter value
The value to insert.
Parameter offset
The offset to insert the value at.
this
method insertFloatLE
insertFloatLE: (value: number, offset: number) => SmartBuffer;
Inserts a FloatLE value at the given offset value.
Parameter value
The value to insert.
Parameter offset
The offset to insert the value at.
this
method insertInt16BE
insertInt16BE: (value: number, offset: number) => SmartBuffer;
Inserts an Int16BE value at the given offset value.
Parameter value
The value to insert.
Parameter offset
The offset to insert the value at.
this
method insertInt16LE
insertInt16LE: (value: number, offset: number) => SmartBuffer;
Inserts an Int16LE value at the given offset value.
Parameter value
The value to insert.
Parameter offset
The offset to insert the value at.
this
method insertInt32BE
insertInt32BE: (value: number, offset: number) => SmartBuffer;
Inserts an Int32BE value at the given offset value.
Parameter value
The value to insert.
Parameter offset
The offset to insert the value at.
this
method insertInt32LE
insertInt32LE: (value: number, offset: number) => SmartBuffer;
Inserts an Int32LE value at the given offset value.
Parameter value
The value to insert.
Parameter offset
The offset to insert the value at.
this
method insertInt8
insertInt8: (value: number, offset: number) => SmartBuffer;
Inserts an Int8 value at the given offset value.
Parameter value
The value to insert.
Parameter offset
The offset to insert the value at.
this
method insertString
insertString: ( value: string, offset: number, encoding?: BufferEncoding) => SmartBuffer;
Inserts a String
Parameter value
The String value to insert.
Parameter offset
The offset to insert the string at.
Parameter encoding
The BufferEncoding to use for writing strings (defaults to instance encoding).
this
method insertStringNT
insertStringNT: ( value: string, offset: number, encoding?: BufferEncoding) => SmartBuffer;
Inserts a null-terminated String.
Parameter value
The String value to write.
Parameter arg2
The offset to write the string to, or the BufferEncoding to use.
Parameter encoding
The BufferEncoding to use for writing strings (defaults to instance encoding).
this
method insertUInt16BE
insertUInt16BE: (value: number, offset: number) => SmartBuffer;
Inserts an UInt16BE value at the given offset value.
Parameter value
The value to insert.
Parameter offset
The offset to insert the value at.
this
method insertUInt16LE
insertUInt16LE: (value: number, offset: number) => SmartBuffer;
Inserts an UInt16LE value at the given offset value.
Parameter value
The value to insert.
Parameter offset
The offset to insert the value at.
this
method insertUInt32BE
insertUInt32BE: (value: number, offset: number) => SmartBuffer;
Inserts an UInt32BE value at the given offset value.
Parameter value
The value to insert.
Parameter offset
The offset to insert the value at.
this
method insertUInt32LE
insertUInt32LE: (value: number, offset: number) => SmartBuffer;
Inserts an UInt32LE value at the given offset value.
Parameter value
The value to insert.
Parameter offset
The offset to insert the value at.
this
method insertUInt8
insertUInt8: (value: number, offset: number) => SmartBuffer;
Inserts an UInt8 value at the given offset value.
Parameter value
The value to insert.
Parameter offset
The offset to insert the value at.
this
method isSmartBufferOptions
static isSmartBufferOptions: ( options: SmartBufferOptions) => options is SmartBufferOptions;
Type checking function that determines if an object is a SmartBufferOptions object.
method readBigInt64BE
readBigInt64BE: (offset?: number) => bigint;
Reads a BigInt64BE value from the current read position or an optionally provided offset.
Parameter offset
The offset to read data from (optional) { BigInt }
method readBigInt64LE
readBigInt64LE: (offset?: number) => bigint;
Reads a BigInt64LE value from the current read position or an optionally provided offset.
Parameter offset
The offset to read data from (optional) { BigInt }
method readBigUInt64BE
readBigUInt64BE: (offset?: number) => bigint;
Reads a BigUInt64BE value from the current read position or an optionally provided offset.
Parameter offset
The offset to read data from (optional) { BigInt }
method readBigUInt64LE
readBigUInt64LE: (offset?: number) => bigint;
Reads a BigUInt64LE value from the current read position or an optionally provided offset.
Parameter offset
The offset to read data from (optional) { BigInt }
method readBuffer
readBuffer: (length?: number) => Buffer;
Reads a Buffer from the internal read position.
Parameter length
The length of data to read as a Buffer.
{ Buffer }
method readBufferNT
readBufferNT: () => Buffer;
Reads a null-terminated Buffer from the current read poisiton.
{ Buffer }
method readDoubleBE
readDoubleBE: (offset?: number) => number;
Reads an DoublEBE value from the current read position or an optionally provided offset.
Parameter offset
The offset to read data from (optional) { Number }
method readDoubleLE
readDoubleLE: (offset?: number) => number;
Reads an DoubleLE value from the current read position or an optionally provided offset.
Parameter offset
The offset to read data from (optional) { Number }
method readFloatBE
readFloatBE: (offset?: number) => number;
Reads an FloatBE value from the current read position or an optionally provided offset.
Parameter offset
The offset to read data from (optional) { Number }
method readFloatLE
readFloatLE: (offset?: number) => number;
Reads an FloatLE value from the current read position or an optionally provided offset.
Parameter offset
The offset to read data from (optional) { Number }
method readInt16BE
readInt16BE: (offset?: number) => number;
Reads an Int16BE value from the current read position or an optionally provided offset.
Parameter offset
The offset to read data from (optional) { Number }
method readInt16LE
readInt16LE: (offset?: number) => number;
Reads an Int16LE value from the current read position or an optionally provided offset.
Parameter offset
The offset to read data from (optional) { Number }
method readInt32BE
readInt32BE: (offset?: number) => number;
Reads an Int32BE value from the current read position or an optionally provided offset.
Parameter offset
The offset to read data from (optional) { Number }
method readInt32LE
readInt32LE: (offset?: number) => number;
Reads an Int32LE value from the current read position or an optionally provided offset.
Parameter offset
The offset to read data from (optional) { Number }
method readInt8
readInt8: (offset?: number) => number;
Reads an Int8 value from the current read position or an optionally provided offset.
Parameter offset
The offset to read data from (optional) { Number }
method readString
readString: ( arg1?: number | BufferEncoding, encoding?: BufferEncoding) => string;
Reads a String from the current read position.
Parameter arg1
The number of bytes to read as a String, or the BufferEncoding to use for the string (Defaults to instance level encoding).
Parameter encoding
The BufferEncoding to use for the string (Defaults to instance level encoding).
{ String }
method readStringNT
readStringNT: (encoding?: BufferEncoding) => string;
Reads a null-terminated String from the current read position.
Parameter encoding
The BufferEncoding to use for the string (Defaults to instance level encoding).
{ String }
method readUInt16BE
readUInt16BE: (offset?: number) => number;
Reads an UInt16BE value from the current read position or an optionally provided offset.
Parameter offset
The offset to read data from (optional) { Number }
method readUInt16LE
readUInt16LE: (offset?: number) => number;
Reads an UInt16LE value from the current read position or an optionally provided offset.
Parameter offset
The offset to read data from (optional) { Number }
method readUInt32BE
readUInt32BE: (offset?: number) => number;
Reads an UInt32BE value from the current read position or an optionally provided offset.
Parameter offset
The offset to read data from (optional) { Number }
method readUInt32LE
readUInt32LE: (offset?: number) => number;
Reads an UInt32LE value from the current read position or an optionally provided offset.
Parameter offset
The offset to read data from (optional) { Number }
method readUInt8
readUInt8: (offset?: number) => number;
Reads an UInt8 value from the current read position or an optionally provided offset.
Parameter offset
The offset to read data from (optional) { Number }
method remaining
remaining: () => number;
Gets the remaining data left to be read from the SmartBuffer instance.
{ Number }
method toBuffer
toBuffer: () => Buffer;
Gets the value of the internal managed Buffer (Includes managed data only)
Parameter
{ Buffer }
method toString
toString: (encoding?: BufferEncoding) => string;
Gets the String value of the internal managed Buffer
Parameter encoding
The BufferEncoding to display the Buffer as (defaults to instance level encoding).
method writeBigInt64BE
writeBigInt64BE: (value: bigint, offset?: number) => SmartBuffer;
Writes a BigInt64BE value to the current write position (or at optional offset).
Parameter value
The value to write.
Parameter offset
The offset to write the value at.
this
method writeBigInt64LE
writeBigInt64LE: (value: bigint, offset?: number) => SmartBuffer;
Writes a BigInt64LE value to the current write position (or at optional offset).
Parameter value
The value to write.
Parameter offset
The offset to write the value at.
this
method writeBigUInt64BE
writeBigUInt64BE: (value: bigint, offset?: number) => SmartBuffer;
Writes a BigUInt64BE value to the current write position (or at optional offset).
Parameter value
The value to write.
Parameter offset
The offset to write the value at.
this
method writeBigUInt64LE
writeBigUInt64LE: (value: bigint, offset?: number) => SmartBuffer;
Writes a BigUInt64LE value to the current write position (or at optional offset).
Parameter value
The value to write.
Parameter offset
The offset to write the value at.
this
method writeBuffer
writeBuffer: (value: Buffer, offset?: number) => SmartBuffer;
Writes a Buffer to the current write position.
Parameter value
The Buffer to write.
Parameter offset
The offset to write the Buffer to.
this
method writeBufferNT
writeBufferNT: (value: Buffer, offset?: number) => SmartBuffer;
Writes a null-terminated Buffer.
Parameter value
The Buffer to write.
Parameter offset
The offset to write the Buffer to.
this
method writeDoubleBE
writeDoubleBE: (value: number, offset?: number) => SmartBuffer;
Writes a DoubleBE value to the current write position (or at optional offset).
Parameter value
The value to write.
Parameter offset
The offset to write the value at.
this
method writeDoubleLE
writeDoubleLE: (value: number, offset?: number) => SmartBuffer;
Writes a DoubleLE value to the current write position (or at optional offset).
Parameter value
The value to write.
Parameter offset
The offset to write the value at.
this
method writeFloatBE
writeFloatBE: (value: number, offset?: number) => SmartBuffer;
Writes a FloatBE value to the current write position (or at optional offset).
Parameter value
The value to write.
Parameter offset
The offset to write the value at.
this
method writeFloatLE
writeFloatLE: (value: number, offset?: number) => SmartBuffer;
Writes a FloatLE value to the current write position (or at optional offset).
Parameter value
The value to write.
Parameter offset
The offset to write the value at.
this
method writeInt16BE
writeInt16BE: (value: number, offset?: number) => SmartBuffer;
Writes an Int16BE value to the current write position (or at optional offset).
Parameter value
The value to write.
Parameter offset
The offset to write the value at.
this
method writeInt16LE
writeInt16LE: (value: number, offset?: number) => SmartBuffer;
Writes an Int16LE value to the current write position (or at optional offset).
Parameter value
The value to write.
Parameter offset
The offset to write the value at.
this
method writeInt32BE
writeInt32BE: (value: number, offset?: number) => SmartBuffer;
Writes an Int32BE value to the current write position (or at optional offset).
Parameter value
The value to write.
Parameter offset
The offset to write the value at.
this
method writeInt32LE
writeInt32LE: (value: number, offset?: number) => SmartBuffer;
Writes an Int32LE value to the current write position (or at optional offset).
Parameter value
The value to write.
Parameter offset
The offset to write the value at.
this
method writeInt8
writeInt8: (value: number, offset?: number) => SmartBuffer;
Writes an Int8 value to the current write position (or at optional offset).
Parameter value
The value to write.
Parameter offset
The offset to write the value at.
this
method writeString
writeString: ( value: string, arg2?: number | BufferEncoding, encoding?: BufferEncoding) => SmartBuffer;
Writes a String
Parameter value
The String value to write.
Parameter arg2
The offset to write the string at, or the BufferEncoding to use.
Parameter encoding
The BufferEncoding to use for writing strings (defaults to instance encoding).
this
method writeStringNT
writeStringNT: ( value: string, arg2?: number | BufferEncoding, encoding?: BufferEncoding) => SmartBuffer;
Writes a null-terminated String.
Parameter value
The String value to write.
Parameter arg2
The offset to write the string to, or the BufferEncoding to use.
Parameter encoding
The BufferEncoding to use for writing strings (defaults to instance encoding).
this
method writeUInt16BE
writeUInt16BE: (value: number, offset?: number) => SmartBuffer;
Writes an UInt16BE value to the current write position (or at optional offset).
Parameter value
The value to write.
Parameter offset
The offset to write the value at.
this
method writeUInt16LE
writeUInt16LE: (value: number, offset?: number) => SmartBuffer;
Writes an UInt16LE value to the current write position (or at optional offset).
Parameter value
The value to write.
Parameter offset
The offset to write the value at.
this
method writeUInt32BE
writeUInt32BE: (value: number, offset?: number) => SmartBuffer;
Writes an UInt32BE value to the current write position (or at optional offset).
Parameter value
The value to write.
Parameter offset
The offset to write the value at.
this
method writeUInt32LE
writeUInt32LE: (value: number, offset?: number) => SmartBuffer;
Writes an UInt32LE value to the current write position (or at optional offset).
Parameter value
The value to write.
Parameter offset
The offset to write the value at.
this
method writeUInt8
writeUInt8: (value: number, offset?: number) => SmartBuffer;
Writes an UInt8 value to the current write position (or at optional offset).
Parameter value
The value to write.
Parameter offset
The offset to write the value at.
this
Interfaces
interface SmartBufferOptions
interface SmartBufferOptions {}
Object interface for constructing new SmartBuffer instances.
Package Files (1)
Dependencies (0)
No dependencies.
Dev Dependencies (13)
Peer Dependencies (0)
No peer dependencies.
Badge
To add a badge like this oneto your package's README, use the codes available below.
You may also use Shields.io to create a custom badge linking to https://www.jsdocs.io/package/smart-buffer
.
- Markdown[![jsDocs.io](https://img.shields.io/badge/jsDocs.io-reference-blue)](https://www.jsdocs.io/package/smart-buffer)
- HTML<a href="https://www.jsdocs.io/package/smart-buffer"><img src="https://img.shields.io/badge/jsDocs.io-reference-blue" alt="jsDocs.io"></a>
- Updated .
Package analyzed in 1779 ms. - Missing or incorrect documentation? Open an issue for this package.