#typescript
Ключове слово
infer — це потужний інструмент, який дозволяє розгортати та зберігати типи під час роботи з чужим TypeScript кодом. Воно не може використовуватися без Conditional Types та поза пропозицією extends. Infer дозволяє визначити змінну в межах нашого обмеження, на яку буде посилатися або повертати.наприклад, так можна отримати тип першого аргументу функції:
type GetFirstArgumentOfAnyFunction<T> = T extends ( first: infer FirstArgument, ...args: any[]) => any ? FirstArgument : neverЗверніть увагу, що описати це тільки через генерики неможливо.