Boxart.Render.StateDiagram (Boxart v0.3.1)

Copy Markdown View Source

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

render(diagram, opts \\ [])

Renders a state diagram as a string.

Options

  • :charset:unicode (default) or :ascii
  • :direction:td (default) or :lr