From 8cd32535acef07ecb0cc4c788c883de35eb1b809 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Wed, 27 Apr 2016 13:54:40 -0700 Subject: [PATCH] Display the name 'nothing' for the empty union type --- src/compiler/checker.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index ddaea2285c5..516a01ecf44 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -2014,7 +2014,12 @@ namespace ts { writeUnionOrIntersectionType(type, flags); } else if (type.flags & TypeFlags.Anonymous) { - writeAnonymousType(type, flags); + if (type === emptyUnionType) { + writer.writeKeyword("nothing"); + } + else { + writeAnonymousType(type, flags); + } } else if (type.flags & TypeFlags.StringLiteral) { writer.writeStringLiteral(`"${escapeString((type).text)}"`); @@ -4247,7 +4252,9 @@ namespace ts { propTypes.push(getTypeOfSymbol(prop)); } } - return getUnionType(propTypes); + if (propTypes.length) { + return getUnionType(propTypes); + } } return undefined; }