Hierarchy

  • BinaryWriter

Implements

Constructors

  • Parameters

    • Optional textEncoder: TextEncoderLike

    Returns BinaryWriter

Properties

buf: number[]

A growing buffer for byte values. If you don't know the size of the data you are writing, push to this array.

chunks: any

We cannot allocate a buffer for the entire output because we don't know it's size.

So we collect smaller chunks of known size and concat them later.

Use raw() to push data to this array. It will flush buf first.

stack: any

Previous fork states.

textEncoder: any

Text encoder instance to convert UTF-8 to bytes.

Methods

  • Write a bool value, a variant.

    Parameters

    • value: boolean

    Returns IBinaryWriter

  • Write a bytes value, length-delimited arbitrary data.

    Parameters

    • value: Uint8Array

    Returns IBinaryWriter

  • Write a double value, a 64-bit floating point number.

    Parameters

    • value: number

    Returns IBinaryWriter

  • Return all bytes written and reset this writer.

    Returns Uint8Array

  • Write a fixed32 value, an unsigned, fixed-length 32-bit integer.

    Parameters

    • value: number

    Returns IBinaryWriter

  • Write a fixed64 value, an unsigned, fixed-length 64 bit integer.

    Parameters

    • value: string | number | bigint

    Returns IBinaryWriter

  • Write a float value, 32-bit floating point number.

    Parameters

    • value: number

    Returns IBinaryWriter

  • Start a new fork for length-delimited data like a message or a packed repeated field.

    Must be joined later with join().

    Returns IBinaryWriter

  • Write a int32 value, a signed 32 bit varint.

    Parameters

    • value: number

    Returns IBinaryWriter

  • Write a int64 value, a signed 64-bit varint.

    Parameters

    • value: string | number | bigint

    Returns IBinaryWriter

  • Join the last fork. Write its length and bytes, then return to the previous state.

    Returns IBinaryWriter

  • Write a chunk of raw bytes.

    Parameters

    • chunk: Uint8Array

    Returns IBinaryWriter

  • Write a sfixed32 value, a signed, fixed-length 32-bit integer.

    Parameters

    • value: number

    Returns IBinaryWriter

  • Write a fixed64 value, a signed, fixed-length 64-bit integer.

    Parameters

    • value: string | number | bigint

    Returns IBinaryWriter

  • Write a sint32 value, a signed, zigzag-encoded 32-bit varint.

    Parameters

    • value: number

    Returns IBinaryWriter

  • Write a sint64 value, a signed, zig-zag-encoded 64-bit varint.

    Parameters

    • value: string | number | bigint

    Returns IBinaryWriter

  • Write a string value, length-delimited data converted to UTF-8 text.

    Parameters

    • value: string

    Returns IBinaryWriter

  • Writes a tag (field number and wire type).

    Equivalent to uint32( (fieldNo << 3 | type) >>> 0 ).

    Generated code should compute the tag ahead of time and call uint32().

    Parameters

    Returns IBinaryWriter

  • Write a uint32 value, an unsigned 32 bit varint.

    Parameters

    • value: number

    Returns IBinaryWriter

  • Write a uint64 value, an unsigned 64-bit varint.

    Parameters

    • value: string | number | bigint

    Returns IBinaryWriter

Generated using TypeDoc