import { ary as ary$1 } from "../../function/ary.mjs";
//#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 {F} func - The function to cap arguments for.
* @param {number} n - The arity cap.
* @param {unknown} guard - The value to guard the arity cap.
* @returns {(...args: any[]) => ReturnType<F>} 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 ary$1(func, n);
}
//#endregion
export { ary };
