From 61aeb2924d0fc89c84f9360cc5ee6c338d3b1dbf Mon Sep 17 00:00:00 2001 From: Armano Date: Sat, 19 Jan 2019 02:15:13 +0100 Subject: [PATCH] chore(typescript-estree): update type annotation in index signature --- .../typescript-eslint-parser/src/visitor-keys.ts | 2 +- .../tests/lib/__snapshots__/typescript.ts.snap | 1 - packages/typescript-estree/src/convert.ts | 13 ++++++++----- .../tests/lib/__snapshots__/typescript.ts.snap | 1 - 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/packages/typescript-eslint-parser/src/visitor-keys.ts b/packages/typescript-eslint-parser/src/visitor-keys.ts index 362c8a2555f5..0c6586a8a65d 100644 --- a/packages/typescript-eslint-parser/src/visitor-keys.ts +++ b/packages/typescript-eslint-parser/src/visitor-keys.ts @@ -76,7 +76,7 @@ export const visitorKeys = eslintVisitorKeys.unionWith({ TSLiteralType: ['literal'], TSIntersectionType: ['types'], TSIndexedAccessType: ['indexType', 'objectType'], - TSIndexSignature: ['typeAnnotation', 'parameters'], + TSIndexSignature: ['parameters', 'typeAnnotation'], TSInterfaceBody: ['body'], TSInterfaceDeclaration: ['id', 'typeParameters', 'extends', 'body'], TSInterfaceHeritage: ['expression', 'typeParameters'], diff --git a/packages/typescript-eslint-parser/tests/lib/__snapshots__/typescript.ts.snap b/packages/typescript-eslint-parser/tests/lib/__snapshots__/typescript.ts.snap index 7016555db2dd..8bb68f2db69b 100644 --- a/packages/typescript-eslint-parser/tests/lib/__snapshots__/typescript.ts.snap +++ b/packages/typescript-eslint-parser/tests/lib/__snapshots__/typescript.ts.snap @@ -110090,7 +110090,6 @@ Object { 27, ], "type": "TSIndexSignature", - "typeAnnotation": null, }, ], "range": Array [ diff --git a/packages/typescript-estree/src/convert.ts b/packages/typescript-estree/src/convert.ts index 10b9ed3c8d4f..b3315e87f28c 100644 --- a/packages/typescript-estree/src/convert.ts +++ b/packages/typescript-estree/src/convert.ts @@ -282,7 +282,7 @@ export default function convert(config: ConvertConfig): ESTreeNode | null { return []; } return parameters.map(param => { - const convertedParam = convertChild(param) as ESTreeNode; + const convertedParam = convertChild(param)!; if (!param.decorators || !param.decorators.length) { return convertedParam; } @@ -1881,8 +1881,8 @@ export default function convert(config: ConvertConfig): ESTreeNode | null { case SyntaxKind.JsxFragment: Object.assign(result, { type: AST_NODE_TYPES.JSXFragment, - openingFragment: convertChild((node as ts.JsxFragment).openingFragment), - closingFragment: convertChild((node as ts.JsxFragment).closingFragment), + openingFragment: convertChild(node.openingFragment), + closingFragment: convertChild(node.closingFragment), children: node.children.map(convertChild) }); break; @@ -2248,10 +2248,13 @@ export default function convert(config: ConvertConfig): ESTreeNode | null { case SyntaxKind.IndexSignature: { Object.assign(result, { type: AST_NODE_TYPES.TSIndexSignature, - parameters: node.parameters.map(convertChild), - typeAnnotation: node.type ? convertTypeAnnotation(node.type) : null + parameters: node.parameters.map(convertChild) }); + if (node.type) { + result.typeAnnotation = convertTypeAnnotation(node.type); + } + if (hasModifier(SyntaxKind.ReadonlyKeyword, node)) { result.readonly = true; } diff --git a/packages/typescript-estree/tests/lib/__snapshots__/typescript.ts.snap b/packages/typescript-estree/tests/lib/__snapshots__/typescript.ts.snap index 27a3e87ad527..db25a369d225 100644 --- a/packages/typescript-estree/tests/lib/__snapshots__/typescript.ts.snap +++ b/packages/typescript-estree/tests/lib/__snapshots__/typescript.ts.snap @@ -109676,7 +109676,6 @@ Object { 27, ], "type": "TSIndexSignature", - "typeAnnotation": null, }, ], "range": Array [