nth-arg v1.0.0
nth-arg
nth-arg is a utility function that returns a higher-order function to apply a given function to the nth argument of a function's argument list. It allows you to easily work with specific arguments in a function by targeting their index, including support for negative indices, similar to Array.prototype.at.
Table of Contents
Installation
You can install nth-arg using npm or yarn:
npm install nth-argor
yarn add nth-argUsage
Basic Usage
You can directly provide a function and use nth-arg to apply it to the nth argument:
const nth = require('nth-arg');
const getSecondArg = nth(1, x => x * 2);
console.log(getSecondArg(5, 10, 15)); // Output: 20Currying
If you don't provide a function, nth-arg will return a curried function that allows you to specify the function later:
const applyToThird = nth(2);
const getThirdArgLength = applyToThird(arg => arg.length);
console.log(getThirdArgLength('a', 'bb', 'ccc')); // Output: 3Negative Indices
nth-arg supports negative indices, which work similarly to Array.prototype.at, letting you access arguments from the end:
const getLastArg = nth(-1, x => x.toUpperCase());
console.log(getLastArg('hello', 'world')); // Output: 'WORLD'API
nth(n, [fn])
Returns a function that applies fn to the nth argument of a function's argument list.
- n (
number): The index of the argument in the arguments array to applyfnto. Supports negative indices. - fn (
function|undefined): The function to be applied to the nth argument. If not provided, a curried version of the function is returned.
Returns:
- If
fnis provided, returns a function that appliesfnto the nth argument. - If
fnis not provided, returns a curried function that takes a function and applies it to the nth argument.
Example
// Basic usage with provided function
const getSecondArg = nth(1, x => x * 2);
console.log(getSecondArg(5, 10, 15)); // Output: 20
// Currying usage
const applyToThird = nth(2);
const getThirdArgLength = applyToThird(arg => arg.length);
console.log(getThirdArgLength('a', 'bb', 'ccc')); // Output: 3
// Using negative indices
const getLastArg = nth(-1, x => x.toUpperCase());
console.log(getLastArg('hello', 'world')); // Output: 'WORLD'License
This project is licensed under the MIT License - see the LICENSE file for details.
12 months ago