All Projects → sw-yx → cli-state-machine

sw-yx / cli-state-machine

Licence: other
Componentizing and Self-Healing Business Logic with xState Machine

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language

CLI State Machine

High level Concepts

the state machine is based on actions, which are based on states.

Actions consist of:

  • beforeState: before execute, required State for the Action to be valid
  • execute: a function to execute once prereqs are valid
  • afterState: post execute, what State the action leads to.
  • repeatable: if true, a boolean

States have:

  • getValues: a function that runs (optionally using the config) and gets values to work with
  • asserts: a function that runs on the result of getValue and returns a boolean.

We can run assertions on the requirements at any time. Users should try to get their data from getters instead of directly accessing so that they don't run into inconsistent states and fail. You can run validateState and get back a ValidatedState with two extra fields: value and isValid, for easier coding without excessive execution.

check the comments on src/types.ts for more detailed info.

TSDX Bootstrap

This project was bootstrapped with TSDX.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].