PB.Schema.Info.Field (PB v0.1.0)

Copy Markdown View Source

Public projection of a compiled protobuf field or extension.

Summary

Types

scalar()

@type scalar() ::
  :double
  | :float
  | :int32
  | :int64
  | :uint32
  | :uint64
  | :sint32
  | :sint64
  | :fixed32
  | :fixed64
  | :sfixed32
  | :sfixed64
  | :bool
  | :string
  | :bytes

t()

@type t() :: %PB.Schema.Info.Field{
  cardinality: PB.cardinality(),
  default: term() | :none,
  extendee: PB.message_name() | nil,
  json_name: String.t() | nil,
  name: PB.field_name() | PB.extension_name(),
  number: PB.field_number(),
  oneof: PB.field_name() | nil,
  presence: PB.presence(),
  type: type()
}

type()

@type type() ::
  {:scalar, scalar()}
  | {:message, PB.message_name()}
  | {:enum, PB.enum_name()}
  | {:map, type(), type()}