basant307/AI_Governance_Project
048
1import createWrap from './_createWrap.js';2 3/** Used to compose bitmasks for function metadata. */4var WRAP_CURRY_RIGHT_FLAG = 16;5 6/**7 * This method is like `_.curry` except that arguments are applied to `func`8 * in the manner of `_.partialRight` instead of `_.partial`.9 *10 * The `_.curryRight.placeholder` value, which defaults to `_` in monolithic11 * builds, may be used as a placeholder for provided arguments.12 *13 * **Note:** This method doesn't set the "length" property of curried functions.14 *15 * @static16 * @memberOf _17 * @since 3.0.018 * @category Function19 * @param {Function} func The function to curry.20 * @param {number} [arity=func.length] The arity of `func`.21 * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.22 * @returns {Function} Returns the new curried function.23 * @example24 *25 * var abc = function(a, b, c) {26 * return [a, b, c];27 * };28 *29 * var curried = _.curryRight(abc);30 *31 * curried(3)(2)(1);32 * // => [1, 2, 3]33 *34 * curried(2, 3)(1);35 * // => [1, 2, 3]36 *37 * curried(1, 2, 3);38 * // => [1, 2, 3]39 *40 * // Curried with placeholders.41 * curried(3)(1, _)(2);42 * // => [1, 2, 3]43 */44function curryRight(func, arity, guard) {45 arity = guard ? undefined : arity;46 var result = createWrap(func, WRAP_CURRY_RIGHT_FLAG, undefined, undefined, undefined, undefined, undefined, arity);47 result.placeholder = curryRight.placeholder;48 return result;49}50 51// Assign default placeholders.52curryRight.placeholder = {};53 54export default curryRight;55 