Renderer for state diagrams.
State diagrams show states as rounded boxes with transitions
between them. Special [*] markers represent start and end states.
Example
alias Boxart.Render.StateDiagram
alias StateDiagram.{State, Transition, StateDiagram}
diagram = %StateDiagram{
states: [
%State{id: "start", type: :start},
%State{id: "Idle"},
%State{id: "Processing"},
%State{id: "Done"},
%State{id: "end", type: :end}
],
transitions: [
%Transition{from: "start", to: "Idle"},
%Transition{from: "Idle", to: "Processing", label: "begin"},
%Transition{from: "Processing", to: "Done", label: "complete"},
%Transition{from: "Done", to: "end"}
]
}
StateDiagram.render(diagram) |> IO.puts()
Summary
Functions
Renders a state diagram as a string.
Functions
@spec render( Boxart.Render.StateDiagram.StateDiagram.t(), keyword() ) :: String.t()
Renders a state diagram as a string.
Options
:charset—:unicode(default) or:ascii:direction—:td(default) or:lr