prescription

A functional reactive programming framework

Prescription

Functional reactive programming in javascript. You can kind of think of it as streams with super powers. It's a paradigm that encourages the developer to structure everything as a stream. Once everything is a stream, you get a level of composition that would be otherwise troublesome to get correct in a simple way.

Example

var Prescription = require("./src/index");
 
// Create an Observable (read stream) 
var observable = new Prescription.Observable();
 
// This function applies a bunch of Transformers to the supplied 
// Observable and returns a new Observable 
var queryStream = function(observable) {
    return observable.where(function(item) { return item % 2 == 0; })
                     .skip(30)
                     .take(15)
                     .map(function(item) { return item * 2; })
                     .throttle(300);
};
 
// Apply the function to our Observable and subscribe to the new Observable 
queryStream(observable).subscribe(function(data) { console.log(data); });
 
// Write some data to the Observable 
for (var i = 0; i < 100; i++) {
    observable.write(i);
}