Get unlimited public & private packages + team-based management with npm Teams.Learn more »

fsm-base

0.5.2 • Public • Published

view on npm npm module downloads Build Status Dependency Status js-standard-style

fsm-base

const StateMachine = require('fsm-base')
 
class Stateful extends StateMachine {
  constructor () {
    super([
      { from: undefined, to: 'one' },
      { from: 'one', to: 'two' },
      { from: 'two', to: 'three' },
      { from: [ 'one', 'three' ], to: 'four'}
    ])
  }
}
const instance = new Stateful()
instance.state = 'one'  // valid state change
instance.state = 'two'  // valid state change
instance.state = 'four' // throws - invalid state change

fsm-base

StateMachine ⇐ Emitter

Kind: Exported class
Extends: Emitter

stateMachine.state : string

The current state

Kind: instance property of StateMachine
Throws:

  • INVALID_MOVE if an invalid move made

stateMachine.setState(state)

Set the current state. The second arg onward will be sent as event args.

Kind: instance method of StateMachine

Param Type
state string

"state" (state, prev)

fired on every state change

Kind: event emitted by StateMachine

Param Type Description
state string the new state
prev string the previous state

"<state value>"

fired on every state change

Kind: event emitted by StateMachine


© 2015-19 Lloyd Brookes <75pound@gmail.com>. Documented by jsdoc-to-markdown.

Install

npm i fsm-base

DownloadsWeekly Downloads

183

Version

0.5.2

License

MIT

Unpacked Size

26.3 kB

Total Files

7

Last publish

Collaborators

  • avatar