From 9cf765ceaadae09aba1a185cc7c48819f3b5783c Mon Sep 17 00:00:00 2001 From: Ankeet Maini Date: Mon, 29 Jul 2019 21:47:10 +0530 Subject: [PATCH] fix(eslint-plugin): [no-type-alias] unhandled type Fixes #720 --- packages/eslint-plugin/src/rules/no-type-alias.ts | 3 --- .../eslint-plugin/tests/rules/no-type-alias.test.ts | 12 ++++++++++++ 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/packages/eslint-plugin/src/rules/no-type-alias.ts b/packages/eslint-plugin/src/rules/no-type-alias.ts index f260d124133f..344d0391f281 100644 --- a/packages/eslint-plugin/src/rules/no-type-alias.ts +++ b/packages/eslint-plugin/src/rules/no-type-alias.ts @@ -239,9 +239,6 @@ export default util.createRule({ ) { reportError(type.node, type.compositionType, isTopLevel, 'Aliases'); } - } else { - // unhandled type - shouldn't happen - reportError(type.node, type.compositionType, isTopLevel, 'Unhandled'); } } diff --git a/packages/eslint-plugin/tests/rules/no-type-alias.test.ts b/packages/eslint-plugin/tests/rules/no-type-alias.test.ts index 3c3d83520e8f..b02f43378aea 100644 --- a/packages/eslint-plugin/tests/rules/no-type-alias.test.ts +++ b/packages/eslint-plugin/tests/rules/no-type-alias.test.ts @@ -7,6 +7,18 @@ const ruleTester = new RuleTester({ ruleTester.run('no-type-alias', rule, { valid: [ + { + code: 'type Foo = string | [number, number];', + options: [{ allowAliases: 'in-unions' }], + }, + { + code: 'type Foo = string & [number, number];', + options: [{ allowAliases: 'in-intersections' }], + }, + { + code: 'type Foo = string & [number, number] | [number, number, number];', + options: [{ allowAliases: 'in-unions-and-intersections' }], + }, { code: "type A = 'a' & ('b' | 'c');", options: [{ allowAliases: 'always' }],