Как создать фабрику классов stati c в Typescript без запуска eslint «no-use-before-define»? - PullRequest
0 голосов
/ 18 июня 2020

В моем базовом классе Base у меня есть это:

class Base {
  static createFromData(data: any) {
    if (data.type == 'derived1')
      return new Derived1(data)
    // ... others
  }
}

class Derived1 extends Base {
  constructor(data: any) {
    // ... stuff
  }
}

, поэтому createFromData - заводской метод. Но это срабатывает правило eslint @typescript-eslint/no-use-before-define. Это кажется совершенно нормальным вариантом использования, так как же с этим справиться обычно? Очевидно, я не могу переместить определение Derived1 над его базой, и я не думаю, что в Typescript есть форвардные объявления, такие как C ++. Должен ли я просто отключить правило для классов глобально или в этом случае?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...