Readme.md 983 Bytes

bind

Function binding utility.

Installation

$ component install component/bind

API

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