Typing Variadic Functions
Build flexible APIs with variadic tuple types.
Generic Variadic Functions
Variadic tuple types let generics capture and manipulate argument lists. This unlocks utilities that concatenate tuples, forward parameters, and reshape call signatures with full type safety.
Capturing Arguments as a Tuple
A generic constrained to unknown[] can capture an entire argument list as a tuple type T, preserving each parameter's type and position.
function tuple<T extends unknown[]>(...args: T): T {
return args
}
const t = tuple("a", 1, true) // type [string, number, boolean]
console.log(t)All lessons in this course
- Rest Parameters in Functions
- Spread in Arrays and Objects
- Tuple Rest Elements
- Typing Variadic Functions