https://github.com/jonschlinkert/deep-bind
Bind a context to all functions in an object, including deeply nested functions.
https://github.com/jonschlinkert/deep-bind
bind context function javascript nodejs object
Last synced: 11 months ago
JSON representation
Bind a context to all functions in an object, including deeply nested functions.
- Host: GitHub
- URL: https://github.com/jonschlinkert/deep-bind
- Owner: jonschlinkert
- License: mit
- Created: 2016-01-21T08:23:27.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2019-07-11T07:09:20.000Z (over 6 years ago)
- Last Synced: 2025-05-07T23:06:21.133Z (11 months ago)
- Topics: bind, context, function, javascript, nodejs, object
- Language: JavaScript
- Size: 10.7 KB
- Stars: 9
- Watchers: 3
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
- awesome-micro-npm-packages - deep-bind - Bind a context to all functions in an object, including deeply nested functions. (Modules / Function)
- awesome-micro-npm-packages-zh - deep-bind - 将上下文绑定到对象中的所有函数,包括深度嵌套的函数. (模块 / 函数)
- awesome-micro-npm-packages - deep-bind - Bind a context to all functions in an object, including deeply nested functions. (Modules / Function)
- fucking-awesome-micro-npm-packages - deep-bind - Bind a context to all functions in an object, including deeply nested functions. (Modules / Function)
README
# deep-bind [](https://www.npmjs.com/package/deep-bind) [](https://npmjs.org/package/deep-bind) [](https://travis-ci.org/jonschlinkert/deep-bind)
> Bind a context to all functions in an object, including deeply nested functions.
## Install
Install with [npm](https://www.npmjs.com/):
```sh
$ npm install deep-bind --save
```
## Usage
```js
var deepBind = require('deep-bind');
```
**Example**
Bind a context to an object of template helpers before passing them to an engine:
```js
var ctx = {
app: {views: {}},
context: {a: 'b'}
};
// pass the following to the template engine
var helpers = deepBind({
foo: function() {
return this.context;
},
bar: function() {},
baz: function() {}
}, ctx);
```
## API
### [deepBind](index.js#L14)
Bind a `thisArg` to all the functions on the target
**Params**
* `target` **{Object|Array}**: Object or Array with functions as values that will be bound.
* `thisArg` **{Object}**: Object to bind to the functions
* `returns` **{Object|Array}**: Object or Array with bound functions.
## Contributing
Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](https://github.com/jonschlinkert/deep-bind/issues/new).
## Building docs
Generate readme and API documentation with [verb](https://github.com/verbose/verb):
```sh
$ npm install verb && npm run docs
```
Or, if [verb](https://github.com/verbose/verb) is installed globally:
```sh
$ verb
```
## Running tests
Install dev dependencies:
```sh
$ npm install -d && npm test
```
## Author
**Jon Schlinkert**
* [github/jonschlinkert](https://github.com/jonschlinkert)
* [twitter/jonschlinkert](http://twitter.com/jonschlinkert)
## License
Copyright © 2016, [Jon Schlinkert](https://github.com/jonschlinkert).
Released under the [MIT license](https://github.com/jonschlinkert/deep-bind/blob/master/LICENSE).
***
_This file was generated by [verb](https://github.com/verbose/verb), v0.9.0, on May 02, 2016._