From c70f54fd3a46a12060ae3aec0faae872c431dd88 Mon Sep 17 00:00:00 2001 From: Brad Zacher Date: Tue, 28 Jul 2020 11:00:05 -0700 Subject: [PATCH] fix(eslint-plugin): [no-unused-vars] handle TSCallSignature (#2336) --- .../eslint-plugin/src/rules/no-unused-vars.ts | 3 ++- .../tests/rules/no-unused-vars.test.ts | 20 +++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/packages/eslint-plugin/src/rules/no-unused-vars.ts b/packages/eslint-plugin/src/rules/no-unused-vars.ts index ad5d597edf5..85f80698579 100644 --- a/packages/eslint-plugin/src/rules/no-unused-vars.ts +++ b/packages/eslint-plugin/src/rules/no-unused-vars.ts @@ -84,8 +84,9 @@ export default util.createRule({ return { ...rules, - 'TSConstructorType, TSConstructSignatureDeclaration, TSDeclareFunction, TSEmptyBodyFunctionExpression, TSFunctionType, TSMethodSignature'( + 'TSCallSignatureDeclaration, TSConstructorType, TSConstructSignatureDeclaration, TSDeclareFunction, TSEmptyBodyFunctionExpression, TSFunctionType, TSMethodSignature'( node: + | TSESTree.TSCallSignatureDeclaration | TSESTree.TSConstructorType | TSESTree.TSConstructSignatureDeclaration | TSESTree.TSDeclareFunction diff --git a/packages/eslint-plugin/tests/rules/no-unused-vars.test.ts b/packages/eslint-plugin/tests/rules/no-unused-vars.test.ts index 588b4141529..6baafcf9d29 100644 --- a/packages/eslint-plugin/tests/rules/no-unused-vars.test.ts +++ b/packages/eslint-plugin/tests/rules/no-unused-vars.test.ts @@ -729,6 +729,26 @@ export function foo() { return new Promise(); } `, + // https://github.com/typescript-eslint/typescript-eslint/issues/2331 + { + code: ` +export interface Event { + ( + listener: (e: T) => any, + thisArgs?: any, + disposables?: Disposable[], + ): Disposable; +} + `, + options: [ + { + args: 'after-used', + argsIgnorePattern: '^_', + ignoreRestSiblings: true, + varsIgnorePattern: '^_$', + }, + ], + }, ], invalid: [