fsm2dot

2.2.2 • Public • Published

fsm2dot

Inspects a file containing a finite state machine defined using fsm-as-promised or javascript-state-machine libraries, and outputs the correspondent UML diagram using DOT graph representation.

NPM Version NPM License Build Status Coverage Status

Features

The following finite state machine:

/*
 * the file must contain
 * var StateMachine = require('fsm-as-promised');
 * or
 * var StateMachine = require('javascript-state-machine');
 */
 
var fsm = StateMachine.create({
  initial: 'start',
  final: 'stop',
  events: [
    { name: 'init', from: 'start', to: 'Ready' },
    { name: 'proceed', from: 'Ready', to: 'Steady' },
    { name: 'end', from: 'Steady', to: 'stop' },
 
    { name: 'test', from: 'Ready', to: 'Ready' }
  ],
  callbacks: {
    onReady: function () {},
    onleaveReady: function LeaveReady() {},
    onSteady: onS,
    ontest: function Activity() {}
  }
});
 
function onS() {}

will be converted to a DOT graph that can be visialized like this:

Image

Command Line

Install node, then:

$ npm install -g fsm2dot

and run:

$ fsm2dot --help

Test

$ npm install -g mocha
$ npm test

License

MIT

Dependencies (7)

Dev Dependencies (0)

    Package Sidebar

    Install

    npm i fsm2dot

    Weekly Downloads

    15

    Version

    2.2.2

    License

    MIT

    Unpacked Size

    60.3 kB

    Total Files

    78

    Last publish

    Collaborators

    • vstirbu