Codington
0 of 7 problems solved0%

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.