From de79a1d214ee5ff301282273a06cc662393543d0 Mon Sep 17 00:00:00 2001 From: Armano Date: Fri, 25 Jan 2019 19:39:24 +0100 Subject: [PATCH 1/2] fix(ts-estree): expand optional property to include question token --- packages/typescript-estree/src/convert.ts | 8 ++++++++ .../tests/ast-alignment/fixtures-to-test.ts | 4 ---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/packages/typescript-estree/src/convert.ts b/packages/typescript-estree/src/convert.ts index 64120d6a8d85..ff365b187c7e 100644 --- a/packages/typescript-estree/src/convert.ts +++ b/packages/typescript-estree/src/convert.ts @@ -1315,6 +1315,14 @@ export default function convert(config: ConvertConfig): ESTreeNode | null { } if (node.questionToken) { + if (node.questionToken.end > parameter.range[1]) { + parameter.range[1] = node.questionToken.end; + parameter.loc = getLocFor( + parameter.range[0], + parameter.range[1], + ast + ); + } parameter.optional = true; } diff --git a/packages/typescript-estree/tests/ast-alignment/fixtures-to-test.ts b/packages/typescript-estree/tests/ast-alignment/fixtures-to-test.ts index 522cc53a3351..b44faf0feb64 100644 --- a/packages/typescript-estree/tests/ast-alignment/fixtures-to-test.ts +++ b/packages/typescript-estree/tests/ast-alignment/fixtures-to-test.ts @@ -323,10 +323,6 @@ tester.addFixturePatternConfig('typescript/basics', { * TODO: Investigate in more depth, potentially split up different parts of the interface */ 'interface-with-all-property-types', // babel parse errors - /** - * there is difference in range between babel and ts-estree - */ - 'interface-with-optional-properties', /** * Babel parses it as TSQualifiedName * ts parses it as MemberExpression From 25cd338f9d4f6723a22031652db6387767c59af5 Mon Sep 17 00:00:00 2001 From: Armano Date: Fri, 25 Jan 2019 20:02:30 +0100 Subject: [PATCH 2/2] test(ts-estree): update snapshots --- .../tests/lib/__snapshots__/typescript.ts.snap | 12 ++++++------ .../tests/lib/__snapshots__/typescript.ts.snap | 12 ++++++------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/packages/parser/tests/lib/__snapshots__/typescript.ts.snap b/packages/parser/tests/lib/__snapshots__/typescript.ts.snap index e2dfa3efa430..08e944aecc31 100644 --- a/packages/parser/tests/lib/__snapshots__/typescript.ts.snap +++ b/packages/parser/tests/lib/__snapshots__/typescript.ts.snap @@ -48454,7 +48454,7 @@ Object { Object { "loc": Object { "end": Object { - "column": 13, + "column": 14, "line": 12, }, "start": Object { @@ -48466,7 +48466,7 @@ Object { "optional": true, "range": Array [ 253, - 254, + 255, ], "type": "Identifier", }, @@ -48544,7 +48544,7 @@ Object { Object { "loc": Object { "end": Object { - "column": 16, + "column": 17, "line": 13, }, "start": Object { @@ -48556,7 +48556,7 @@ Object { "optional": true, "range": Array [ 281, - 282, + 283, ], "type": "Identifier", }, @@ -53553,7 +53553,7 @@ Object { Object { "loc": Object { "end": Object { - "column": 31, + "column": 32, "line": 4, }, "start": Object { @@ -53565,7 +53565,7 @@ Object { "optional": true, "range": Array [ 73, - 76, + 77, ], "type": "Identifier", }, diff --git a/packages/typescript-estree/tests/lib/__snapshots__/typescript.ts.snap b/packages/typescript-estree/tests/lib/__snapshots__/typescript.ts.snap index b481510bdae7..c5085cf91009 100644 --- a/packages/typescript-estree/tests/lib/__snapshots__/typescript.ts.snap +++ b/packages/typescript-estree/tests/lib/__snapshots__/typescript.ts.snap @@ -48344,7 +48344,7 @@ Object { Object { "loc": Object { "end": Object { - "column": 13, + "column": 14, "line": 12, }, "start": Object { @@ -48356,7 +48356,7 @@ Object { "optional": true, "range": Array [ 253, - 254, + 255, ], "type": "Identifier", }, @@ -48434,7 +48434,7 @@ Object { Object { "loc": Object { "end": Object { - "column": 16, + "column": 17, "line": 13, }, "start": Object { @@ -48446,7 +48446,7 @@ Object { "optional": true, "range": Array [ 281, - 282, + 283, ], "type": "Identifier", }, @@ -53414,7 +53414,7 @@ Object { Object { "loc": Object { "end": Object { - "column": 31, + "column": 32, "line": 4, }, "start": Object { @@ -53426,7 +53426,7 @@ Object { "optional": true, "range": Array [ 73, - 76, + 77, ], "type": "Identifier", }, pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy