typescript/adjacent-overload-signatures 风格
它的作用
要求函数重载签名必须连续。
为什么这是个问题?
函数重载签名表示函数可能被调用的多种方式,可能具有不同的返回类型。通常情况下,描述函数的接口或类型别名会将所有重载签名放在一起。如果重载签名分散在类型中的其他位置,未来阅读代码的开发人员更容易忽略它们。
示例
以下为 不正确 的代码示例:
typescript
declare namespace Foo {
export function foo(s: string): void;
export function foo(n: number): void;
export function bar(): void;
export function foo(sn: string | number): void;
}
type Foo = {
foo(s: string): void;
foo(n: number): void;
bar(): void;
foo(sn: string | number): void;
};
interface Foo {
foo(s: string): void;
foo(n: number): void;
bar(): void;
foo(sn: string | number): void;
}
class Foo {
foo(s: string): void;
foo(n: number): void;
bar(): void {}
foo(sn: string | number): void {}
}
export function foo(s: string): void;
export function foo(n: number): void;
export function bar(): void;
export function foo(sn: string | number): void;如何使用
要通过配置文件或 CLI 启用 此规则,可以使用:
json
{
"rules": {
"typescript/adjacent-overload-signatures": "error"
}
}bash
oxlint --deny typescript/adjacent-overload-signatures