| # bind |
| |
| Function binding utility. |
| |
| ## Installation |
| |
| ``` |
| $ component install component/bind |
| ``` |
| |
| ## API |
| |
| - [bind(obj, fn)](#bindobj-fn) |
| - [bind(obj, fn, ...)](#bindobj-fn-) |
| - [bind(obj, name)](#bindobj-name) |
| <a name=""></a> |
| |
| <a name="bindobj-fn"></a> |
| ### bind(obj, fn) |
| should bind the function to the given object. |
| |
| ```js |
| var tobi = { name: 'tobi' }; |
| |
| function name() { |
| return this.name; |
| } |
| |
| var fn = bind(tobi, name); |
| fn().should.equal('tobi'); |
| ``` |
| |
| <a name="bindobj-fn-"></a> |
| ### bind(obj, fn, ...) |
| should curry the remaining arguments. |
| |
| ```js |
| 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); |
| ``` |
| |
| <a name="bindobj-name"></a> |
| ### bind(obj, name) |
| should bind the method of the given name. |
| |
| ```js |
| var tobi = { name: 'tobi' }; |
| |
| tobi.getName = function() { |
| return this.name; |
| }; |
| |
| var fn = bind(tobi, 'getName'); |
| fn().should.equal('tobi'); |
| ``` |
| |
| ## License |
| |
| MIT |