Types mapping

April 16, 2025 ยท View on GitHub

The following table shows how Protobuf types are mapped to Elixir's ones.

ProtobufElixir
int32integer()
int64integer()
uint32integer()
uint64integer()
sint32integer()
sint64integer()
fixed32integer()
fixed64integer()
sfixed32integer()
sfixed64integer()
floatfloat() | :infinity | :'-infinity' | :nan
doublefloat() | :infinity | :'-infinity' | :nan
boolboolean()
stringString.t()
bytesbinary()
repeatedlist(value_type) where value_type is the type of the repeated field
mapmap()
oneof{atom(), value_type} where atom() is the name of the set field and where value_type is the type of the set field
enumatom() | integer()
messagestruct()