noEmptyInterface
此内容尚不支持你的语言。
Diagnostic Category: lint/suspicious/noEmptyInterface
Since: v1.0.0
Sources:
- Inspired from:
@typescript-eslint/no-empty-interface
Description
Section titled DescriptionDisallow the declaration of empty interfaces.
An empty interface in TypeScript does very little: any non-nullable value is assignable to {}
.
Using an empty interface is often a sign of programmer error, such as misunderstanding the concept of {}
or forgetting to fill in fields.
The rule ignores empty interfaces that extends
one or multiple types.
Examples
Section titled ExamplesInvalid
Section titled Invalidinterface A {}
code-block.ts:1:1 lint/suspicious/noEmptyInterface FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ An empty interface is equivalent to {}.
> 1 │ interface A {}
│ ^^^^^^^^^^^^^^
2 │
ℹ Safe fix: Use a type alias instead.
1 │ - interface·A·{}
1 │ + type·A·=·{}
2 2 │
Valid
Section titled Validinterface A { prop: string;}
// Allow empty interfaces that extend a type.interface B extends A {}
// Allow empty interfaces in ambient modulesdeclare module "mod" { interface C {}}
How to configure
Section titled How to configure{ "linter": { "rules": { "suspicious": { "noEmptyInterface": "error" } } }}