/** * lodash 3.7.0 (Custom Build) * Build: `lodash modern modularize exports="npm" -o ./` * Copyright 2012-2015 The Dojo Foundation * Based on Underscore.js 1.8.3 * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors * Available under MIT license */ var invokePath = require('lodash._invokepath'), restParam = require('lodash.restparam'); /** * The opposite of `_.method`; this method creates a function that invokes * the method at a given path on `object`. Any additional arguments are * provided to the invoked method. * * @static * @memberOf _ * @category Utility * @param {Object} object The object to query. * @param {...*} [args] The arguments to invoke the method with. * @returns {Function} Returns the new function. * @example * * var array = _.times(3, _.constant), * object = { 'a': array, 'b': array, 'c': array }; * * _.map(['a[2]', 'c[0]'], _.methodOf(object)); * // => [2, 0] * * _.map([['a', '2'], ['c', '0']], _.methodOf(object)); * // => [2, 0] */ var methodOf = restParam(function(object, args) { return function(path) { return invokePath(object, path, args); }; }); module.exports = methodOf;