Open utterances-bot opened 1 year ago
Hey!
Maybe we can add
type MyParameters<T extends Function> = ...
@AurelienWebnation Personally, I don't see the reason for that because we check it with conditional type anyway…
type MyParameters<T> = T extends (...args: infer P) => any ? P : never;
type Foo = MyParameters<string>; // Foo = never
type MyParameters<T extends Function> = T extends (...args: infer P) => any ? P : never;
type Foo = MyParameters<string>; // Error on string : Type 'string' does not satisfy the constraint 'Function'
So the second solution is an alternative to have an error directly on My Parameters type if we don't pass a function. But it's just an idea ahah!
Parameters
This project is aimed at helping you better understand how the type system works, writing your own utilities, or just having fun with the challenges.
https://ghaiklor.github.io/type-challenges-solutions/en/easy-parameters.html