From 8ce3a81affff2dcd484e455be47a9bde1acf114f Mon Sep 17 00:00:00 2001 From: Pavel Birukov Date: Wed, 25 Sep 2019 18:36:26 +0300 Subject: [PATCH] fix(typescript-estree): correct ClassDeclarationBase type (#1008) according to the spec, ClassDeclarationBase.id and ClassDeclarationBase.superClass are always present and nullable --- packages/eslint-plugin/src/rules/indent.ts | 2 +- packages/typescript-estree/src/ts-estree/ts-estree.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/eslint-plugin/src/rules/indent.ts b/packages/eslint-plugin/src/rules/indent.ts index aca492d4b4d..2c135fea6a7 100644 --- a/packages/eslint-plugin/src/rules/indent.ts +++ b/packages/eslint-plugin/src/rules/indent.ts @@ -344,7 +344,7 @@ export default util.createRule({ ]({ type: AST_NODE_TYPES.ClassDeclaration, body: node.body as any, - id: undefined, + id: null, // TODO: This is invalid, there can be more than one extends in interface superClass: node.extends![0].expression as any, diff --git a/packages/typescript-estree/src/ts-estree/ts-estree.ts b/packages/typescript-estree/src/ts-estree/ts-estree.ts index 296e62b0bfb..d4361bf3d5c 100644 --- a/packages/typescript-estree/src/ts-estree/ts-estree.ts +++ b/packages/typescript-estree/src/ts-estree/ts-estree.ts @@ -454,9 +454,9 @@ interface BinaryExpressionBase extends BaseNode { interface ClassDeclarationBase extends BaseNode { typeParameters?: TSTypeParameterDeclaration; superTypeParameters?: TSTypeParameterInstantiation; - id?: Identifier; + id: Identifier | null; body: ClassBody; - superClass?: LeftHandSideExpression; + superClass: LeftHandSideExpression | null; implements?: ExpressionWithTypeArguments[]; abstract?: boolean; declare?: boolean;