Get the parameter types of a function using TypeScript
Using the built-in utility type Parameters<T>
, you can easily get the parameter types of a function using TypeScript.
For example, say you have a module that contains the following:
type Options = {
one: string,
two: string,
three: number
}
export const func = (input: Options) => {
// ...
}
You have access to the exported function, but from outside of the module, you have no way of directly retrieving the Options
type. Luckily, TypeScript has a built-in utility type that allows you to retrieve the types of function parameters.
Using Parameters<T>
, the consumer of the module can retrieve the Options
type by instead using the type Parameters<typeof func>[0]
which resolves to the type of the first parameter in the func
function.
type Options = Parameters<typeof func>[0]
let options: Options = {
one: 'foo',
two: 'bar',
three: 3
}