LemonCore.RunPhaseGraph (lemon_core v0.1.0)

View Source

Legal canonical run phase transitions across router and gateway boundaries.

Summary

Functions

allowed_next(phase)

@spec allowed_next(LemonCore.RunPhase.t()) :: [LemonCore.RunPhase.t()]

transition(from, to)

@spec transition(LemonCore.RunPhase.t(), LemonCore.RunPhase.t()) ::
  :ok
  | {:error,
     {:invalid_transition, LemonCore.RunPhase.t(), LemonCore.RunPhase.t()}}

valid_transition?(from, to)

@spec valid_transition?(LemonCore.RunPhase.t(), LemonCore.RunPhase.t()) :: boolean()