Minimal behaviour for reactor step modules invoked by Ash.Reactor.AshStep.
Step modules passed via ash_step name, impl: MyStep are called through the
wrappers in this module so that return values are validated. The callbacks
mirror the interface expected by Reactor.Step (run/3, compensate/4, undo/4).
Summary
Types
Callbacks
@callback compensate(any(), Reactor.inputs(), Reactor.context(), keyword()) :: compensate_result()
@callback run(Reactor.inputs(), Reactor.context(), keyword()) :: run_result()
@callback undo(any(), Reactor.inputs(), Reactor.context(), keyword()) :: undo_result()