Fairmont
Fairmont is a family of JavaScript libraries for functional reactive programming.
Fairmont takes full advantage of ES6+ features like iterators (including async iterators), generators, and promises.
Inspired by libraries like Underscore and many others, Fairmont features include:
- reactive programming support through async iterators
- lazy evaluation on collection operations via iterators
- core functional operations, like currying and composition
- bridge functions for integrating with OOP-based libraries
- common file and stream based operations
- streams and event emitters modeled as asynchronous iterators
- seamless integration between synchronous and asynchronous operations
- … and more!
Components
This is the main library for Fairmont.
It includes/requires several others:
Examples
You can get a feel for what Fairmont can do for you by checking out the examples.
Reference
Fairmont uses literate programming, so each source file doubles as documentation. Please see the source directory for more.
Status
Fairmont is still under heavy development and is beta
quality, meaning you should probably not use it in your production code.
Roadmap
You can get an idea of what we're planning by looking at the issues list. If you want something that isn't there, and you think it would be a good addition, please open a ticket.