View Source Ash.Reactor.Dsl.AshStep (ash v3.4.1)

The ash_step DSL module.

See Reactor.step.

Summary

Types

@type t() :: %Ash.Reactor.Dsl.AshStep{
  __identifier__: any(),
  arguments: [Reactor.Dsl.Argument.t()],
  async?: boolean(),
  compensate:
    nil
    | (any(), Reactor.inputs(), Reactor.context() ->
         :ok | :retry | {:continue, any()}),
  impl: nil | module() | {module(), keyword()},
  max_retries: non_neg_integer() | :infinity,
  name: atom(),
  run:
    nil
    | (Reactor.inputs(), Reactor.context() ->
         {:ok, any()}
         | {:ok, any(), [Reactor.Step.t()]}
         | {:halt | :error, any()}),
  transform: nil | (any() -> any()),
  undo:
    nil
    | (any(), Reactor.inputs(), Reactor.context() ->
         :ok | :retry | {:error, any()})
}