0 of 7 problems solved0%
7 of 7

Use Parameters & ReturnType

Parameters<F> gives you the tuple of a function’s arguments, and ReturnType<F> gives the result type. This lets you wire higher-order helpers to existing functions without repeating types.

function add(a: number, b: number) {
  return a + b;
}
type A = Parameters<typeof add>; // [number, number]
type R = ReturnType<typeof add>; // number

Your Task

Call a function using its extracted parameters and return its extracted result.

  • Implement function makeAdder(a: number, b: number): number that returns a + b.
  • Define type AdderArgs = Parameters<typeof makeAdder> and type AdderResult = ReturnType<typeof makeAdder>.
  • Implement function callAdder(args: AdderArgs): AdderResult by calling makeAdder(...args).
  • Keep implementations minimal and side-effect free.