Packages
reactor
0.15.2
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/dsl/build.ex
defprotocol Reactor.Dsl.Build do
@moduledoc """
A protocol which DSL entities must implement.
"""
@doc """
Build an entity into a Reactor.
This function is called during conversion of a DSL module into a Reactor
struct. This allows extensions to specify the behaviour of how they want
to alter the structure of the Reactor.
"""
@spec build(t, Reactor.t()) :: {:ok, Reactor.t()} | {:error, any}
def build(entity, reactor)
@doc """
Perform any after-compilation verification that is needed to make the entity
work.
See `Spark.Dsl.Verifier` for more information.
"""
@spec verify(t, Spark.Dsl.t()) :: :ok | {:error, any}
def verify(entity, dsl_state)
end