Compiled metadata attached to generated Kiwi modules.
Generated modules expose this metadata through __kiwi_metadata__/0 so encoders,
decoders, inspectors, and tooling can work from one normalized description of
fields, enum values, and definition kind.
Summary
Types
@type kind() :: :message | :struct | :enum
@type t() :: %KiwiCodec.Metadata{ enum_by_name: %{required(atom()) => integer()}, enum_by_value: %{required(integer()) => atom()}, fields_by_id: %{required(pos_integer()) => KiwiCodec.Metadata.Field.t()}, fields_by_name: %{required(atom()) => KiwiCodec.Metadata.Field.t()}, kind: kind(), ordered_fields: [KiwiCodec.Metadata.Field.t()] }