linkit

Method chaining everywhere


Keywords
utility
License
MIT
Install
bower install linkit

Documentation

linkit

Build Status

Method chaining is nice. Wouldn't it be nicer if it were everywhere?

With linkit, you can chain methods everywhere!

Turn this:

var app = express();

app.set('foo', 'bar');
app.set('abc', true);
app.set('baz', {});

into this:

var app = express();
var linkit = require('linkit');

linkit(app)
.set('foo', 'bar')
.set('abc', true)
.set('baz', {});

Or even this:

// It can be app.linkit() instead of linkit(app)
app.linkit()
.set('foo', 'bar')
.set('abc', true)
.set('baz', {});

linkit won't affect methods that return things:

// contents is still set to whatever fs.readFileSync returns
var contents = fs.linkit()
                 .readFile(someStuffHere)
                 .readFileSync(someOtherStuffHere);

linkit allows you to set and get properties normally:

foo.linkit()
.readFile(bar)
.writeFile(bar)
.abc = 'xyz'; // this will work fine

linkit doesn't change the actual object's methods:

app.linkit()
.set('foo', 'bar')
.listen(3000);

app.set('hello', 'world'); // regular, non-method-chainable app.set

Use linkit with mapit for even more sugar-coating:

var app = express();
var linkit = require('linkit');
var mapit = require('mapit');

app.linkit()
.mapit(app.set, {
  'foo': 'bar',
  'baz': true
})
.mapit(app.get, {
  '/': function (req, res) {
    res.send('hello');
  },
  '/hello': function (req, res) {
    res.send('world');
  }
})
.listen(3000);

Installation

node

$ npm install --save linkit

browser

Install it with bower:

$ bower install --save linkit

Or get linkit.js and put it in a script tag.

License

MIT License. See ./LICENSE.