min-state
v1.2.0
Published
Simple finite state machine library for javascript
Downloads
3
Readme
min-state
[![NPM version][npm-image]][npm-url] [![Downloads][downloads-image]][downloads-url] [![Dependency Status][david-image]][david-url] [npm-image]: https://img.shields.io/npm/v/min-state.svg?style=flat-square [npm-url]: https://npmjs.org/package/min-state [downloads-image]: http://img.shields.io/npm/dm/min-state.svg?style=flat-square [downloads-url]: https://npmjs.org/package/min-state [david-image]: http://img.shields.io/david/chunpu/min-state.svg?style=flat-square [david-url]: https://david-dm.org/chunpu/min-state
Simple finite state machine library for javascript
Installation
npm i min-state
Api
Constructor
var state = new State({
start: 'idle', // default state name
end: 'ended' // if set, can never be set again
})
method
state.is(stateName)
return true if current state name is valstate.set(stateName)
set state current statestate.get()
get state current statestate.setEvent(stateName, from, to)
set event which can only transition from stateA to stateBstate.setEvents({stateName: {from: stateA, to: stateB}})
multiply set event
use '*' for from which can transition from any state
events
enter, state
exit, state
statechange, {from: stateA, to: stateB}
invalid, eventName
example
check example.js
for example