# toon_ex v1.1.0 - Table of Contents TOON encoder/decoder for Elixir, TOON <--> JSON converter, supported for Phoenix Channels. ## Pages - [ToonEx](readme.md) - [LICENSE](license.md) ## Modules - [ToonEx](ToonEx.md): TOON (Token-Oriented Object Notation) encoder and decoder for Elixir. - [ToonEx.Decode.Codegen](ToonEx.Decode.Codegen.md): Compile-time code generation utilities for the TOON decoder. - [ToonEx.Decode.Fast.Decoder](ToonEx.Decode.Fast.Decoder.md): High-performance TOON decoder using pure binary pattern matching. - [ToonEx.Decode.StructuralParser](ToonEx.Decode.StructuralParser.md): Structural parser for TOON format that handles indentation-based nesting. - [ToonEx.Decode.StructuralParserV2](ToonEx.Decode.StructuralParserV2.md): Structural parser for TOON format that handles indentation-based nesting. - [ToonEx.Fragment](ToonEx.Fragment.md): Provides a way to inject an already-encoded TOON structure into a to-be-encoded structure in optimized fashion. - [ToonEx.Helpers](ToonEx.Helpers.md): Provides macro facilities for partial compile-time encoding of TOON. - Encoding - [ToonEx.Encode](ToonEx.Encode.md): Main encoder for TOON format. - [ToonEx.Encode.Arrays](ToonEx.Encode.Arrays.md): Encoding of TOON arrays in three formats: - Inline: for primitive arrays (e.g., tags[2]: reading,gaming) - Tabular: for uniform object arrays (e.g., users[2]{name,age}: Alice,30 / Bob,25) - List: for mixed or non-uniform arrays - [ToonEx.Encode.Objects](ToonEx.Encode.Objects.md): Encoding of TOON objects (maps). - [ToonEx.Encode.Options](ToonEx.Encode.Options.md): Validation and normalization of encoding options. - [ToonEx.Encode.Primitives](ToonEx.Encode.Primitives.md): Encoding of primitive TOON values (nil, boolean, number, string). - [ToonEx.Encode.Strings](ToonEx.Encode.Strings.md): String encoding utilities for TOON format. - [ToonEx.Encode.Writer](ToonEx.Encode.Writer.md) - [ToonEx.Encoder](ToonEx.Encoder.md): Protocol for encoding custom data structures to TOON format. - Decoding - [ToonEx.Decode](ToonEx.Decode.md): Main decoder for TOON format. - [ToonEx.Decode.Options](ToonEx.Decode.Options.md): Validation and normalization of decoding options. - [ToonEx.Decode.Parser](ToonEx.Decode.Parser.md): NimbleParsec-based parser for TOON format. - Convertors - [ToonEx.JSON](ToonEx.JSON.md): Transforms between JSON and TOON format. - ImplHelpers - [ToonEx.ToonImplHelper](ToonEx.ToonImplHelper.md) - Phoenix - [ToonEx.Phoenix.Serializer](ToonEx.Phoenix.Serializer.md): Satisfies the `PhoenixClient` JSON-parser contract, which requires `encode/2`, `encode!/2`, `decode/2`, `decode!/2` and `encode_to_iodata!`. The optional `opts` argument is accepted but intentionally ignored so that this module can be dropped in wherever a standard JSON library is expected. - Shared Types - [ToonEx.Constants](ToonEx.Constants.md): Constants used throughout the TOON encoder and decoder. - [ToonEx.Types](ToonEx.Types.md): Type definitions for TOON encoder and decoder. - Errors - [ToonEx.DecodeError](ToonEx.DecodeError.md): Exception raised when decoding fails. - [ToonEx.EncodeError](ToonEx.EncodeError.md): Exception raised when encoding fails. - Exceptions - [ToonEx.Options.Validator](ToonEx.Options.Validator.md): Pure Elixir options validator to replace NimbleOptions.