Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/lucywang000/clj-statecharts

State Machine and StateCharts for Clojure(Script)
https://github.com/lucywang000/clj-statecharts

clojure clojurescript fsm statecharts statemachine

Last synced: 3 days ago
JSON representation

State Machine and StateCharts for Clojure(Script)

Awesome Lists containing this project

README

        

State Machine and StateCharts for Clojure(Script). Inspired by [XState](https://github.com/davidkpiano/xstate).

[![Clojars Project](https://img.shields.io/clojars/v/clj-statecharts.svg)](https://clojars.org/clj-statecharts)
![build](https://github.com/lucywang000/clj-statecharts/actions/workflows/build.yml/badge.svg?branch=master)
[![project chat](https://img.shields.io/badge/slack-join_chat-brightgreen.svg)](https://clojurians.slack.com/messages/C01C7RJA81M)

## Features

Most features of statecharts are supported:

* Declarative statecharts definition
* Hierarchical states (a.k.a compound or nested states)
* Parallel states (a.k.a concurrent states or orthogonal regions)
* Transition actions & Entry/Exit actions
* Guarded transitions
* Delayed transitions
* First-class Re-frame Integration

## Documentation

Please visit https://lucywang000.github.io/clj-statecharts/ for the documentation.

## Related Projects

- [Statecharts 101](https://statecharts.github.io/)
- [XState](https://github.com/davidkpiano/xstate), which inspired this project

## Articles & Show Cases

* [Using clj-statecharts to Manage Character Animations](https://doughamil.github.io/gamedev/2021/03/24/statecharts-for-animation.html)

## License

Copyright © 2020-2021 Lucy Wang

Distributed under the Eclipse Public License either version 1.0 or (at
your option) any later version.