Skip to content

Commit b002e75

Browse files
authored
no-await-expression-member: Fix crash on TypeScript parser (#1910)
1 parent fde97ab commit b002e75

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

rules/no-await-expression-member.js

+2
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ const create = context => {
3030
&& memberExpression.parent.type === 'VariableDeclarator'
3131
&& memberExpression.parent.init === memberExpression
3232
&& memberExpression.parent.id.type === 'Identifier'
33+
&& !memberExpression.parent.id.typeAnnotation
3334
) {
3435
problem.fix = function * (fixer) {
3536
const variable = memberExpression.parent.id;
@@ -52,6 +53,7 @@ const create = context => {
5253
&& memberExpression.parent.init === memberExpression
5354
&& memberExpression.parent.id.type === 'Identifier'
5455
&& memberExpression.parent.id.name === property.name
56+
&& !memberExpression.parent.id.typeAnnotation
5557
) {
5658
problem.fix = function * (fixer) {
5759
const variable = memberExpression.parent.id;

test/no-await-expression-member.mjs

+10-1
Original file line numberDiff line numberDiff line change
@@ -49,5 +49,14 @@ test.typescript({
4949
valid: [
5050
'function foo () {return (await promise) as string;}',
5151
],
52-
invalid: [],
52+
invalid: [
53+
{
54+
code: 'const foo: Type = (await promise)[0]',
55+
errors: 1,
56+
},
57+
{
58+
code: 'const foo: Type | A = (await promise).foo',
59+
errors: 1,
60+
},
61+
],
5362
});

0 commit comments

Comments
 (0)