UNPKG

858 BJavaScriptView Raw
1import baseInvoke from './_baseInvoke.js';
2import baseRest from './_baseRest.js';
3
4/**
5 * Creates a function that invokes the method at `path` of a given object.
6 * Any additional arguments are provided to the invoked method.
7 *
8 * @static
9 * @memberOf _
10 * @since 3.7.0
11 * @category Util
12 * @param {Array|string} path The path of the method to invoke.
13 * @param {...*} [args] The arguments to invoke the method with.
14 * @returns {Function} Returns the new invoker function.
15 * @example
16 *
17 * var objects = [
18 * { 'a': { 'b': _.constant(2) } },
19 * { 'a': { 'b': _.constant(1) } }
20 * ];
21 *
22 * _.map(objects, _.method('a.b'));
23 * // => [2, 1]
24 *
25 * _.map(objects, _.method(['a', 'b']));
26 * // => [2, 1]
27 */
28var method = baseRest(function(path, args) {
29 return function(object) {
30 return baseInvoke(object, path, args);
31 };
32});
33
34export default method;