🤖 A functional, immutable Finite State Machine library
See the code
A small functional and immutable Finite State Machine library. Using state machines for your components brings the declarative programming approach to application state.
See regularhuman.dev for the main documentation.
import { createMachine, interpret, state, transition } from 'robot3';
let machine = createMachine({
off: state(
transition('toggle', 'on')
),
on: state(
transition('toggle', 'off')
)
});
const service = interpret(machine, () => {
render();
});
Tests are located in the test/ folder. Load test/test.html in your browser of choice with any HTTP server you like (I use http-server). Tests are written in QUnit and are simple to understand.
Robot works with a variety of UI libraries, and includes integrations for React, Preact, Haunted, and more. See the documentation to learn more.
BSD-2-Clause
(top 24 of 30)
2,324 followers · starred Sep 2019
1,026 followers · starred Jan 2022
218 followers · starred Sep 2019
1,853 followers · starred Jan 2022
🤖 A functional, immutable Finite State Machine library
See the code
A small functional and immutable Finite State Machine library. Using state machines for your components brings the declarative programming approach to application state.
See regularhuman.dev for the main documentation.
import { createMachine, interpret, state, transition } from 'robot3';
let machine = createMachine({
off: state(
transition('toggle', 'on')
),
on: state(
transition('toggle', 'off')
)
});
const service = interpret(machine, () => {
render();
});
Tests are located in the test/ folder. Load test/test.html in your browser of choice with any HTTP server you like (I use http-server). Tests are written in QUnit and are simple to understand.
Robot works with a variety of UI libraries, and includes integrations for React, Preact, Haunted, and more. See the documentation to learn more.
BSD-2-Clause
(top 24 of 30)
2,324 followers · starred Sep 2019
1,026 followers · starred Jan 2022
218 followers · starred Sep 2019
1,853 followers · starred Jan 2022