Как найти, какие ключи являются абстрактными от абстрактного объекта класса в машинописи - PullRequest
0 голосов
/ 17 февраля 2020

Можно ли получить абстрактные ключи в абстрактном классе? Как и в следующем примере, как бы я определил 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, чтобы получить, какие ключи являются абстрактными?

...