generateDiagram method
- String outputPath = 'diagram_fsm.md',
Generate a FSM state diagram _MermaidStateDiagram
.
Check on https://mermaid.js.org/intro/ to view the diagram generated.
If you are using vscode, you can download the mermaid extension.
Output to mermaid diagram at outputPath
.
Implementation
void generateDiagram({String outputPath = 'diagram_fsm.md'}) {
final figure = _MermaidStateDiagram(outputPath: outputPath)
..addStartState(resetState.toString());
for (final state in _states) {
for (final entry in state.events.entries) {
figure.addTransitions(
state.identifier.toString(),
entry.value.toString(),
entry.key.name,
);
}
if (state.defaultNextState != state.identifier) {
figure.addTransitions(
state.identifier.toString(),
state.defaultNextState.toString(),
'(default)',
);
}
}
figure.writeToFile();
}