From d77945fe1f426ef5b7e1d110125a628013a83d16 Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders Date: Tue, 31 Jan 2017 10:28:02 -0800 Subject: [PATCH] typeof now has string literal union type Previously, it was just a string --- src/compiler/checker.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 26c27cb3be2..47811d6ccaf 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -14609,7 +14609,9 @@ namespace ts { function checkTypeOfExpression(node: TypeOfExpression): Type { checkExpression(node.expression); - return stringType; + const types: Type[] = []; + typeofEQFacts.forEach((_, s) => types.push(getLiteralTypeForText(TypeFlags.StringLiteral, s))); + return getUnionType(types); } function checkVoidExpression(node: VoidExpression): Type {