transitionWithSideEffect<State, Event, InState extends State, RealEvent extends Event> function
StateTransitionEntry<State, Event>
transitionWithSideEffect<State, Event, InState extends State, RealEvent extends Event>(
- StateTransition<
InState, RealEvent, State> transition, - SideEffect<
InState, RealEvent> sideEffect
Makes StateTransitionEntry with both transition
and sideEffect
.
Implementation
StateTransitionEntry<State, Event> transitionWithSideEffect<State, Event,
InState extends State, RealEvent extends Event>(
StateTransition<InState, RealEvent, State> transition,
SideEffect<InState, RealEvent> sideEffect,
) {
return StateTransitionEntry<State, Event>(
transition: (state, event) =>
transition(state as InState, event as RealEvent),
sideEffect: (state, event) =>
sideEffect(state as InState, event as RealEvent),
);
}