Как получить тип метода базового класса, основанный на статической переменной расширенного класса
Я использую OClif и имею собственную базовую команду:
class BaseCommand extends Class {
constructor(...) {
// I'm adding this variable here
this.flags = this.parse(this.constructor).flags;
}
}
class MyCommand extends BaseCommand {
static flags = {
version: flags.string()
}
async run() {
// I want to access this.flags.version now here
// this works:
const { flags } = this.parse(MyCommand);
flags.version; // exists
// this does not:
this.flags.version;
}
}
В обоих примерах, если бы я вел консольный журнал (так что console.log(this.flags)
а также console.log(this.parse(MyCommand).flags)
оба печатают одно и то же (конечно, в первом случае я должен добавить // @ts-ignore
потому что набирается неверно).
Итак, как я могу установить здесь тип?