Skip to content

Commit c1f21f8

Browse files
committed
fix(require-param): be tolerant if this is not included as @param; fixes #919
1 parent dc1f875 commit c1f21f8

File tree

3 files changed

+47
-1
lines changed

3 files changed

+47
-1
lines changed

README.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16916,6 +16916,25 @@ function Item({
1691616916
export function testFn1 ({ prop = { a: 1, b: 2 } }) {
1691716917
}
1691816918
// "jsdoc/require-param": ["error"|"warn", {"useDefaultObjectProperties":false}]
16919+
16920+
/**
16921+
* @param this The this object
16922+
* @param bar number to return
16923+
* @returns number returned back to caller
16924+
*/
16925+
function foo(this: T, bar: number): number {
16926+
console.log(this.name);
16927+
return bar;
16928+
}
16929+
16930+
/**
16931+
* @param bar number to return
16932+
* @returns number returned back to caller
16933+
*/
16934+
function foo(this: T, bar: number): number {
16935+
console.log(this.name);
16936+
return bar;
16937+
}
1691916938
````
1692016939

1692116940

src/rules/requireParam.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -296,7 +296,7 @@ export default iterateJsdoc(({
296296
name,
297297
}) => {
298298
return name === funcParamName;
299-
})) {
299+
}) && funcParamName !== 'this') {
300300
missingTags.push({
301301
functionParameterIdx: getParamIndex(funcParamName),
302302
functionParameterName: funcParamName,

test/rules/assertions/requireParam.js

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3455,5 +3455,32 @@ export default {
34553455
],
34563456
parser: require.resolve('@typescript-eslint/parser'),
34573457
},
3458+
{
3459+
code: `
3460+
/**
3461+
* @param this The this object
3462+
* @param bar number to return
3463+
* @returns number returned back to caller
3464+
*/
3465+
function foo(this: T, bar: number): number {
3466+
console.log(this.name);
3467+
return bar;
3468+
}
3469+
`,
3470+
parser: require.resolve('@typescript-eslint/parser'),
3471+
},
3472+
{
3473+
code: `
3474+
/**
3475+
* @param bar number to return
3476+
* @returns number returned back to caller
3477+
*/
3478+
function foo(this: T, bar: number): number {
3479+
console.log(this.name);
3480+
return bar;
3481+
}
3482+
`,
3483+
parser: require.resolve('@typescript-eslint/parser'),
3484+
},
34583485
],
34593486
};

0 commit comments

Comments
 (0)