getEffectiveTargetStates method

  1. @visibleForOverriding
Set<State<T>> getEffectiveTargetStates(
  1. dynamic transition,
  2. History<T> history
)

All targets of 'transition' after replacing any history states.

Implementation

@visibleForOverriding
Set<State<T>> getEffectiveTargetStates(transition, History<T> history) {
  var targets = <State<T>>{};
  for (var s in transition.targetStates) {
    if (s is HistoryState<T>) {
      if (history.contains(s)) {
        targets.addAll(Set.of(history[s]!));
      } else {
        targets.addAll(getEffectiveTargetStates(s.transition, history));
      }
    } else {
      targets.add(s);
    }
  }
  return targets;
}