transition method
Perform transition by emitting event
.
Implementation
Transition<STATE, EVENT, SIDE_EFFECT> transition(EVENT event) {
final fromState = _currentState;
final transition = _getTransition(fromState, event);
transition.match((v) {
var onStateExit = _getOnStateExit(fromState);
onStateExit?.call(fromState);
_currentState = v.toState;
var onStateEnter = _getOnStateEnter(v.toState);
onStateEnter?.call(v.toState);
_controller.add(_currentState);
for (TransitionListener<STATE, EVENT, SIDE_EFFECT> onTransition
in _graph.onTransitionListeners) {
onTransition(transition);
}
}, ignore);
return transition;
}