Bidirectional Loop Workflow
edge-cases
This workflow models circular references between nodes in both directions.
edge-cases
This workflow models labels that include leading and trailing spaces.
laneA { # Lanea
n1: circle label:"Start Extra Whitespace"
n5: rectangle label:"Extra Whitespace step 5"
n9: rectangle label:"Extra Whitespace step 9"
n13: rectangle label:"Extra Whitespace step 13"
n1.handle(bottom) -> laneB.n2.handle(top)
n5.handle(bottom) -> laneB.n6.handle(top)
n9.handle(bottom) -> laneB.n10.handle(top) [label="Valid"]
n13.handle(bottom) -> laneB.n14.handle(top)
}
laneB { # Laneb
n2: rectangle label:" Label with spaces "
n6: rectangle label:"Extra Whitespace step 6"
n10: rectangle label:"Extra Whitespace step 10"
n14: rectangle label:"Extra Whitespace step 14"
n2.handle(bottom) -> laneC.n3.handle(top)
n6.handle(bottom) -> laneC.n7.handle(top) [label="Success"]
n10.handle(bottom) -> laneC.n11.handle(top)
n14.handle(bottom) -> laneC.n15.handle(top)
}
laneC { # Lanec
n3: rectangle label:"Extra Whitespace step 3"
n7: diamond label:"Extra Whitespace step 7"
n11: rectangle label:"Extra Whitespace step 11"
n15: diamond label:"Extra Whitespace step 15"
n3.handle(bottom) -> laneD.n4.handle(top) [label="Processed"]
n7.handle(bottom) -> laneD.n8.handle(top)
n7.handle(right) -> laneB.n6.handle(right) [label="Retry/Rejected"]
n11.handle(bottom) -> laneD.n12.handle(top)
n15.handle(bottom) -> laneD.n16.handle(top) [label="Done"]
n15.handle(right) -> laneB.n14.handle(right) [label="Retry/Rejected"]
}
laneD { # Laned
n4: rectangle label:"Extra Whitespace step 4"
n8: rectangle label:"Extra Whitespace step 8"
n12: rectangle label:"Extra Whitespace step 12"
n16: circle label:"End Extra Whitespace"
n4.handle(bottom) -> laneA.n5.handle(top)
n8.handle(bottom) -> laneA.n9.handle(top)
n12.handle(bottom) -> laneA.n13.handle(top) [label="Next"]
}edge-cases
This workflow models circular references between nodes in both directions.
edge-cases
This workflow models lanes that are conceptually nested within each other.
edge-cases
This workflow models the same node IDs reused in different lanes.