想要扩展空接口但是得到lint错误:no-empty-interface

问题描述 投票:0回答:1

今天,我尝试在我的角度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;
}

并得到一个lint错误:

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

我想用我的Endpoint界面做到这一点:

Export interface Endpoint {
…
authConfig: AuthConfig;
…
}

但是减少到这样做:

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

不同类型的授权可能会变得冗长,因此我不想继续使用Endpoint接口的authConfig属性的类型。是否有任何方法可以声明一个空接口,以便在没有lint对我大喊大叫的情况下扩展它?

谢谢。

angular typescript interface lint
1个回答
0
投票

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

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

或者只禁用一行的linting:

// tslint:disable-next-line
export interface AuthConfig {}
© www.soinside.com 2019 - 2024. All rights reserved.