bind

Function binding utility.

# Installation

$ component install component/bind

# API

- bind(obj, fn)
- bind(obj, fn, ...)
- bind(obj, name)

## bind(obj, fn)

should bind the function to the given object.

var tobi = { name: 'tobi' };
function name() {
return this.name;
}
var fn = bind(tobi, name);
fn().should.equal('tobi');

## bind(obj, fn, ...)

should curry the remaining arguments.

function add(a, b) {
return a + b;
}
bind(null, add)(1, 2).should.equal(3);
bind(null, add, 1)(2).should.equal(3);
bind(null, add, 1, 2)().should.equal(3);

## bind(obj, name)

should bind the method of the given name.

var tobi = { name: 'tobi' };
tobi.getName = function() {
return this.name;
};
var fn = bind(tobi, 'getName');
fn().should.equal('tobi');

# License

MIT