Options
All
  • Public
  • Public/Protected
  • All
Menu

Class OsuBuffer

Class holding a {@link Buffer} that contains binary data from a osu file, with utility methods to read and write values.

Hierarchy

  • OsuBuffer

Index

Constructors

constructor

  • Creates a OsuBuffer instance with optional initial data.

    Parameters

    • Default value data: OsuBuffer | Buffer | ArrayBuffer | number[] = []

      Initial data.

    Returns OsuBuffer

Properties

buffer

buffer: Buffer

Buffer holding all the binary data.

position

position: number = 0

Zero-based indicating the current position used for reading from the Buffer.

Methods

readByte

  • readByte(offset?: number): number
  • Reads a byte value from the buffer.

    Parameters

    • Default value offset: number = this.positionIncrement(1)

      Zero-based position to start reading in. Default: current position plus one.

    Returns number

    The read byte.

readInt

  • readInt(offset?: number): number
  • Reads a int value from the buffer.

    Parameters

    • Default value offset: number = this.positionIncrement(4)

      Zero-based position to start reading in. Default: current position plus four.

    Returns number

    The read int.

readLong

  • readLong(offset?: number, useNodeImpl?: boolean): bigint
  • Reads a long value from the buffer.

    Parameters

    • Default value offset: number = this.positionIncrement(8)

      Zero-based position to start reading in. Default: current position plus eight.

    • Optional useNodeImpl: boolean

      Boolean value representing when to use the {@link Buffer#readBigUInt64LE NodeJS implementation}.

    Returns bigint

    The read long.

readShort

  • readShort(offset?: number): number
  • Reads a short value from the buffer.

    Parameters

    • Default value offset: number = this.positionIncrement(2)

      Zero-based position to start reading in. Default: current position plus two.

    Returns number

    The read short.

readVarChar

  • readVarChar(startOffset?: number, encoding?: BufferEncoding): string
  • Reads a varChar value from the buffer.

    Parameters

    • Optional startOffset: number

      A.

    • Optional encoding: BufferEncoding

      The varChar encoding to use when reading from the buffer. Default: 'utf8'.

    Returns string

    The read varChar.

slice

  • slice(length: number, start?: number): Buffer
  • Slices the buffer returning a new one with the desired length.

    Parameters

    • length: number

      The length to slice.

    • Default value start: number = this.positionIncrement(length)

      Zero-based start position to slice. Default: current position plus length parameter.

    Returns Buffer

    A {@link Buffer} with size equals to the length parameter.

writeByte

  • writeByte(value: number): void

writeInt

  • writeInt(value: number): void

writeLong

  • writeLong(value: bigint, useNodeImpl?: boolean): void
  • Writes a long value to the buffer.

    Parameters

    • value: bigint

      The value to write.

    • Optional useNodeImpl: boolean

      Boolean value representing when to use the {@link Buffer#writeBigUInt64LE NodeJS implementation}.

    Returns void

writeShort

  • writeShort(value: number): void

writeVarChar

  • writeVarChar(value: string, nullable?: boolean, encoding?: BufferEncoding): void
  • Writes a varChar value to the buffer.

    Parameters

    • value: string

      The value to write.

    • Default value nullable: boolean = false

      Boolean representing if the varChar is nullable.

    • Optional encoding: BufferEncoding

      The varChar encoding to use when writing to the buffer. Default: 'utf8'.

    Returns void

writeVarInt

  • writeVarInt(value: number): void

Static encodeVarInt

  • encodeVarInt(value: number): number[]
  • Encodes a number to a varInt.

    Parameters

    • value: number

      The value to encode.

    Returns number[]

    The encoded value as a array of bytes.

Generated using TypeDoc