Main encoder for TOON format.
This module coordinates the encoding process, dispatching to specialized encoders based on the type of value being encoded.
Summary
Functions
Encodes Elixir data to TOON format string.
Encodes Elixir data to TOON format string, raising on error.
Functions
@spec encode( ToonEx.Types.input(), keyword() ) :: {:ok, String.t()} | {:error, ToonEx.EncodeError.t()}
Encodes Elixir data to TOON format string.
Options
:indent- Number of spaces for indentation (default: 2):delimiter- Delimiter for array values: "," | "\t" | "|" (default: ","):length_marker- Prefix for array length marker (default: nil)
Examples
iex> ToonEx.Encode.encode(%{"name" => "Alice", "age" => 30})
{:ok, "age: 30\nname: Alice"}
iex> ToonEx.Encode.encode(%{"tags" => ["elixir", "toon"]})
{:ok, "tags[2]: elixir,toon"}
iex> ToonEx.Encode.encode(nil)
{:ok, "null"}
iex> ToonEx.Encode.encode(%{"name" => "Alice"}, indent: 4)
{:ok, "name: Alice"}
@spec encode!( ToonEx.Types.input(), keyword() ) :: String.t()
Encodes Elixir data to TOON format string, raising on error.
Examples
iex> ToonEx.Encode.encode!(%{"name" => "Alice"})
"name: Alice"
iex> ToonEx.Encode.encode!(%{"tags" => ["a", "b"]})
"tags[2]: a,b"
@spec encode_to_iodata!( ToonEx.Types.input(), keyword() ) :: iodata()