KiwiCodec.RustlerGenerator.Full.Helpers (kiwi_codec v0.7.0)

Copy Markdown View Source

Full decoders: a struct or message decodes as its generated Elixir struct, every field set. kiwi_struct_decoder! and kiwi_message_decoder! define one; enums use KiwiCodec.RustlerGenerator.Values' kiwi_enum_decoder!.

Summary

Types

The Rust KiwiFullField: a message field id, its index among the struct's values, and how to decode it.

Functions

Whether the module's Rust file appeared or went since the module compiled.

The RustQ AST of each defrust definition.

Callable metadata for the module's definitions.

The Rust items the module generates, in order.

The module's defrustmacro definitions.

The macro_rules! items defrustmacro emits.

The Rust modules the module's defrustmods map its aliases, or itself ([]), to.

The Rust source the module generates.

The RustQ AST of each declared Rust type.

The Rust items the module's types generate.

The Rust types the module's @types declare.

A Rust function defrust generates. It runs only as Rust; calling it from Elixir raises.

Types

kiwi_full_field()

@type kiwi_full_field() :: %{
  id: RustQ.Type.u32(),
  index: RustQ.Type.usize(),
  repeated: boolean(),
  decode: RustQ.Type.path(:KiwiDecodeFn)
}

The Rust KiwiFullField: a message field id, its index among the struct's values, and how to decode it.

Functions

__mix_recompile__?()

Whether the module's Rust file appeared or went since the module compiled.

__rustq_asts__()

The RustQ AST of each defrust definition.

__rustq_callables__()

Callable metadata for the module's definitions.

__rustq_items__()

The Rust items the module generates, in order.

__rustq_macro_definitions__()

The module's defrustmacro definitions.

__rustq_macro_items__()

The macro_rules! items defrustmacro emits.

__rustq_rust_modules__()

The Rust modules the module's defrustmods map its aliases, or itself ([]), to.

__rustq_source__()

The Rust source the module generates.

__rustq_type_asts__()

The RustQ AST of each declared Rust type.

__rustq_type_items__()

The Rust items the module's types generate.

__rustq_types__()

The Rust types the module's @types declare.

kiwi_message_fields(arg1, arg2, arg3, arg4, arg5, arg6)

A Rust function defrust generates. It runs only as Rust; calling it from Elixir raises.