@corey.burrows/statechart
v0.3.0
Published
Simple Stateless Statechart
Downloads
563
Maintainers
Readme
Statechart
Statechart
is a TypeScript library for building Harel Statecharts.
Installation
npm install @corey.burrows/statechart
Basic Usage
import Statechart from '@corey.burrows/statechart';
type Ctx {}
type Evt = {type: 'toggle'};
const toggle = new Statechart<Ctx, Evt>({}, s => {
s.state('on', s => {
s.on('toggle', '../off');
});
s.state('off', s => {
s.on('toggle', '../on');
});
});
let state = toggle.initialState;
console.log(state.paths); // ['/on']
state = toggle.send(state, {type: 'toggle'});
console.log(state.paths); // ['/off']
state = toggle.send(state, {type: 'toggle'});
console.log(state.paths); // ['/on']
Documentation
Related Projects
- useStatechart
- Use a statechart to manage a React component's state
License
Statechart is MIT licensed.