In TypeScript, we can use a Tuple of types to create typesafe rest arguments:
type Params = [string,number,string]
const fn = (...args: Params) => null
// Type is (args_0: string, args_1: number, args_2: string) => null
Is there any way to supply the names of these parameters? Completely in the Type space?
So, instead of having the parameters named args_0
, args_1
, args_2
, I want to explicitly name them (example) myString
, myNumber
, mySecondString
.
CodePudding user response:
Tuple members can be named, which just works when spread to function arguments:
type Params = [myString: string, myNumber: number, mySecondString: string]
const fn = (...args: Params) => null
// const fn: (myString: string, myNumber: number, mySecondString: string) => null