FSM is a finite state machine for Go. It is heavily based on two FSM implementations. Javascript Finite State Machine, and Fysom for Python. Visualize outputs a visualization of a FSM in Graphviz format. VisualizeForMermaidWithGraphType outputs a visualization of a FSM in Mermaid format as specified by the graphType. VisualizeWithType outputs a visualization of a FSM in the desired format. If the type is not given it defaults to GRAPHVIZ. Callback is a function type that callbacks should use. Event is the current event info as the callback happens. Callbacks is a shorthand for defining the callbacks in NewFSM. CanceledError is returned by FSM.Event() when a callback have canceled a transition. Async can be called in leave_<STATE> to do an asynchronous state transition.
Features
- FSM is licensed under Apache License 2.0
- Package fsm implements a finite state machine
- Based on Javascript Finite State Machine
- Based on Fysom for Python
- Visualize outputs a visualization of a FSM in Graphviz format
- VisualizeWithType outputs a visualization of a FSM in the desired format