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; }