type-challenges
type-challenges copied to clipboard
3196 - Flip Arguments
// your answers
type Reverse<T extends unknown[]> = T extends [...infer R, infer L] ? [L, ...Reverse<R>] : T;
type FlipArguments<T> = T extends (...arg: infer Arg) => infer R ? (...arg: Reverse<Arg>) => R : T