ToonEx.Decode.StructuralParser (toon_ex v1.1.0)

Copy Markdown View Source

Structural parser for TOON format that handles indentation-based nesting.

This parser processes TOON input by analyzing indentation levels and building a hierarchical structure from the flat text representation.

Summary

Functions

Parses TOON input string into a structured format.

Types

line_info()

@type line_info() :: %{
  content: String.t(),
  indent: non_neg_integer(),
  line_number: non_neg_integer(),
  original: String.t()
}

parse_metadata()

@type parse_metadata() :: %{
  quoted_keys: MapSet.t(String.t()),
  key_order: [String.t()]
}

Functions

parse(input, opts)

@spec parse(String.t(), map()) ::
  {:ok, {term(), parse_metadata()}} | {:error, ToonEx.DecodeError.t()}

Parses TOON input string into a structured format.

Returns a tuple of {result, metadata} where metadata contains quoted_keys and key_order.