adjacent-overload-signatures
)Grouping overloaded members together can improve readability of the code.
This rule aims to standardize the way overloaded members are organized.
The following patterns are considered warnings:
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;
The following patterns are not warnings:
declare namespace Foo { export function foo(s: string): void; export function foo(n: number): void; export function foo(sn: string | number): void; export function bar(): void; } type Foo = { foo(s: string): void; foo(n: number): void; foo(sn: string | number): void; bar(): void; }; interface Foo { foo(s: string): void; foo(n: number): void; foo(sn: string | number): void; bar(): void; } class Foo { foo(s: string): void; foo(n: number): void; foo(sn: string | number): void {} bar(): void {} } export function bar(): void; export function foo(s: string): void; export function foo(n: number): void; export function foo(sn: string | number): void;
If you don't care about the general structure of the code, then you will not need this rule.