PHP 8.2.30
Preview: bindKey.js Size: 1.99 KB
/opt/alt/alt-nodejs9/root/lib/node_modules/npm/node_modules/cli-table2/node_modules/lodash/function/bindKey.js

var createWrapper = require('../internal/createWrapper'),
    replaceHolders = require('../internal/replaceHolders'),
    restParam = require('./restParam');

/** Used to compose bitmasks for wrapper metadata. */
var BIND_FLAG = 1,
    BIND_KEY_FLAG = 2,
    PARTIAL_FLAG = 32;

/**
 * Creates a function that invokes the method at `object[key]` and prepends
 * any additional `_.bindKey` arguments to those provided to the bound function.
 *
 * This method differs from `_.bind` by allowing bound functions to reference
 * methods that may be redefined or don't yet exist.
 * See [Peter Michaux's article](http://peter.michaux.ca/articles/lazy-function-definition-pattern)
 * for more details.
 *
 * The `_.bindKey.placeholder` value, which defaults to `_` in monolithic
 * builds, may be used as a placeholder for partially applied arguments.
 *
 * @static
 * @memberOf _
 * @category Function
 * @param {Object} object The object the method belongs to.
 * @param {string} key The key of the method.
 * @param {...*} [partials] The arguments to be partially applied.
 * @returns {Function} Returns the new bound function.
 * @example
 *
 * var object = {
 *   'user': 'fred',
 *   'greet': function(greeting, punctuation) {
 *     return greeting + ' ' + this.user + punctuation;
 *   }
 * };
 *
 * var bound = _.bindKey(object, 'greet', 'hi');
 * bound('!');
 * // => 'hi fred!'
 *
 * object.greet = function(greeting, punctuation) {
 *   return greeting + 'ya ' + this.user + punctuation;
 * };
 *
 * bound('!');
 * // => 'hiya fred!'
 *
 * // using placeholders
 * var bound = _.bindKey(object, 'greet', _, '!');
 * bound('hi');
 * // => 'hiya fred!'
 */
var bindKey = restParam(function(object, key, partials) {
  var bitmask = BIND_FLAG | BIND_KEY_FLAG;
  if (partials.length) {
    var holders = replaceHolders(partials, bindKey.placeholder);
    bitmask |= PARTIAL_FLAG;
  }
  return createWrapper(key, bitmask, object, partials, holders);
});

// Assign default placeholders.
bindKey.placeholder = {};

module.exports = bindKey;

Directory Contents

Dirs: 0 × Files: 26

Name Size Perms Modified Actions
1.26 KB lrw-r--r-- 2021-09-28 11:28:34
Edit Download
1.04 KB lrw-r--r-- 2021-09-28 11:28:34
Edit Download
41 B lrw-r--r-- 2021-09-28 11:28:34
Edit Download
1.13 KB lrw-r--r-- 2021-09-28 11:28:34
Edit Download
1.64 KB lrw-r--r-- 2021-09-28 11:28:35
Edit Download
1.57 KB lrw-r--r-- 2021-09-28 11:28:34
Edit Download
1.99 KB lrw-r--r-- 2021-09-28 11:28:34
Edit Download
41 B lrw-r--r-- 2021-09-28 11:28:35
Edit Download
1.41 KB lrw-r--r-- 2021-09-28 11:28:34
Edit Download
1.24 KB lrw-r--r-- 2021-09-28 11:28:34
Edit Download
5.39 KB lrw-r--r-- 2021-09-28 11:28:34
Edit Download
699 B lrw-r--r-- 2021-09-28 11:28:34
Edit Download
742 B lrw-r--r-- 2021-09-28 11:28:34
Edit Download
617 B lrw-r--r-- 2021-09-28 11:28:34
Edit Download
574 B lrw-r--r-- 2021-09-28 11:28:34
Edit Download
2.43 KB lrw-r--r-- 2021-09-28 11:28:34
Edit Download
1.56 KB lrw-r--r-- 2021-09-28 11:28:34
Edit Download
803 B lrw-r--r-- 2021-09-28 11:28:34
Edit Download
650 B lrw-r--r-- 2021-09-28 11:28:34
Edit Download
1.26 KB lrw-r--r-- 2021-09-28 11:28:34
Edit Download
1.23 KB lrw-r--r-- 2021-09-28 11:28:34
Edit Download
1.22 KB lrw-r--r-- 2021-09-28 11:28:34
Edit Download
1.85 KB lrw-r--r-- 2021-09-28 11:28:34
Edit Download
1.15 KB lrw-r--r-- 2021-09-28 11:28:34
Edit Download
2.40 KB lrw-r--r-- 2021-09-28 11:28:35
Edit Download
1.01 KB lrw-r--r-- 2021-09-28 11:28:34
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).