graph property

Map<Type, Map<Type, StateTransitionEntry<State, Event>>> graph
final

Map defines State to list of available Events. Each entry refers to transition.

Example:

var graph = StateGraph<Event, State>({
  State1: {
    GoTo2Event: transition((state, event) => State2()),
    GoTo3Event: transition((state, event) => State3()),
  },
  State2: {
    GoTo3Event: transitionWithSideEffect(
       // Add parameter types to use state and event values.
       (State2 state, GoTo3Event event) => State3(),
       (State2 state, GoTo3Event event) => print("Transition made from State2!"),
    ),
  },
  State3: {
    GoTo3Event: noTransition(
       (state, event) => print("Already in state3!"),
    ),
  },
});

Implementation

final Map<Type, Map<Type, StateTransitionEntry<State, Event>>> graph;