in src/asl-utils/asl/asl.ts [127:154]
function getAllChildrenOfState(state: StateDefinition | Asl): StateId[] {
const result: StateId[] = []
if ('States' in state && state.States) {
for (const childId of Object.keys(state.States)) {
result.push(childId)
const childState: StateDefinition = state.States[childId]
result.push(...getAllChildrenOfState(childState))
}
}
if ('Branches' in state && state.Branches) {
// parallel
for (const branch of state.Branches) {
result.push(...getAllChildrenOfState(branch))
}
}
if ('Iterator' in state && state.Iterator) {
result.push(...getAllChildrenOfState(state.Iterator))
}
if ('ItemProcessor' in state && state.ItemProcessor) {
result.push(...getAllChildrenOfState(state.ItemProcessor))
}
return result
}