Использование TypeScript для типизации сложных функций
Стэфан Баумгартнер показал на примере как затипизировать сложную функцию для отправки запросов — "Dynamic Static Typing In TypeScript".
В статье разбирается типизация Express-like функции для отправки GET-запросов. Сначала она типизируется "в лоб". Потом пример немного усложняется: добавляются юнионы, дженерики. В конце статьи разбирается довольно интересный кейс с использованием литеральных шаблонных типов и рекурсивных условных типов (появились в TypeScript 4.1) для извлечения имён параметров из строки.
Хорошая статья. Рекомендую почитать всем, кто работает с TypeScript.
https://www.smashingmagazine.com/2021/01/dynamic-static-typing-typescript/