Class: Reader

Reader

Wire format reader using Uint8Array if available, otherwise Array.

new Reader(buffer)

Constructs a new reader instance using the specified buffer.

Parameters:
buffer Uint8Array

Buffer to read from

Members

buf { Uint8Array }

Read buffer.

len { number }

Read buffer length.

pos { number }

Read buffer position.

Reader.recursionLimit { number }

Recursion limit.

Methods

bool(){ boolean }

Reads a varint as a boolean.

Returns:
boolean Value read

bytes(){ Uint8Array }

Reads a sequence of bytes preceeded by its length as a varint.

Returns:
Uint8Array Value read

double(){ number }

Reads a double (64 bit float) as a number.

Returns:
number Value read

fixed32(){ number }

Reads fixed 32 bits as an unsigned 32 bit integer.

Returns:
number Value read

fixed64(){ Long }

Reads fixed 64 bits.

Returns:
Long Value read

float(){ number }

Reads a float (32 bit) as a number.

Returns:
number Value read

int32(){ number }

Reads a varint as a signed 32 bit value.

Returns:
number Value read

int64(){ Long }

Reads a varint as a signed 64 bit value.

Returns:
Long Value read

raw(start, end){ Uint8Array }

Returns raw bytes from the backing buffer without advancing the reader.

Parameters:
start number

Start offset

end number

End offset

Returns:
Uint8Array Raw bytes

sfixed32(){ number }

Reads fixed 32 bits as a signed 32 bit integer.

Returns:
number Value read

sfixed64(){ Long }

Reads zig-zag encoded fixed 64 bits.

Returns:
Long Value read

sint32(){ number }

Reads a zig-zag encoded varint as a signed 32 bit value.

Returns:
number Value read

sint64(){ Long }

Reads a zig-zag encoded varint as a signed 64 bit value.

Returns:
Long Value read

skip(length){ Reader }

Skips the specified number of bytes if specified, otherwise skips a varint.

Parameters:
length number optional

Length if known, otherwise a varint is assumed

Returns:
Reader this

skipType(wireType, depth, fieldNumber){ Reader }

Skips the next element of the specified wire type.

Parameters:
wireType number

Wire type received

depth number optional

Depth of recursion to control nested calls; 0 if omitted

fieldNumber number optional

Field number for validating group end tags

Returns:
Reader this

string(){ string }

Reads a string preceeded by its byte length as a varint.

Returns:
string Value read

tag(){ number }

Reads a field tag.

Returns:
number Tag read

uint32(){ number }

Reads a varint as an unsigned 32 bit value.

Returns:
number Value read

uint64(){ Long }

Reads a varint as an unsigned 64 bit value.

Returns:
Long Value read

Reader.create(buffer){ Reader | BufferReader }

Creates a new reader using the specified buffer.

Parameters:
buffer Uint8Array | Buffer

Buffer to read from

Throws:
Error

If buffer is not a valid buffer

Returns:
Reader | BufferReader A BufferReader if buffer is a Buffer, otherwise a Reader