JSBinaryUtils - v6.0.1
    Preparing search index...

    Class BinaryStream

    A high-performance binary stream for reading and writing binary data.

    Unlike Node.js native buffers which have fixed size, BinaryStream uses dynamic buffers that grow automatically during write operations. This eliminates the need for manual resizing or inefficient Buffer.concat() calls.

    const stream = new BinaryStream(buffer);
    const value = stream.readInt();
    const stream = new BinaryStream();
    stream.writeInt(42);
    stream.writeString("Hello"); // Buffer grows automatically
    const buffer = stream.getWriteBuffer();
    Index

    Constructors

    • Creates a new BinaryStream instance.

      Parameters

      • Optionalbuffer: Buffer<ArrayBufferLike>

        The array or Buffer containing binary data.

      • offset: number = 0

        The initial pointer position.

      Returns BinaryStream

    Properties

    readBuffer: Buffer<ArrayBufferLike> | null = null
    readIndex: number
    writeBuffer: Buffer<ArrayBufferLike> | null = null
    writeCapacity: number = 0
    writeIndex: number = 0

    Methods

    • Increases the write offset by the given length.

      Parameters

      • length: number

      Returns number

    • Clears the whole BinaryStream instance.

      Returns void

    • Do read assertions, check if the read buffer is null.

      Parameters

      • byteLength: number

      Returns void

    • Do read assertions, check if the read buffer is null.

      Parameters

      • num: number | bigint
      • minVal: number | bigint
      • maxVal: number | bigint

      Returns void

    • Ensures write buffer has enough capacity, grows if needed.

      Parameters

      • needed: number

      Returns void

    • Returns whatever or not the read offset is at end of line.

      Returns boolean

    • Returns the read buffer if available.

      Returns Buffer<ArrayBufferLike> | null

    • Reads a slice of buffer by the given length.

      Parameters

      • len: number

      Returns Buffer

    • Reads a boolean (true or false).

      Returns boolean

    • Reads an unsigned byte (0 to 255).

      Returns number

    • Returns a 64 bit (8 bytes) big-endian flating point number.

      Returns number

    • Returns a 64 bit (8 bytes) little-endian flating point number.

      Returns number

    • Returns a 32 bit (4 bytes) big-endian flating point number.

      Returns number

    • Returns a 32 bit (4 bytes) big-endian flating point number.

      Returns number

    • Reads a 32 bit (4 bytes) big-endian signed number.

      Returns number

    • Reads a 32 bit (4 bytes) signed number.

      Returns number

    • Returns a 64 bit (8 bytes) signed big-endian number.

      Returns bigint

    • Returns a 64 bit (8 bytes) signed little-endian number.

      Returns bigint

    • Reads the remaining bytes and returns the buffer slice.

      Returns Buffer

    • Reads a 16 bit (2 bytes) signed big-endian number.

      Returns number

    • Reads a 16 bit (2 bytes) signed little-endian number.

      Returns number

    • Reads a signed byte (-128 to 127).

      Returns number

    • Reads a 24 bit (3 bytes) signed big-endian number.

      Returns number

    • Reads a 24 bit (3 bytes) little-endian number.

      Returns number

    • Reads a 32 bit (4 bytes) big-endian unsigned number.

      Returns number

    • Reads a 32 bit (4 bytes) little-endian unsigned number.

      Returns number

    • Returns a 64 bit (8 bytes) unsigned big-endian number.

      Returns bigint

    • Returns a 64 bit (8 bytes) unsigned little-endian number.

      Returns bigint

    • Reads a 16 bit (2 bytes) unsigned big-endian number.

      Returns number

    • Reads a 16 bit (2 bytes) unsigned little-endian number.

      Returns number

    • Reads a 24 bit (3 bytes) unsigned big-endian number.

      Returns number

    • Reads a 24 bit (3 bytes) unsigned little-endian number.

      Returns number

    • Reads a 32 bit unsigned number.

      Returns number

    • Reads a 64 bit unsigned variable-length number.

      Returns bigint

    • Reads a 32 bit (4 bytes) zigzag-encoded number.

      Returns number

    • Reads a 64 bit zigzag-encoded variable-length number.

      Returns bigint

    • Conventional method to reuse the stream without having to create a new BinaryStream instance.

      Parameters

      • buf: Buffer

        The new buffer instance.

      Returns void

    • Sets the buffer for reading.

      Parameters

      • buf: Buffer

        The new Buffer.

      • rIndex: number = 0

        The new read index (default: 0, pass -1 to keep current).

      Returns void

    • Sets the reading index.

      Parameters

      • index: number

        The new read index.

      Returns void

    • Sets the buffer for writing.

      Parameters

      • buf: Buffer

        The new Buffer.

      • wIndex: number = 0

        The new write index (default: 0, pass -1 to keep current).

      Returns void

    • Sets the new writing index.

      Parameters

      • index: number

        The new write index.

      Returns void

    • Skips len bytes on the buffer.

      Parameters

      • len: number

      Returns void

    • Appends a buffer to the main buffer.

      Parameters

      • buf: Uint8Array

      Returns void

    • Writes a boolean (true or false).

      Parameters

      • v: boolean

      Returns void

    • Writes an unsigned byte (0 to 255).

      Parameters

      • v: number

      Returns void

    • Writes a 64 bit (8 bytes) big-endian floating point number.

      Parameters

      • v: number

      Returns void

    • Writes a 64 bit (8 bytes) little-endian floating point number.

      Parameters

      • v: number

      Returns void

    • Writes a 32 bit (4 bytes) big-endian floating point number.

      Parameters

      • v: number

      Returns void

    • Writes a 32 bit (4 bytes) little-endian floating point number.

      Parameters

      • v: number

      Returns void

    • Writes a 32 bit (4 bytes) big-endian signed number.

      Parameters

      • v: number

      Returns void

    • Writes a 32 bit (4 bytes) little-endian signed number.

      Parameters

      • v: number

      Returns void

    • Writes a 64 bit (8 bytes) signed big-endian number.

      Parameters

      • v: bigint

      Returns void

    • Writes a 64 bit (8 bytes) signed little-endian number.

      Parameters

      • v: bigint

      Returns void

    • Writes a 16 bit (2 bytes) signed big-endian number.

      Parameters

      • v: number

      Returns void

    • Writes a 16 bit (2 bytes) signed little-endian number.

      Parameters

      • v: number

      Returns void

    • Writes a signed byte (-128 to 127).

      Parameters

      • v: number

      Returns void

    • Writes a 24 bit (3 bytes) signed big-endian number.

      Parameters

      • v: number

      Returns void

    • Writes a 24 bit (3 bytes) signed little-endian number.

      Parameters

      • v: number

      Returns void

    • Writes a 32 bit (4 bytes) big-endian unsigned number.

      Parameters

      • v: number

      Returns void

    • Writes a 32 bit (4 bytes) little-endian unsigned number.

      Parameters

      • v: number

      Returns void

    • Writes a 64 bit (8 bytes) unsigned big-endian number.

      Parameters

      • v: bigint

      Returns void

    • Writes a 64 bit (8 bytes) unsigned little-endian number.

      Parameters

      • v: bigint

      Returns void

    • Writes a 16 bit (2 bytes) unsigned big-endian number.

      Parameters

      • v: number

      Returns void

    • Writes a 16 bit (2 bytes) unsigned little-endian number.

      Parameters

      • v: number

      Returns void

    • Writes a 24 bit (3 bytes) unsigned big-endian number.

      Parameters

      • v: number

      Returns void

    • Writes a 24 bit (3 bytes) unsigned little-endian number.

      Parameters

      • v: number

      Returns void

    • Writes a 32 bit unsigned number with variable-length.

      Parameters

      • v: number

      Returns void

    • Writes a 64 bit unsigned variable-length number.

      Parameters

      • v: bigint

      Returns void

    • Writes a 32 bit (4 bytes) zigzag-encoded number.

      Parameters

      • v: number

      Returns void

    • Writes a 64 bit unsigned zigzag-encoded number.

      Parameters

      • v: bigint

      Returns void