@zkochan/pnpm
Version:
Fast, disk space efficient package manager
38 lines (34 loc) • 1.07 kB
JavaScript
var _curry1 = /*#__PURE__*/require('./internal/_curry1');
var nAry = /*#__PURE__*/require('./nAry');
/**
* Wraps a function of any arity (including nullary) in a function that accepts
* exactly 1 parameter. Any extraneous parameters will not be passed to the
* supplied function.
*
* @func
* @memberOf R
* @since v0.2.0
* @category Function
* @sig (* -> b) -> (a -> b)
* @param {Function} fn The function to wrap.
* @return {Function} A new function wrapping `fn`. The new function is guaranteed to be of
* arity 1.
* @see R.binary, R.nAry
* @example
*
* var takesTwoArgs = function(a, b) {
* return [a, b];
* };
* takesTwoArgs.length; //=> 2
* takesTwoArgs(1, 2); //=> [1, 2]
*
* var takesOneArg = R.unary(takesTwoArgs);
* takesOneArg.length; //=> 1
* // Only 1 argument is passed to the wrapped function
* takesOneArg(1, 2); //=> [1, undefined]
* @symb R.unary(f)(a, b, c) = f(a)
*/
var unary = /*#__PURE__*/_curry1(function unary(fn) {
return nAry(1, fn);
});
module.exports = unary;