Проблема: я работаю над файлом, который имеет много условных типов, которые получают свои типы из ранее определенных условных типов, и это стало очень сложным и трудным для отладки того, как выводится тип.
Я пытаюсь найти способ «отладки» или перечислить, как компилятор TypeScript делает свой выбор по условному типу и выбирает путь для получения окончательного типа.
Я просмотрел параметры компилятора и пока не нашел ничего в этой области ...
Аналогия с тем, что я сейчас ищу, является эквивалентом DEBUG=express:*
типа настроек, который можно использовать, если вы хотите увидеть, что делает экспресс-сервер.
Тем не менее, реальная проблема, которую я пытаюсь решить, заключается в том, чтобы иметь возможность деконструировать и отлаживать способ получения типа в большом сложном иерархическом определении типа.
Важное примечание: я не пытаюсь отладить выполнение во время выполнения проекта TypeScript. Я пытаюсь отладить, как типы вычисляются компилятором TypeScript.
interface
с самодокументируемым именем контейнера вместо универсального, type
который пытается расширить его). определение в подсказке IDE) или просто рефакторинг источника, чтобы полностью избежать чрезмерного использования сложных условных типов.