diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 9f1bf504a0e..c062398c1a9 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -1620,7 +1620,7 @@ namespace ts { writeAnonymousType(type, flags); } else if (type.flags & TypeFlags.StringLiteral) { - writer.writeStringLiteral((type).text); + writer.writeStringLiteral(`"${escapeString((type).text)}"`); } else { // Should never get here @@ -4213,12 +4213,13 @@ namespace ts { } function getStringLiteralType(node: StringLiteral): StringLiteralType { - if (hasProperty(stringLiteralTypes, node.text)) { - return stringLiteralTypes[node.text]; + const text = node.text; + if (hasProperty(stringLiteralTypes, text)) { + return stringLiteralTypes[text]; } - let type = stringLiteralTypes[node.text] = createType(TypeFlags.StringLiteral); - type.text = getTextOfNode(node); + let type = stringLiteralTypes[text] = createType(TypeFlags.StringLiteral); + type.text = text; return type; }