You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					35 lines
				
				860 B
			
		
		
			
		
	
	
					35 lines
				
				860 B
			| 
											3 years ago
										 | var baseInvoke = require('./_baseInvoke'), | ||
|  |     baseRest = require('./_baseRest'); | ||
|  | 
 | ||
|  | /** | ||
|  |  * Creates a function that invokes the method at `path` of a given object. | ||
|  |  * Any additional arguments are provided to the invoked method. | ||
|  |  * | ||
|  |  * @static | ||
|  |  * @memberOf _ | ||
|  |  * @since 3.7.0 | ||
|  |  * @category Util | ||
|  |  * @param {Array|string} path The path of the method to invoke. | ||
|  |  * @param {...*} [args] The arguments to invoke the method with. | ||
|  |  * @returns {Function} Returns the new invoker function. | ||
|  |  * @example | ||
|  |  * | ||
|  |  * var objects = [ | ||
|  |  *   { 'a': { 'b': _.constant(2) } }, | ||
|  |  *   { 'a': { 'b': _.constant(1) } } | ||
|  |  * ]; | ||
|  |  * | ||
|  |  * _.map(objects, _.method('a.b')); | ||
|  |  * // => [2, 1]
 | ||
|  |  * | ||
|  |  * _.map(objects, _.method(['a', 'b'])); | ||
|  |  * // => [2, 1]
 | ||
|  |  */ | ||
|  | var method = baseRest(function(path, args) { | ||
|  |   return function(object) { | ||
|  |     return baseInvoke(object, path, args); | ||
|  |   }; | ||
|  | }); | ||
|  | 
 | ||
|  | module.exports = method; |