A Finite State Machine using Observables
See Stackblitz for an interactive demo.
See our documentation website for API docs.
See our API Docs for details on all errors.
Install using npm.
npm i @appsweet-co/stately-machine
Import the class directly into your code.
import { StatelyMachine } from "@appsweet-co/stately-machine";
See Stackblitz for details on how to set up a new machine.
Stately Machine is a Finite State Machine for TypeScript. It uses Observables instead of callbacks to manage state events.
Use an Enum to store states. We recommend String Enums for easy iteration using JavaScript.
You can also set an optional context made of any key-value pairs you need. Update and access the context as needed.
Stately Machine makes no assumptions about what you want to do when an error happens. You must subscribe to the error observables to get details about each error.
Stately Machine also makes no assumptions about what you want to do for a successful change in state. You must subscribe to the success observables to get details about each state change.