Возможно ли в TypeScript принимать тип исходя из содержимого статичного свойства класса?
class A {
static bool = true;
}
function func(A['bool'] ? number : string) { } // A['bool'] ? number : string не воспринимается TypeScript
func(A.bool ? 123 : 'random string');
Подразумевается, что свойство
bool
это что-то типа константы-флага.
P.S. Я знаю про то что можно задать тип
true
или
false
и проверять тип через
extends
. Но данный метод не подходит, так как после преобразования в JS никаких типов не остается (разумеется) и я не могу проверить есть ли нужный флаг в классе. Также предполагается что класс A будет наследоваться и значение флага будет переопределяться в дочерних классах.