0.0.4 • Published 10 years ago

chainme v0.0.4

Weekly downloads
3
License
ISC
Repository
github
Last release
10 years ago

Another async chaining library

Very similar to https://github.com/vvo/chainit, but with a simpler implementation leveraging deferreds.

Basically -- after you build a class, Car, pass it to ChainMe and it will return the same class, but now all of your prototype methods will have the ability to be chained, even if they're asynchronous methods! How do the async methods work? Every prototype method must take an extra parameter, done, which is a method that must be called to signify the asynchronous method has completed.

Installation

npm install chainme

Usage

I wouldn't actually use this.. it was just an exercise in building such a library.

var ChainMe = require('chainme');

// This is the class we will convert to a chained API
var Car = function() { };

Car.prototype.drive = function(ms, done) {
    console.log("here we go!");
    setTimeout(function(){
        console.log("That took " + ms + " milliseconds!");
        done();
    }, ms)
};

Car.prototype.stop = function(done) {
    Ajax.post('/car/stop', function(resp) {
        console.log("car came to a stop!");
        done();
    })
};


var ChainedCar = ChainMe(Car);


var c = new ChainedCar();

c.drive(2000).stop().drive(1000).stop();
0.0.4

10 years ago

0.0.3

10 years ago

0.0.2

10 years ago

0.0.1

10 years ago