rambdax
Version:
Extended version of Rambda - a lightweight, faster alternative to Ramda
22 lines (17 loc) • 488 B
text/typescript
import {Function} from './Function'
/**
Extract parameters from a [[Function]]
@param F to extract from
@returns [[List]]
@example
```ts
import {F} from 'ts-toolbelt'
const fn = (name: string, age: number) => {}
type test0 = F.ParamsOf<typeof fn> // [string, number]
type test1 = F.ParamsOf<(name: string, age: number) => {}> // [string, number]
```
*/
export type Parameters<F extends Function> =
F extends ((...args: infer L) => any)
? L
: never