|  | var createWrap = require('./_createWrap'); | 
|  |  | 
|  | /** Used to compose bitmasks for function metadata. */ | 
|  | var WRAP_CURRY_RIGHT_FLAG = 16; | 
|  |  | 
|  | /** | 
|  | * This method is like `_.curry` except that arguments are applied to `func` | 
|  | * in the manner of `_.partialRight` instead of `_.partial`. | 
|  | * | 
|  | * The `_.curryRight.placeholder` value, which defaults to `_` in monolithic | 
|  | * builds, may be used as a placeholder for provided arguments. | 
|  | * | 
|  | * **Note:** This method doesn't set the "length" property of curried functions. | 
|  | * | 
|  | * @static | 
|  | * @memberOf _ | 
|  | * @since 3.0.0 | 
|  | * @category Function | 
|  | * @param {Function} func The function to curry. | 
|  | * @param {number} [arity=func.length] The arity of `func`. | 
|  | * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. | 
|  | * @returns {Function} Returns the new curried function. | 
|  | * @example | 
|  | * | 
|  | * var abc = function(a, b, c) { | 
|  | *   return [a, b, c]; | 
|  | * }; | 
|  | * | 
|  | * var curried = _.curryRight(abc); | 
|  | * | 
|  | * curried(3)(2)(1); | 
|  | * // => [1, 2, 3] | 
|  | * | 
|  | * curried(2, 3)(1); | 
|  | * // => [1, 2, 3] | 
|  | * | 
|  | * curried(1, 2, 3); | 
|  | * // => [1, 2, 3] | 
|  | * | 
|  | * // Curried with placeholders. | 
|  | * curried(3)(1, _)(2); | 
|  | * // => [1, 2, 3] | 
|  | */ | 
|  | function curryRight(func, arity, guard) { | 
|  | arity = guard ? undefined : arity; | 
|  | var result = createWrap(func, WRAP_CURRY_RIGHT_FLAG, undefined, undefined, undefined, undefined, undefined, arity); | 
|  | result.placeholder = curryRight.placeholder; | 
|  | return result; | 
|  | } | 
|  |  | 
|  | // Assign default placeholders. | 
|  | curryRight.placeholder = {}; | 
|  |  | 
|  | module.exports = curryRight; |