From e348cb298a2e88758028218ec7bd37ef351a2873 Mon Sep 17 00:00:00 2001 From: Scott O'Hara Date: Tue, 17 Sep 2019 12:35:15 +1000 Subject: [PATCH] fix(eslint-plugin): [pfa] Allow async getter/setter in classes (#980) --- packages/eslint-plugin/src/rules/promise-function-async.ts | 3 ++- .../tests/rules/promise-function-async.test.ts | 6 ++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/eslint-plugin/src/rules/promise-function-async.ts b/packages/eslint-plugin/src/rules/promise-function-async.ts index 8ec816b456b..1575cf02dfc 100644 --- a/packages/eslint-plugin/src/rules/promise-function-async.ts +++ b/packages/eslint-plugin/src/rules/promise-function-async.ts @@ -105,7 +105,8 @@ export default util.createRule({ if ( node.parent && - node.parent.type === 'Property' && + (node.parent.type === 'Property' || + node.parent.type === 'MethodDefinition') && (node.parent.kind === 'get' || node.parent.kind === 'set') ) { return; diff --git a/packages/eslint-plugin/tests/rules/promise-function-async.test.ts b/packages/eslint-plugin/tests/rules/promise-function-async.test.ts index ed798ca18e2..46100db7982 100644 --- a/packages/eslint-plugin/tests/rules/promise-function-async.test.ts +++ b/packages/eslint-plugin/tests/rules/promise-function-async.test.ts @@ -54,6 +54,12 @@ class InvalidAsyncModifiers { public set asyncGetter(p: Promise) { return p; } + public get asyncGetterFunc() { + return async () => new Promise(); + } + public set asyncGetterFunc(p: () => Promise) { + return p; + } } `, `