32 lines
705 B
JavaScript
32 lines
705 B
JavaScript
|
import _curry1 from "./internal/_curry1.js";
|
||
|
import curryN from "./curryN.js";
|
||
|
import nth from "./nth.js";
|
||
|
/**
|
||
|
* Returns a function which returns its nth argument.
|
||
|
*
|
||
|
* @func
|
||
|
* @memberOf R
|
||
|
* @since v0.9.0
|
||
|
* @category Function
|
||
|
* @sig Number -> *... -> *
|
||
|
* @param {Number} n
|
||
|
* @return {Function}
|
||
|
* @example
|
||
|
*
|
||
|
* R.nthArg(1)('a', 'b', 'c'); //=> 'b'
|
||
|
* R.nthArg(-1)('a', 'b', 'c'); //=> 'c'
|
||
|
* @symb R.nthArg(-1)(a, b, c) = c
|
||
|
* @symb R.nthArg(0)(a, b, c) = a
|
||
|
* @symb R.nthArg(1)(a, b, c) = b
|
||
|
*/
|
||
|
|
||
|
var nthArg =
|
||
|
/*#__PURE__*/
|
||
|
_curry1(function nthArg(n) {
|
||
|
var arity = n < 0 ? 1 : n + 1;
|
||
|
return curryN(arity, function () {
|
||
|
return nth(n, arguments);
|
||
|
});
|
||
|
});
|
||
|
|
||
|
export default nthArg;
|