AllSyntax

trait AllSyntax
class Object
trait Matchable
class Any
object all.type

Extensions

Inherited extensions

extension [F[_], C, S, E, R, N, T](app: Edomaton[F, RequestContext[C, S], R, E, N, T])
inline def execute(using NotGiven[T =:= Unit], ModelTC[S, E, R])(ctx: RequestContext[C, S])(implicit evidence$2: Monad[F]): F[EdomatonResult[S, E, R, N]]
Inherited from:
EdomatonSyntax
extension [F[_], C, S, E, R, N](app: Edomaton[F, RequestContext[C, S], R, E, N, Unit])
inline def execute(using m: ModelTC[S, E, R])(ctx: RequestContext[C, S])(implicit evidence$3: Monad[F]): F[EdomatonResult[S, E, R, N]]
Inherited from:
EdomatonSyntax
extension [R, T](self: ValidatedNec[R, T])
def toDecision[E]: Decision[R, E, T]
Inherited from:
ValidatedSyntax
extension [S, E, R](self: DomainModel[S, E, R])
def domain[C, N]: Domain[C, S, E, R, N]
Inherited from:
DomainSyntax
def dsl[C, N]: DomainDSL[C, S, E, R, N]
Inherited from:
DomainSyntax
extension [State, Event, Rejection](self: State)(using m: ModelTC[State, Event, Rejection])
def decide[T](f: State => Decision[Rejection, Event, T]): Decision[Rejection, Event, State]

Helps with deciding based on state and then applying the decision

Helps with deciding based on state and then applying the decision

Inherited from:
ModelSyntax
def handle[T](dec: Decision[Rejection, Event, T]): Decision[Rejection, Event, (State, T)]

like perform, but also returns initial output

like perform, but also returns initial output

Inherited from:
ModelSyntax
def perform[T](dec: Decision[Rejection, Event, T]): Decision[Rejection, Event, State]

Returns a decision that has applied this decision and folded state, so the output is new state

Returns a decision that has applied this decision and folded state, so the output is new state

Inherited from:
ModelSyntax