UNPKG

es-toolkit

Version:

A state-of-the-art, high-performance JavaScript utility library with a small bundle size and strong type annotations.

29 lines (28 loc) 827 B
const require_ary = require("../../function/ary.js"); //#region src/compat/function/ary.ts /** * Creates a function that invokes func, with up to `n` arguments, ignoring any additional arguments. * * @template F - The type of the function. * @param func - The function to cap arguments for. * @param n - The arity cap. * @param guard - The value to guard the arity cap. * @returns Returns the new capped function. * * @example * function fn(a: number, b: number, c: number) { * return Array.from(arguments); * } * * ary(fn, 0)(1, 2, 3); // [] * ary(fn, 1)(1, 2, 3); // [1] * ary(fn, 2)(1, 2, 3); // [1, 2] * ary(fn, 3)(1, 2, 3); // [1, 2, 3] */ function ary(func, n = func.length, guard) { if (guard) n = func.length; if (Number.isNaN(n) || n < 0) n = 0; return require_ary.ary(func, n); } //#endregion exports.ary = ary;