Class HazelReader

Hierarchy

Methods

  • Create a hazel reader from a buffer.

    Returns

    The created reader.

    Example

    const buffer = Buffer.alloc(2);
    buffer.writeUInt16(53, 0);

    const reader = HazelReader.from(buffer);

    Parameters

    • buffer: Buffer

      The buffer to read from.

    Returns HazelReader

  • Create a hazel reader from a string.

    Returns

    The created reader.

    Example

    const reader = HazelReader.from("weakeyes", "utf8");
    

    Parameters

    • str: string

      The string to read from.

    • encoding: BufferEncoding

    Returns HazelReader

  • Create a hazel reader from a number array.

    Returns

    The created reader.

    Example

    const reader = HazelReader.from([5, 6, 7, 8]);
    

    Parameters

    • bytes: number[]

      The byte array to read from.

    • encoding: BufferEncoding

    Returns HazelReader

  • Returns Generator<number, void, unknown>

  • Read a single boolean value.

    Returns

    The boolean that was read.

    Example

    const reader = HazelReader.from("0001", "hex");

    console.log(reader.bool()) // => false
    console.log(reader.bool()) // => true

    Returns boolean

  • Read a single unsigned byte.

    Returns

    The byte that was read.

    Example

    const reader = HazelReader.from("41", "hex");

    console.log(reader.byte()) // => 65

    Returns number

  • Read a specified number of bytes.

    Example

    const reader = HazelReader.from("030201);

    const message = reader.bytes(2);

    console.log(message.buffer); // => <Buffer 03 02>

    Parameters

    • bytes: number

      The number of bytes to read.

    Returns HazelReader

  • Read a single ascii character.

    Returns

    The character that was read.

    Example

    const reader = HazelReader.from("41", "hex");

    console.log(reader.char()) // => A

    Returns string

  • Check whether two hazel buffers contain the same information.

    Returns

    Whether or not the hazel writers are the same.

    Example

    const writer = HazelWriter.alloc(2);
    writer.uint8(21);
    writer.uint8(69);

    const writer2 = HazelWriter.alloc(2);
    writer.uint8(21);
    writer.uint8(69);

    console.log(writer.compare(writer2)); // => true

    writer2.uint8(90);

    console.log(writer.compare(writer2)); // => false

    Parameters

    Returns boolean

  • Read an IEEE 754 floating point number.

    Returns

    The value that was read.

    Example

    const reader = HazelReader.from([130, 6, 7, 8]);

    console.log(reader.float()); // => 1666

    Parameters

    • Optional be: boolean

    Returns number

  • Move the cursor to a position.

    Returns

    The writer.

    Example

    const writer = HazelWriter.alloc(12);
    writer.goto(5);

    console.log(writer.cursor); // => 5

    Parameters

    • pos: number

      The position to move to.

    Returns HazelReader

  • Read a signed 16-bit integer value.

    Returns

    The value that was read.

    Example

    const reader = HazelReader.from([130, 6, 7, 8]);

    console.log(reader.int16()); // => 1666

    Parameters

    • Optional be: boolean

    Returns number

  • Read a signed 32-bit integer value.

    Returns

    The value that was read.

    Example

    const reader = HazelReader.from([130, 6, 7, 8]);

    console.log(reader.int32()); // => 1666

    Parameters

    • Optional be: boolean

    Returns number

  • Read a signed 64-bit integer value.

    Returns

    The value that was read.

    Example

    console.log(reader.int64()); // => 1666
    

    Parameters

    • Optional be: boolean

    Returns bigint

  • Read a signed 8-bit integer value.

    Returns

    The value that was read.

    Example

    const reader = HazelReader.from([130, 6, 7, 8]);

    console.log(reader.int8()); // => -125

    Returns number

  • Skip a speciied number of bytes.

    Returns

    The writer.

    Example

    const writer = HazelWriter.alloc(12);
    writer.skip(3);
    writer.skip(2);
    writer.skip(5);

    console.log(writer.cursor); // => 10

    Parameters

    • bytes: number

    Returns HazelReader

  • Read an object list from the buffer.

    Example

    const reader = HazelReader.from([5, 6, 7, 8]);

    const items = reader.list(reader => reader.uint8());

    console.log(items); // => [5, 6, 7, 8];

    Type Parameters

    • T

    Parameters

    • length: number

      The length of the list.

    • fn: ListReader<T>

      The function accepting a single reader to use for reading data.

    Returns T[]

  • Type Parameters

    • T

    Parameters

    • fn: ListReader<T>

    Returns T[]

  • Read a list of deserializable objects from the reader.

    Returns

    An array of deserialized objects.

    Type Parameters

    • K extends Deserializable<any[]>

    Parameters

    • length: number
    • deserializable: K

      The object class to read.

    • Rest ...args: GetDeserializeArgs<K>

    Returns GetSerializable<K>[]

  • Read a hazel message.

    Returns

    The message that was read.

    Example

    const reader = HazelReader.from("0005010a0a0a0a0a");

    const [ tag, mreader ] = reader.message();

    console.log(tag, mreader.size); // => 1 5

    Returns [number, HazelReader]

  • Read a signed variable-sized integer.

    Returns

    The value that was read.

    Example

    const reader = HazelReader.from("ac9e04", "hex");

    console.log(reader.packed()); // => 69420

    Returns number

  • Read a deserializable object from the reader.

    Returns

    The deserialized data.

    Type Parameters

    • K extends Deserializable<any[]>

    Parameters

    • deserializable: K

      The object class to read.

    • Rest ...args: GetDeserializeArgs<K>

    Returns GetSerializable<K>

  • Read a single signed byte.

    Returns

    The byte that was read.

    Example

    const reader = HazelReader.from("41", "hex");

    console.log(reader.sbyte()) // => 65

    Returns number

  • Read a list of chars.

    Returns

    The string that was read.

    Example

    const reader = HazelReader.from("48656c6c6f2c20776f726c6421", "hex");

    console.log(reader.string()); // => Hello, world!

    Returns string

  • Parameters

    • Optional encoding: BufferEncoding

    Returns string

  • Read an unsigned 16-bit integer value.

    Returns

    The value that was read.

    Example

    const reader = HazelReader.from([130, 6, 7, 8]);

    console.log(reader.uint16()); // => 1666

    Parameters

    • Optional be: boolean

    Returns number

  • Read an unsigned 32-bit integer value.

    Returns

    The value that was read.

    Example

    const reader = HazelReader.from([130, 6, 7, 8]);

    console.log(reader.uint32()); // => 1666

    Parameters

    • Optional be: boolean

    Returns number

  • Read an unsigned 64-bit integer value.

    Returns

    The value that was read.

    Example

    console.log(reader.uint64()); // => 1666
    

    Parameters

    • Optional be: boolean

    Returns bigint

  • Read an unsigned 8-bit integer value.

    Returns

    The value that was read.

    Example

    const reader = HazelReader.from([5, 6, 7, 8]);

    console.log(reader.uint8()); // => 5

    Returns number

  • Read an unsigned variable-sized integer.

    Returns

    The value that was read.

    Example

    const reader = HazelReader.from("ac9e04", "hex");

    console.log(reader.upacked()); // => 69420

    Returns number

  • Read a vector position.

    Returns

    The vector that was read.

    Returns Vector2

Accessors

  • get buffer(): Buffer
  • The buffer that the writer or reader is targeting.

    Example

    const writer = HazelWriter.alloc(6);

    console.log(writer; // => <HazelBuffer [00] 00 00 00 00 00>

    Returns Buffer

  • get cursor(): number
  • The current position of the writer or reader.

    Example

    const writer = HazelWriter.alloc(2);
    writer.uint16(4);

    console.log(writer.cursor); // => 2

    Returns number

  • get left(): number
  • The number of bytes left in the writer or reader.

    Example

    const writer = HazelWriter.alloc(6);
    writer.uint16(4);

    console.log(writer.left); // => 4

    Returns number

  • get size(): number
  • The size of the buffer that the writer or reader is targeting.

    Example

    const writer = HazelWriter.alloc(6);

    console.log(writer.size); // => 6

    Returns number

Generated using TypeDoc