Skip to content

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

License

Notifications You must be signed in to change notification settings

jonschlinkert/deep-bind

Repository files navigation

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

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.

About

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

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published