Skip to content

Appsweet-co/stately-machine

Repository files navigation

Logo

Stately Machine

A Finite State Machine using Observables


Playground

See Stackblitz for an interactive demo.

API Docs

See our documentation website for API docs.

Error Types

See our API Docs for details on all errors.

Quick Start

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.

More Info

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.