Flexflow.Process behaviour (flexflow v0.1.3) View Source

Process

Link to this section Summary

Types

Init result

Process state

t()

Callbacks

Invoked when process is started, after nodes and transitions init, see Elixir.Flexflow.Process.init/1

Module name

Link to this section Types

Specs

result() :: {:ok, t()} | {:error, term()}

Init result

Specs

state()

Process state

[:created, :initial, :active, :suspended, :terminated, :completed]

Specs

t() :: %Flexflow.Process{
  __traversal__: term(),
  args: Flexflow.process_args(),
  context: Flexflow.Context.t(),
  events: [Flexflow.Event.t()],
  graph: Graph.t(),
  id: Flexflow.id() | nil,
  module: module(),
  name: Flexflow.name(),
  nodes: Flexflow.nodes(),
  opts: keyword(),
  state: state(),
  transitions: Flexflow.transitions()
}

Link to this section Functions

Link to this macro

defnode(name, opts \\ [])

View Source (macro)
Link to this macro

deftransition(module_or_name, tuple, opts \\ [])

View Source (macro)

Specs

init(t()) :: result()
Link to this function

new(module, nodes, edge_list)

View Source

Specs

Specs

next(t()) :: result()
Link to this function

start(module, id, args \\ %{})

View Source

Specs

Link to this section Callbacks

Specs

init(t() | {:error, term()}) :: result()

Invoked when process is started, after nodes and transitions init, see Elixir.Flexflow.Process.init/1

Specs

name() :: Flexflow.name()

Module name