Предположим, у меня есть следующий фрагмент кода:
interface Generic <S, T> {
_?: [S, T];
id: string;
...
}
interface A {}
interface B {}
interface C {}
interface D {}
type t1 = Generic<A, B>;
type t2 = Generic<B, C>;
Это код, который я не могу изменить (из другого пакета). Мой вопрос: есть ли у меня способ программно узнать, что такое S и T для данного типа (например, t1, t2)?
У меня есть сильное подозрение, что, поскольку эта информация теряется после компиляции, я никогда не смогу выяснить, что такое S и T во время выполнения. Что еще хуже, я не смогу взглянуть на детали из t1 и t2 (, как и предыдущий вопрос ).
Тем не менее, поскольку я очень плохо знаком с TypeScript, мне интересно, не знаю ли я, как правильно задать вопрос, и у Интернета действительно есть ответ для меня.
Так возможно ли это? Как?