想要扩展空接口但出现皮棉错误:no-empty-interface

时间:2019-03-29 15:00:38

标签: angular typescript interface lint

今天,我试图在我的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;
…
}

不同类型的授权可能会很长,所以我不想继续将这些类型附加到Endpoint接口的authConfig属性。有什么办法可以声明一个空接口,以便扩展它而不会引起我的叫喊?

谢谢。

2 个答案:

答案 0 :(得分:0)

您可以在tslint.json中禁用此规则:

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

或者仅禁用一根棉绒:

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

答案 1 :(得分:0)

如何禁用

Example:
$ cat .eslintrc.js
  ...
  "rules": {
  '@typescript-eslint/no-empty-interface': 'off'
  }
  ...