A library that helps developing UI (e.g. Angular or React) components in a more functional style where UI logic is representing as a series of immutable state transitions.
- Tutorial
- React Demo (stackblitz.com)
- Angular Demo (stackblitz.com)
- Demo Application - you can find a realistic usage of the library in this ASP.Net demo application - SqGoods
- CHANGELOG
- Performance – the angular change detection will check only already evaluated properties
- Independence – the library does not actually depend on angular, so if you decided to move to another framework (e.g. Vue) you will be able to reuse your state logic
- Quality of reusable components – Angular allows having several input parameters which can be changed independently and maintaining all possible combinations is usually not very simple (ngOnInit, ngOnChange, property setters), so often developers take into consideration just common scenarios, which is not great when you develop reusable components. The library naturally simplifies handling different combinations of input parameters, since it implicitly creates a dependency graph over all state properties.