Search documentation of ash

# View Source Ash.Reactor.Dsl.AshStep (ash v3.4.30)

The ash_step DSL module.

See `Reactor.step`.

# Summary

## Types

t()

# Types

Link to this type

# t()

View Source

    @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()})
    }