forked from waja/action-debian-package
38 lines
1 KiB
JavaScript
38 lines
1 KiB
JavaScript
|
import _curry1 from "./internal/_curry1.js";
|
||
|
import nAry from "./nAry.js";
|
||
|
/**
|
||
|
* 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
|
||
|
*
|
||
|
* const takesTwoArgs = function(a, b) {
|
||
|
* return [a, b];
|
||
|
* };
|
||
|
* takesTwoArgs.length; //=> 2
|
||
|
* takesTwoArgs(1, 2); //=> [1, 2]
|
||
|
*
|
||
|
* const 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);
|
||
|
});
|
||
|
|
||
|
export default unary;
|