deep-bind

0.3.0 • Public • Published

deep-bind NPM version NPM downloads Build Status

Bind a context to all functions in an object, including deeply nested functions.

Install

Install with npm:

$ npm install deep-bind --save

Usage

var deepBind = require('deep-bind');

Example

Bind a context to an object of template helpers before passing them to an engine:

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

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.

Building docs

Generate readme and API documentation with verb:

$ npm install verb && npm run docs

Or, if verb is installed globally:

$ verb

Running tests

Install dev dependencies:

$ npm install -d && npm test

Author

Jon Schlinkert

License

Copyright © 2016, Jon Schlinkert. Released under the MIT license.


This file was generated by verb, v0.9.0, on May 02, 2016.

Package Sidebar

Install

npm i deep-bind

Weekly Downloads

60,086

Version

0.3.0

License

MIT

Last publish

Collaborators

  • doowb
  • jonschlinkert