Mau.BlockProcessor (mau v0.8.0)

View Source

Processes template AST to convert individual conditional tags into block structures.

This module takes a flat AST (list of nodes) and groups conditional tags (if/elsif/else/endif) into proper block structures for rendering.

Summary

Functions

Processes an AST to convert individual conditional tags into block structures.

Functions

process_blocks(nodes)

Processes an AST to convert individual conditional tags into block structures.

Examples

iex> nodes = [
...>   {:tag, [:if, {:literal, [true], []}], []},
...>   {:text, ["Hello"], []},
...>   {:tag, [:endif], []}
...> ]
iex> Mau.BlockProcessor.process_blocks(nodes)
[
  {:conditional_block, [
    if_branch: {true, [{:text, ["Hello"], []}]},
    elsif_branches: [],
    else_branch: nil
  ], []}
]