Resolved FlatBuffers schema IR.
A %Flatbuf.Schema{} is the single source of truth for code generation. It
contains every type that was parsed (across include files), keyed by its
fully-qualified name, plus the root_type / file_identifier / file_extension
declarations.
Type records live in sibling modules: Flatbuf.Schema.Table,
Flatbuf.Schema.Struct, Flatbuf.Schema.Enum, and Flatbuf.Schema.Field.
Summary
Functions
Return all enums in the schema, in stable order by FQN.
Return the type record for a fully-qualified name, or nil if not found.
Default value used when a missing scalar field is decoded.
Byte size of a scalar kind.
Return all structs in the schema, in stable order by FQN.
Return all tables in the schema, in stable order by FQN.
Return all unions in the schema, in stable order by FQN.
Types
@type scalar() ::
:bool | :u8 | :u16 | :u32 | :u64 | :i8 | :i16 | :i32 | :i64 | :f32 | :f64
@type type_record() :: Flatbuf.Schema.Table.t() | Flatbuf.Schema.Struct.t() | Flatbuf.Schema.Enum.t() | Flatbuf.Schema.Union.t()
Functions
@spec enums(t()) :: [Flatbuf.Schema.Enum.t()]
Return all enums in the schema, in stable order by FQN.
@spec fetch(t(), String.t()) :: type_record() | nil
Return the type record for a fully-qualified name, or nil if not found.
Default value used when a missing scalar field is decoded.
@spec scalar_size(scalar()) :: 1 | 2 | 4 | 8
Byte size of a scalar kind.
@spec structs(t()) :: [Flatbuf.Schema.Struct.t()]
Return all structs in the schema, in stable order by FQN.
@spec tables(t()) :: [Flatbuf.Schema.Table.t()]
Return all tables in the schema, in stable order by FQN.
@spec unions(t()) :: [Flatbuf.Schema.Union.t()]
Return all unions in the schema, in stable order by FQN.