Можно ли получить абстрактные ключи в абстрактном классе? Как и в следующем примере, как бы я определил AbstractKeys
так, чтобы UnimplementedKeys == 'a' | 'b'
type AbstractKeys<C> = ?????
abstract class Test {
abstract a: string;
abstract b: string;
c!: string;
d!: string;
}
type AbstractClass = typeof Test;
type AllKeys = keyof AbstractClass["prototype"]; // or just `keyof Test`
type UnimplementedKeys = AbstractKeys<AbstractClass>;
Я знаю, что тип экземпляра Test
не имеет абстрактной памяти по проекту, поскольку const x: Test
должен разрешать x.a
быть действительным, но возможно ли использовать объект абстрактного конструктора typeof Test
, чтобы получить, какие ключи являются абстрактными?