skeldjs
    Preparing search index...

    Class HazelReader

    Hierarchy (View Summary)

    Index

    Properties

    _buffer: Buffer
    _cursor: number

    Accessors

    • get buffer(): Buffer<ArrayBufferLike>

      The buffer that the writer or reader is targeting.

      Returns Buffer<ArrayBufferLike>

      const writer = HazelWriter.alloc(6);

      console.log(writer; // => <HazelBuffer [00] 00 00 00 00 00>
    • get cursor(): number

      The current position of the writer or reader.

      Returns number

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

      console.log(writer.cursor); // => 2
    • get left(): number

      The number of bytes left in the writer or reader.

      Returns number

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

      console.log(writer.left); // => 4
    • get size(): number

      The size of the buffer that the writer or reader is targeting.

      Returns number

      const writer = HazelWriter.alloc(6);

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

    Methods

    • Read a single boolean value.

      Returns boolean

      The boolean that was read.

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

      console.log(reader.bool()) // => false
      console.log(reader.bool()) // => true
    • Read a single unsigned byte.

      Returns number

      The byte that was read.

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

      console.log(reader.byte()) // => 65
    • Read a specified number of bytes.

      Parameters

      • bytes: number

        The number of bytes to read.

      Returns HazelReader

      const reader = HazelReader.from("030201);

      const message = reader.bytes(2);

      console.log(message.buffer); // => <Buffer 03 02>
    • Read a single ascii character.

      Returns string

      The character that was read.

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

      console.log(reader.char()) // => A
    • Check whether two hazel buffers contain the same information.

      Parameters

      Returns boolean

      Whether or not the hazel writers are the same.

      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
    • Read an IEEE 754 floating point number.

      Parameters

      • be: boolean = false

      Returns number

      The value that was read.

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

      console.log(reader.float()); // => 1666
    • Read a signed 16-bit integer value.

      Parameters

      • be: boolean = false

      Returns number

      The value that was read.

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

      console.log(reader.int16()); // => 1666
    • Read a signed 32-bit integer value.

      Parameters

      • be: boolean = false

      Returns number

      The value that was read.

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

      console.log(reader.int32()); // => 1666
    • Read a signed 64-bit integer value.

      Parameters

      • be: boolean = false

      Returns bigint

      The value that was read.

      console.log(reader.int64()); // => 1666
      
    • Read a signed 8-bit integer value.

      Returns number

      The value that was read.

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

      console.log(reader.int8()); // => -125
    • Read an object list from the buffer.

      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[]

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

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

      console.log(items); // => [5, 6, 7, 8];
    • Read an object list from the buffer.

      Type Parameters

      • T

      Parameters

      • fn: ListReader<T>

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

      Returns T[]

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

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

      console.log(items); // => [5, 6, 7, 8];
    • Read a list of deserializable objects from the reader.

      Type Parameters

      • K extends Deserializable<any[]>

      Parameters

      • length: number
      • deserializable: K

        The object class to read.

      • ...args: GetDeserializeArgs<K>

      Returns GetSerializable<K>[]

      An array of deserialized objects.

    • Read a hazel message.

      Returns [number, HazelReader]

      The message that was read.

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

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

      console.log(tag, mreader.size); // => 1 5
    • Read a signed variable-sized integer.

      Returns number

      The value that was read.

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

      console.log(reader.packed()); // => 69420
    • Read a deserializable object from the reader.

      Type Parameters

      • K extends Deserializable<any[]>

      Parameters

      • deserializable: K

        The object class to read.

      • ...args: GetDeserializeArgs<K>

      Returns GetSerializable<K>

      The deserialized data.

    • Read a single signed byte.

      Returns number

      The byte that was read.

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

      console.log(reader.sbyte()) // => 65
    • Read a list of chars.

      Returns string

      The string that was read.

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

      console.log(reader.string()); // => Hello, world!
    • Read an unsigned 16-bit integer value.

      Parameters

      • be: boolean = false

      Returns number

      The value that was read.

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

      console.log(reader.uint16()); // => 1666
    • Read an unsigned 32-bit integer value.

      Parameters

      • be: boolean = false

      Returns number

      The value that was read.

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

      console.log(reader.uint32()); // => 1666
    • Read an unsigned 64-bit integer value.

      Parameters

      • be: boolean = false

      Returns bigint

      The value that was read.

      console.log(reader.uint64()); // => 1666
      
    • Read an unsigned 8-bit integer value.

      Returns number

      The value that was read.

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

      console.log(reader.uint8()); // => 5
    • Read an unsigned variable-sized integer.

      Returns number

      The value that was read.

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

      console.log(reader.upacked()); // => 69420
    • Create a hazel reader from a buffer.

      Parameters

      • buffer: Buffer

        The buffer to read from.

      Returns HazelReader

      The created reader.

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

      const reader = HazelReader.from(buffer);
    • Create a hazel reader from a string.

      Parameters

      • str: string

        The string to read from.

      • encoding: BufferEncoding

      Returns HazelReader

      The created reader.

      const reader = HazelReader.from("weakeyes", "utf8");
      
    • Create a hazel reader from a number array.

      Parameters

      • bytes: number[]

        The byte array to read from.

      • encoding: BufferEncoding

      Returns HazelReader

      The created reader.

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