node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »



Build Status Coverage Status Dependencies

browser support

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.


var Observable = require("prescription").Observable;
// Create an Observable (read stream) 
var observable = new 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; })
                     .map(function(item) { return item * 2; })
// 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++) {

Recommended Reading