API Reference kiwi_codec v#0.2.0

Copy Markdown View Source

Modules

Pure Elixir codec for Kiwi schema binary messages.

Helpers for Kiwi chunk containers with an 8-byte magic and little-endian chunk lengths.

Compile-time DSL behind use KiwiCodec.

Raised when Kiwi wire data or binary schema data cannot be decoded.

Decodes Kiwi wire binaries into generated Kiwi structs.

Raised when a value cannot be encoded as Kiwi wire data.

Encodes generated Kiwi structs into Kiwi wire iodata.

Writes generated Elixir source files from .kiwi schema text or parsed schemas.

Builds compiled metadata for modules generated with use KiwiCodec.

Emits enum, struct, and message shape code for modules generated with use KiwiCodec.

Builds typespec AST for generated Kiwi modules.

Shared Inspect implementation for generated Kiwi structs.

Compiled metadata attached to generated Kiwi modules.

Compiled metadata for one field in a generated Kiwi module.

Compiles .kiwi schema text or parsed schemas into Elixir modules in memory.

Generates Elixir source modules from parsed Kiwi schemas.

Kiwi primitive type metadata.

Generates Rustler decoder code from Kiwi schemas for RustQ manifests.

Rusty-Elixir macros that emit Rustler decoder functions.

Generates Rust items for Kiwi schema definitions.

Generates Rustler NIF entrypoint items for Kiwi decoders.

Builds Rusty-Elixir expressions for decoding Kiwi fields in generated Rustler code.

Naming helpers for Rustler decoder code generated from Kiwi schemas.

Selects schema definitions and their dependencies for Rustler generation.

Static RustQ splice fragments required by generated Rustler decoders.

Parsed Kiwi schema.

Encoder and decoder for Kiwi's compact binary schema format.

Encodes and decodes type references in Kiwi's compact binary schema format.

Kiwi enum definition.

Kiwi enum variant.

Kiwi struct or message field.

Kiwi message definition.

Parser for .kiwi schema text.

Kiwi struct definition.

Source token with line and column information for schema parse errors.

Tokenizes .kiwi schema text with source positions.

Validates parsed Kiwi schemas after grammar parsing.

Interpreter for parsed Kiwi schemas without generated modules.

Hook behaviour for custom Kiwi encode/decode normalization.

Kiwi primitive wire encoders and decoders.

Kiwi variable-length 32-bit float wire encoding.

Kiwi integer wire encoding.

Mix Tasks

Generates Elixir modules from a .kiwi schema.