async-fsm.js
v3.0.0
Published
Readme
async-fsm.js
a finite state machine implementation
Quick Start
npm i async-fsm.jsTest
npm run testFeatures
- asynchronous onEnter, onLeave hooks
- asynchronous check if operation is available
- available operations
- comprehensive error checking
Example
const { Fsm } = require('async-fsm.js')
const fsm = new Fsm()
.addState(new State("started")
.routes({
finish: "ended",
})
)
.addState("ended");
const fsmInstance = fsm.createInstance("started").bundle({ foo: "abc" });
await fsmInstance.perform('finish');
expect(fsmInstance.state.name).toBe('ended');please check test for more examples.
