Packages
reactor
0.15.0
1.0.2
1.0.1
1.0.0
0.17.0
0.16.0
0.15.6
0.15.5
0.15.4
0.15.3
0.15.2
0.15.1
0.15.0
0.14.0
0.13.3
0.13.2
0.13.1
0.13.0
0.12.1
0.12.0
0.11.0
0.10.3
0.10.2
0.10.1
0.10.0
0.9.1
0.9.0
0.8.5
0.8.4
0.8.3
0.8.2
0.8.1
0.8.0
0.7.0
0.6.0
0.5.2
0.5.1
0.5.0
0.4.1
0.4.0
0.3.5
0.3.4
0.3.3
0.3.2
0.3.1
0.3.0
0.2.4
0.2.3
0.2.2
0.2.1
0.2.0
0.1.0
An asynchronous, graph-based execution engine
Current section
Files
Jump to
Current section
Files
lib/reactor/step/transform/mermaid.ex
defmodule Reactor.Step.Transform.Mermaid do
@moduledoc """
Mermaid rendering for transform steps.
"""
alias Reactor.Mermaid.{Node, Utils}
import Utils
@doc false
def to_mermaid(step, fun, options) do
id = mermaid_id({options[:reactor_id], step.name}, :step)
name =
case step.name do
{:__reactor__, :transform, :input, input} ->
"Transform input #{name(input)}"
{:__reactor__, :transform, argument_name, _step_name} ->
"Transform argument #{name(argument_name)}"
other ->
name(other)
end
content =
if options[:describe?] do
[
id,
"[\"`**",
name,
"**\n_",
md_escape(inspect(fun)),
"_`\"]\n"
]
else
[id, "[", name, "]\n"]
end
{:ok, %Node{id: id, pre: content}}
end
end