Repository URL to install this package:
|
Version:
6.0.4 ▾
|
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var fromArgumentsToArray_1 = require("../cast/fromArgumentsToArray");
var curry_1 = require("./curry");
var nth_1 = require("./nth");
/**
* @desc Returns a function which returns its nth argument.
* @memberOf fp
* @since 5.0.0-beta.6
*
* @param n arg to get
* @see deps/argumentor
*
* @curried 1
* @tests fp/nthArg
*
* @func
* @fork v0.9.0
* @category Function
* @sig Number -> *... -> *
*
* @symb nthArg(-1)(a, b, c) = c
* @symb nthArg(0)(a, b, c) = a
* @symb nthArg(1)(a, b, c) = b
*
* @example
*
* nthArg(1)('a', 'b', 'c') //=> 'b'
* nthArg(-1)('a', 'b', 'c') //=> 'c'
*
*/
var nthArg = function (n) {
var arity = n < 0 ? 1 : n + 1;
// <typeof arity>
return curry_1.default(arity, function () {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
// return nth(n, argumentor.apply(null, arguments))
return nth_1.default(fromArgumentsToArray_1.default.apply(undefined, arguments), n);
});
};
exports.default = nthArg;
//# sourceMappingURL=nthArg.js.map