in src/metadata/Message.jl [185:210]
function Base.getproperty(x::Message, field::Symbol)
if field === :version
o = FlatBuffers.offset(x, 4)
o != 0 && return FlatBuffers.get(x, o + FlatBuffers.pos(x), MetadataVersion.T)
elseif field === :header
o = FlatBuffers.offset(x, 6)
if o != 0
T = MessageHeader(FlatBuffers.get(x, o + FlatBuffers.pos(x), UInt8))
o = FlatBuffers.offset(x, 8)
pos = FlatBuffers.union(x, o)
if o != 0
return FlatBuffers.init(T, FlatBuffers.bytes(x), pos)
end
end
elseif field === :bodyLength
o = FlatBuffers.offset(x, 10)
o != 0 && return FlatBuffers.get(x, o + FlatBuffers.pos(x), Int64)
return Int64(0)
elseif field === :custom_metadata
o = FlatBuffers.offset(x, 12)
if o != 0
return FlatBuffers.Array{KeyValue}(x, o)
end
end
return nothing
end