Skip to content

Commit d31ec26

Browse files
authored
fix(eslint-plugin): [padding-line-between-statements] make function overloading is also processed (#4345)
1 parent 6edebcd commit d31ec26

File tree

2 files changed

+30
-0
lines changed

2 files changed

+30
-0
lines changed

Diff for: packages/eslint-plugin/src/rules/padding-line-between-statements.ts

+2
Original file line numberDiff line numberDiff line change
@@ -803,7 +803,9 @@ export default util.createRule<Options, MessageIds>({
803803
':statement': verify,
804804

805805
SwitchCase: verifyThenEnterScope,
806+
TSDeclareFunction: verifyThenEnterScope,
806807
'SwitchCase:exit': exitScope,
808+
'TSDeclareFunction:exit': exitScope,
807809
};
808810
},
809811
});

Diff for: packages/eslint-plugin/tests/rules/padding-line-between-statements.test.ts

+28
Original file line numberDiff line numberDiff line change
@@ -2799,6 +2799,20 @@ var a = 1
27992799
{ blankLine: 'always', prev: 'block-like', next: 'block-like' },
28002800
],
28012801
},
2802+
{
2803+
code: 'export function foo(arg1: string): number;\nexport function foo(arg2: number) {\n return arg2;\n}',
2804+
options: [
2805+
{ blankLine: 'always', prev: '*', next: 'block-like' },
2806+
{ blankLine: 'never', prev: '*', next: 'export' },
2807+
],
2808+
},
2809+
{
2810+
code: 'function foo(arg1: string): number;\nfunction foo(arg2: number) {\n return arg2;\n}',
2811+
options: [
2812+
{ blankLine: 'always', prev: '*', next: 'block-like' },
2813+
{ blankLine: 'never', prev: '*', next: 'function' },
2814+
],
2815+
},
28022816
],
28032817
invalid: [
28042818
//----------------------------------------------------------------------
@@ -5101,5 +5115,19 @@ declare namespace Types {
51015115
{ messageId: 'expectedBlankLine' },
51025116
],
51035117
},
5118+
{
5119+
code: 'export function foo(arg1: string): number;\nexport function foo(arg2: number) {\n return arg2;\n}',
5120+
output:
5121+
'export function foo(arg1: string): number;\n\nexport function foo(arg2: number) {\n return arg2;\n}',
5122+
options: [{ blankLine: 'always', prev: '*', next: 'block-like' }],
5123+
errors: [{ messageId: 'expectedBlankLine' }],
5124+
},
5125+
{
5126+
code: 'function foo(arg1: string): number;\nfunction foo(arg2: number) {\n return arg2;\n}',
5127+
output:
5128+
'function foo(arg1: string): number;\n\nfunction foo(arg2: number) {\n return arg2;\n}',
5129+
options: [{ blankLine: 'always', prev: '*', next: 'block-like' }],
5130+
errors: [{ messageId: 'expectedBlankLine' }],
5131+
},
51045132
],
51055133
});

0 commit comments

Comments
 (0)