Function binding utility
Switch branches/tags
Nothing to show
Clone or download
Latest commit d16047f Mar 24, 2015
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
test
.gitignore Initial commit Aug 13, 2012
.npmignore
History.md
LICENSE Create LICENSE Mar 24, 2015
Makefile Initial commit Aug 13, 2012
Readme.md
component.json
index.js
package.json

Readme.md

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