Options
All
  • Public
  • Public/Protected
  • All
Menu

Describes a single message that was parsed by Protoflex and can be read.

Hierarchy

  • OutputMessage

Index

Constructors

constructor

Properties

data

Protobuf wire data. Mutation of this array after initialization will lead to unexpected behaviour

fields

fields: Dict<MessageField[]>

Lazily-initialized fields dictionary

Methods

array

  • Get an array of fields with given key

    Parameters

    • key: number

      Key of items to be added into result

    • type: PB_Number | PB_Fraction

      Expected type of items in array

    Returns number[]

  • Get an array of fields with given key

    Parameters

    • key: number

      Key of items to be added into result

    • type: PB_Long

      Expected type of items in array

    Returns Long[]

  • Get an array of fields with given key

    Parameters

    • key: number

      Key of items to be added into result

    • type: PB_Bool

      Expected type of items in array

    Returns boolean[]

  • Get an array of fields with given key

    Parameters

    • key: number

      Key of items to be added into result

    • type: PB_Bytes

      Expected type of items in array

    Returns number[][]

  • Get an array of fields with given key

    Parameters

    • key: number

      Key of items to be added into result

    • type: PB_String

      Expected type of items in array

    Returns string[]

  • Get an array of fields with given key

    Parameters

    • key: number

      Key of items to be added into result

    • type: PB_Message

      Expected type of items in array

    Returns OutputMessage[]

bool

  • bool(key: number, index?: number): boolean
  • Returns field value with key key and optionally index interpreted as a bool

    Parameters

    • key: number

      Field key

    • Optional index: number

      Optional array index

    Returns boolean

bytes

  • bytes(key: number, index?: number): number[]
  • Returns field value with key key and optionally index interpreted as a bytes

    Parameters

    • key: number

      Field key

    • Optional index: number

      Optional array index

    Returns number[]

double

  • double(key: number, index?: number): number
  • Returns field value with key key and optionally index interpreted as a double

    Parameters

    • key: number

      Field key

    • Optional index: number

      Optional array index

    Returns number

fixed32

  • fixed32(key: number, index?: number): number
  • Returns field value with key key and optionally index interpreted as a fixed32

    Parameters

    • key: number

      Field key

    • Optional index: number

      Optional array index

    Returns number

fixed64

  • fixed64(key: number, index?: number): Long
  • Returns field value with key key and optionally index interpreted as a fixed64

    Parameters

    • key: number

      Field key

    • Optional index: number

      Optional array index

    Returns Long

float

  • float(key: number, index?: number): number
  • Returns field value with key key and optionally index interpreted as a float

    Parameters

    • key: number

      Field key

    • Optional index: number

      Optional array index

    Returns number

get

  • get(key: number, index?: number): any
  • get(key: number, type: PB_Number | PB_Fraction, index?: number): number
  • get(key: number, type: PB_Long, index?: number): Long
  • get(key: number, type: PB_Bool, index?: number): boolean
  • get(key: number, type: PB_Bytes, index?: number): number[]
  • get(key: number, type: PB_String, index?: number): string
  • get(key: number, type: PB_Message, index?: number): OutputMessage
  • Get a field value by key and optionally index

    Parameters

    • key: number

      Field key

    • Optional index: number

      Field value

    Returns any

  • Get a field value by key, type and optionally index

    Parameters

    Returns number

  • Get a field value by key, type and optionally index

    Parameters

    • key: number

      Field key

    • type: PB_Long

      Field type

    • Optional index: number

      Field value

    Returns Long

  • Get a field value by key, type and optionally index

    Parameters

    • key: number

      Field key

    • type: PB_Bool

      Field type

    • Optional index: number

      Field value

    Returns boolean

  • Get a field value by key, type and optionally index

    Parameters

    • key: number

      Field key

    • type: PB_Bytes

      Field type

    • Optional index: number

      Field value

    Returns number[]

  • Get a field value by key, type and optionally index

    Parameters

    • key: number

      Field key

    • type: PB_String

      Field type

    • Optional index: number

      Field value

    Returns string

  • Get a field value by key, type and optionally index

    Parameters

    • key: number

      Field key

    • type: PB_Message

      Field type

    • Optional index: number

      Field value

    Returns OutputMessage

has

  • has(key: number, index?: number, ignoreKnown?: boolean): boolean
  • Returns whether message has key field at index index.

    Parameters

    • key: number

      Field key

    • Optional index: number

      Field index

    • Optional ignoreKnown: boolean

      Whether to ignore known fields (see OutputMessage.known)

    Returns boolean

int32

  • int32(key: number, index?: number): number
  • Returns field value with key key and optionally index interpreted as a int32

    Parameters

    • key: number

      Field key

    • Optional index: number

      Optional array index

    Returns number

int64

  • int64(key: number, index?: number): Long
  • Returns field value with key key and optionally index interpreted as a int64

    Parameters

    • key: number

      Field key

    • Optional index: number

      Optional array index

    Returns Long

iter

  • Get an iterator over fields with given key

    Parameters

    • key: number

      Key of items to be iterated over

    • type: PB_Number | PB_Fraction

      Expected type of iterables

    Returns Iterator<number>

  • Get an iterator over fields with given key

    Parameters

    • key: number

      Key of items to be iterated over

    • type: PB_Long

      Expected type of iterables

    Returns Iterator<Long>

  • Get an iterator over fields with given key

    Parameters

    • key: number

      Key of items to be iterated over

    • type: PB_Bool

      Expected type of iterables

    Returns Iterator<boolean>

  • Get an iterator over fields with given key

    Parameters

    • key: number

      Key of items to be iterated over

    • type: PB_Bytes

      Expected type of iterables

    Returns Iterator<number[]>

  • Get an iterator over fields with given key

    Parameters

    • key: number

      Key of items to be iterated over

    • type: PB_String

      Expected type of iterables

    Returns Iterator<string>

  • Get an iterator over fields with given key

    Parameters

    • key: number

      Key of items to be iterated over

    • type: PB_Message

      Expected type of iterables

    Returns Iterator<OutputMessage>

known

  • known(...fields: (number | object | (number | object)[])[]): OutputMessage
  • Registers some fields (by key) that are known-for-sure to be present in message. For example, in protobuf int32 fields with value 0 are not in wire, so this is the only way to get information about those fields. You can use either a number or object with number keys and type(s) as a value. Multiple calls to the function will extend existing mappings for new keys and overwrite for existing

    Example (assuming msg is some OutputMessage):

    msg.int32(1) // Error: no such field
    msg.known(1).int32(1) // 0
    msg.known(1).int64(1) // Long(0)
    msg.known({ 1: 'int32' }).int32(1) // 0
    msg.known({ 1: 'int32' }).int64(1) // Error: field is not int64
    msg.known({ 1: ['int32', 'int64'] }).int32(1) // 0
    msg.known({ 1: ['int32', 'int64'] }).int64(1) // Long(0)

    Parameters

    • Rest ...fields: (number | object | (number | object)[])[]

      Information about known fields.

    Returns OutputMessage

    this

length

  • length(key: number): number
  • Returns number of items in message for key key. Throws error if key is not present.

    Parameters

    • key: number

      Key to lookup

    Returns number

message

  • Returns field value with key key and optionally index interpreted as a message

    Parameters

    • key: number

      Field key

    • Optional index: number

      Optional array index

    Returns OutputMessage

repeated

  • Protobuf version 3 declares a new, more efficient way to store repeated elements by storing them in a single length-delimited field. However, this increases the complexity of parsing them — it is not actually possible without knowing the type of items. Thus, to provide possibility of parsing those fields, this method is available. This method only does stuff internally and returns this

    Usage:

    msg.repeated(1, 'int32').array(1, 'int32')

    Parameters

    • key: number

      Key of field which is supposed to be repeated

    • type: PB_Type

      Type of repeated field.

    Returns OutputMessage

sfixed32

  • sfixed32(key: number, index?: number): number
  • Returns field value with key key and optionally index interpreted as a sfixed32

    Parameters

    • key: number

      Field key

    • Optional index: number

      Optional array index

    Returns number

sfixed64

  • sfixed64(key: number, index?: number): Long
  • Returns field value with key key and optionally index interpreted as a sfixed64

    Parameters

    • key: number

      Field key

    • Optional index: number

      Optional array index

    Returns Long

sint32

  • sint32(key: number, index?: number): number
  • Returns field value with key key and optionally index interpreted as a sint32

    Parameters

    • key: number

      Field key

    • Optional index: number

      Optional array index

    Returns number

sint64

  • sint64(key: number, index?: number): Long
  • Returns field value with key key and optionally index interpreted as a sint64

    Parameters

    • key: number

      Field key

    • Optional index: number

      Optional array index

    Returns Long

string

  • string(key: number, index?: number): string
  • Returns field value with key key and optionally index interpreted as a string

    Parameters

    • key: number

      Field key

    • Optional index: number

      Optional array index

    Returns string

toInput

  • Note: you likely won't be able to use InputMessage.get, because types will be erased down to primitives. If you will need to get the field values later, keep the original message at hand.

    Note: when converted back to the wire, it may not be exactly the same as the original message, even if no changes were made. Particularly, order of the fields may not be preserved, empty fields may be removed (use InputMessage.keepDefault to avoid that), and non-packed primitives may get packed. Still, the resulting message should stay compatible with the original one.

    Returns InputMessage

toJSON

  • toJSON(): any
  • Converts OutputMessage to JSON API compatible object. Will only contain one inferred value for each field, and is not recommended overall.

    Returns any

type

  • type(key: number, index?: number): PB_Type
  • Returns type of field with key key and index index. Note: Message is invalid according to protobuf specs if field has different type at the same key, but it is not in protoflex.

    Parameters

    • key: number
    • Optional index: number

    Returns PB_Type

uint32

  • uint32(key: number, index?: number): number
  • Returns field value with key key and optionally index interpreted as a uint32

    Parameters

    • key: number

      Field key

    • Optional index: number

      Optional array index

    Returns number

uint64

  • uint64(key: number, index?: number): Long
  • Returns field value with key key and optionally index interpreted as a uint64

    Parameters

    • key: number

      Field key

    • Optional index: number

      Optional array index

    Returns Long

Generated using TypeDoc