Class: Field

Field

Reflected message field.

new Field(name, id, type, rule, extend, options)

Constructs a new message field instance. Note that map fields have their own class.

Name Type Default Description
name string

Unique name within its namespace

id number

Unique id within its namespace

type string

Value type

rule string | Object.<string, *> "optional" optional

Field rule

extend string | Object.<string, *> optional

Extended type if different from parent

options Object.<string, *> optional

Declared options

Extends

Members

bytes { boolean }

Whether this field's value is a buffer.

comment { string | null }

Comment text, if any.

declaringField { Field | null }

Sister-field within the declaring namespace if an extended field.

defaultValue { * }

The field's default value on prototypes.

extend { string | undefined }

Extended type if different from parent.

extensionField { Field | null }

Sister-field within the extended type if a declaring extension field.

filename { string | null }

Defining file name.

fullName readonly{ string }

Full name including leading dot.

id { number }

Unique field id.

long { boolean }

Whether this field's value should be treated as a long.

map { boolean }

Whether this field is a map or not.

message { Type | null }

Message this field belongs to.

name { string }

Unique name within its namespace.

optional { boolean }

Whether this field is optional.

options { Object<string, *> | undefined }

Options.

packed readonly{ boolean }

Determines whether this field is packed. Only relevant when repeated and working with proto2.

parent { Namespace | null }

Parent namespace.

partOf { OneOf | null }

OneOf this field belongs to, if any,

repeated { boolean }

Whether this field is repeated.

required { boolean }

Whether this field is required.

resolved { boolean }

Whether already resolved or not.

resolvedType { Type | Enum | null }

Resolved type if not a basic type.

root readonly{ Root }

Reference to the root namespace.

rule { string | undefined }

Field rule, if any.

type { string }

Field type.

typeDefault { * }

The field type's default value.

Methods

Field.d(fieldId, fieldType, fieldRule, defaultValue){ FieldDecorator }

Field decorator (TypeScript).

Name Type Default Description
fieldId number

Field id

fieldType "double" | "float" | "int32" | "uint32" | "sint32" | "fixed32" | "sfixed32" | "int64" | "uint64" | "sint64" | "fixed64" | "sfixed64" | "string" | "bool" | "bytes" | Object

Field type

fieldRule "optional" | "required" | "repeated" "optional" optional

Field rule

defaultValue T optional

Default value

Returns:
Type Description
FieldDecorator Decorator function

Field.d(2)(fieldId, fieldType, fieldRule){ FieldDecorator }

Field decorator (TypeScript).

Name Type Default Description
fieldId number

Field id

fieldType Constructor.<T> | string

Field type

fieldRule "optional" | "required" | "repeated" "optional" optional

Field rule

Returns:
Type Description
FieldDecorator Decorator function

Field.fromJSON(name, json){ Field }

Constructs a field from a field descriptor.

Name Type Description
name string

Field name

json IField

Field descriptor

Throws:
Type Description
TypeError

If arguments are invalid

Returns:
Type Description
Field Created field

inherited getOption(name){ * }

Gets an option value.

Name Type Description
name string

Option name

Returns:
Type Description
* Option value or undefined if not set

inherited onAdd(parent){ undefined }

Called when this object is added to a parent.

Name Type Description
parent ReflectionObject

Parent added to

Returns:
Type Description
undefined

inherited onRemove(parent){ undefined }

Called when this object is removed from a parent.

Name Type Description
parent ReflectionObject

Parent removed from

Returns:
Type Description
undefined

Resolves this field's type references.

Throws:
Type Description
Error

If any reference cannot be resolved

Returns:
Type Description
Field this

inherited setOption(name, value, ifNotSet){ ReflectionObject }

Sets an option.

Name Type Description
name string

Option name

value *

Option value

ifNotSet boolean optional

Sets the option only if it isn't currently set

Returns:
Type Description
ReflectionObject this

inherited setOptions(options, ifNotSet){ ReflectionObject }

Sets multiple options.

Name Type Description
options Object.<string, *>

Options to set

ifNotSet boolean optional

Sets an option only if it isn't currently set

Returns:
Type Description
ReflectionObject this

Converts this field to a field descriptor.

Returns:
Type Description
IField Field descriptor

inherited toString(){ string }

Converts this instance to its string representation.

Returns:
Type Description
string Class name[, space, full name]