From 44e41e283da6629ee740044b03c19e38d3ffdb80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Ferna=CC=81ndez=20Haro?= Date: Thu, 6 Aug 2020 12:00:38 +0100 Subject: [PATCH] [Telemetry Checker] TS4 Fixes --- .../extract_collectors.test.ts.snap | 24 +++++++++---------- .../src/tools/serializer.ts | 17 +++++++------ 2 files changed, 22 insertions(+), 19 deletions(-) diff --git a/packages/kbn-telemetry-tools/src/tools/__snapshots__/extract_collectors.test.ts.snap b/packages/kbn-telemetry-tools/src/tools/__snapshots__/extract_collectors.test.ts.snap index fc933b6c7fd35..4e86a3cf6d4a4 100644 --- a/packages/kbn-telemetry-tools/src/tools/__snapshots__/extract_collectors.test.ts.snap +++ b/packages/kbn-telemetry-tools/src/tools/__snapshots__/extract_collectors.test.ts.snap @@ -9,7 +9,7 @@ Array [ "fetch": Object { "typeDescriptor": Object { "locale": Object { - "kind": 143, + "kind": 146, "type": "StringKeyword", }, }, @@ -31,7 +31,7 @@ Array [ "fetch": Object { "typeDescriptor": Object { "locale": Object { - "kind": 143, + "kind": 146, "type": "StringKeyword", }, }, @@ -53,7 +53,7 @@ Array [ "fetch": Object { "typeDescriptor": Object { "locale": Object { - "kind": 143, + "kind": 146, "type": "StringKeyword", }, }, @@ -75,7 +75,7 @@ Array [ "fetch": Object { "typeDescriptor": Object { "locale": Object { - "kind": 143, + "kind": 146, "type": "StringKeyword", }, }, @@ -97,7 +97,7 @@ Array [ "fetch": Object { "typeDescriptor": Object { "locale": Object { - "kind": 143, + "kind": 146, "type": "StringKeyword", }, }, @@ -119,35 +119,35 @@ Array [ "fetch": Object { "typeDescriptor": Object { "flat": Object { - "kind": 143, + "kind": 146, "type": "StringKeyword", }, "my_array": Object { "total": Object { - "kind": 140, + "kind": 143, "type": "NumberKeyword", }, "type": Object { - "kind": 128, + "kind": 131, "type": "BooleanKeyword", }, }, "my_objects": Object { "total": Object { - "kind": 140, + "kind": 143, "type": "NumberKeyword", }, "type": Object { - "kind": 128, + "kind": 131, "type": "BooleanKeyword", }, }, "my_str": Object { - "kind": 143, + "kind": 146, "type": "StringKeyword", }, "my_str_array": Object { - "kind": 143, + "kind": 146, "type": "StringKeyword", }, }, diff --git a/packages/kbn-telemetry-tools/src/tools/serializer.ts b/packages/kbn-telemetry-tools/src/tools/serializer.ts index bce5dd7f58643..2fcbad1e68380 100644 --- a/packages/kbn-telemetry-tools/src/tools/serializer.ts +++ b/packages/kbn-telemetry-tools/src/tools/serializer.ts @@ -137,14 +137,11 @@ export function getDescriptor(node: ts.Node, program: ts.Program): Descriptor | } if (ts.isUnionTypeNode(node)) { - const types = node.types.filter((typeNode) => { - return ( - typeNode.kind !== ts.SyntaxKind.NullKeyword && - typeNode.kind !== ts.SyntaxKind.UndefinedKeyword - ); - }); + const types = node.types.filter(discardNullOrUndefined); - const kinds = types.map((typeNode) => getDescriptor(typeNode, program)); + const kinds = types + .map((typeNode) => getDescriptor(typeNode, program)) + .filter(discardNullOrUndefined); const uniqueKinds = uniq(kinds, 'kind'); @@ -167,3 +164,9 @@ export function getDescriptor(node: ts.Node, program: ts.Program): Descriptor | throw new Error(`Unknown type ${ts.SyntaxKind[node.kind]}; ${node.getText()}`); } } + +function discardNullOrUndefined(typeNode: ts.TypeNode | Descriptor | DescriptorValue) { + return ( + typeNode.kind !== ts.SyntaxKind.NullKeyword && typeNode.kind !== ts.SyntaxKind.UndefinedKeyword + ); +}