Zero-cost state-machine library for robust, testable and portable user interfaces (most machines compile ~1-2KB)
Google Chrome has finished reviewing the devtool, available for download here: https://chrome.google.com/webstore/search/courtesan
Preliminary stuff (not much in terms of screenshots, icons and so on) but the functionality is there.
Can be used with Kingly through the settings parameter of Kingly createStateMachine
machine factory. Details in the documentation
Also removed deprecated tests, still lots of unused code to clean in the source code. That is not a priority though as it is now possible to write the graph with the yed graph editor, then trace it with the devtool, and compile it down to vanilla ES5 (maybe ES3, not sure) JS for use in production. Code quality of the library is thus not a key feature.
Deprecated:
Pending decision:
This new release adds the tracing functionality that works in connection with a dev tool that is a Chrome extension (pending review by google, which may take two weeks).
The devtool allows to see inputs that enter the machine and outputs that gets out. Additionally, intermediate events allow to trace the machine as it realizeds it computation. The state of the machine can be browsed through with the tab panel on the right. The tab panel also allow to look up in detail miscellaneous details about the message that was sent to the dev tool.
The library is now named Kingly. Other changes:
COMMAND_RENDER
is now exported by Kingly. This was exported by react-state-driven and vue-state-driven previously and created a undesired dependency with React or Vue.makeWebComponentFromFsm
has changed. The eventHandler
must now have a Subject interface (similar to Rx.Subject
)updateState
is now passed as a part of the machine definition rather than in settings
Biggest changes:
yield
disappears. The machine is now just a stateful functionAlso miscellaneous bug fixes.