Как получить тип метода базового класса, основанный на статической переменной расширенного класса

Я использую 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 потому что набирается неверно).

Итак, как я могу установить здесь тип?

0 ответов

Другие вопросы по тегам