getTransitions method

  1. @visibleForOverriding
Iterable<Transition<T>> getTransitions(
  1. ExecutionStep<T> step,
  2. String? anEvent,
  3. Duration? elapsedTime
)

Locates the transitions used by execute.

Implementation

@visibleForOverriding
Iterable<Transition<T>> getTransitions(
        ExecutionStep<T> step, String? anEvent, Duration? elapsedTime) =>
    [
      // TODO determine when we should filter for atomic states per the spec
      for (var s in step.activeStates) // removing: .where((s) => s.isAtomic))
        s.transitionFor(
            event: anEvent, elapsedTime: elapsedTime, context: step.context)
    ].where((t) => t != null).cast<Transition<T>>();