Package Exports
- robot3
- robot3/machine.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (robot3) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
🤖 Robot
A small functional and immutable Finite State Machine library. Using state machines for your components brings the declarative programming approach to application state.
See thisrobot.life 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();
});📚 Documentation
- Please star the repository on GitHub.
- File an issue if you find a bug. Or better yet...
- Submit a pull request to contribute.
Testing
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.
Integrations
Robot works with a variety of UI libraries, and includes integrations for React, Preact, Haunted, and more. See the integrations page to learn more.
License
BSD-2-Clause