RootState<T> constructor

RootState<T>(
  1. dynamic id, {
  2. required Iterable<State<T>> substates,
  3. String? description,
  4. Iterable<Transition<T>> transitions = const [],
  5. Action? onEntry,
  6. Action? onExit,
  7. bool isFinal = false,
  8. bool isParallel = false,
  9. Transition<T>? initialTransition,
})

Create the root node.

Implementation

RootState(id,
    {required Iterable<State<T>> substates,
    String? description,
    Iterable<Transition<T>> transitions = const [],
    Action? onEntry,
    Action? onExit,
    bool isFinal = false,
    bool isParallel = false,
    Transition<T>? initialTransition})
    : assert(substates.isNotEmpty, 'At least one substate required'),
      super(id,
          substates: substates,
          transitions: transitions,
          description: description,
          onEntry: onEntry,
          onExit: onExit,
          isFinal: isFinal,
          isParallel: isParallel,
          initialTransition: initialTransition) {
  stateMap = {
    for (var s in toIterable.where((s1) => s1.id != null)) s.id!: s
  };
  depth = 0;
  order = 0;
  parent = null;
  resolveTransitions(stateMap);
  finishTree();
  size = toIterable.length;
}