Хотите расширить пустой интерфейс, но получаете ошибку lint: no-empty-interface - PullRequest
1 голос
/ 29 марта 2019

Сегодня я попытался сделать это в моем приложении angular 6:

export interface AuthConfig {}

export interface BasicAuthConfig extends AuthConfig {
    username: string;
    password: string;
}

export interface OAuth2AuthConfig extends AuthConfig {
    tokenName: string;
    url: string;
    callbackUrl: string;
    clientId: string;
    scope: string[];
    grantType: grantTypes;
}

И получил ошибку ворса:

An empty interface is equivalent to `{}`. (no-empty-interface)

Я хотел сделать это с моим интерфейсом Endpoint:

Export interface Endpoint {
…
authConfig: AuthConfig;
…
}

Но был сокращен до этого:

Export interface Endpoint {
…
authConfig: BasicAuthConfig | OAuth2AuthConfig;
…
}

Различные типы авторизации могут быть длительными, поэтому я не хочу привязывать типы к свойству authConfig интерфейса Endpoint. Есть ли способ объявить пустой интерфейс с целью его расширения, не крича на меня?

Спасибо.

1 Ответ

0 голосов
/ 29 марта 2019

Вы можете отключить это правило в tslint.json:

"rules": { "no-empty-interface": false }

Или просто отключить линтинг для одной строки:

// tslint:disable-next-line
export interface AuthConfig {}
...