From 69d724f5549934e2c9997cd371384631d775d784 Mon Sep 17 00:00:00 2001 From: Ivo Gabe de Wolff Date: Sun, 4 Jan 2015 20:58:45 +0100 Subject: [PATCH] Fix tagged templates that consist of a single part MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Example: foo `bar` should compile to foo([“bar”]) --- src/compiler/emitter.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index 54683c5e393..602e4ccc12c 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -2048,7 +2048,12 @@ module ts { } function getTemplateLiteralAsStringLiteral(node: LiteralExpression): string { - return '"' + escapeString(node.text) + '"'; + if (node.parent.kind === SyntaxKind.TaggedTemplateExpression) { + // Emit tagged template as foo(["string"]) + return '["' + escapeString(node.text) + '"]'; + } else { + return '"' + escapeString(node.text) + '"'; + } } function emitTemplateExpression(node: TemplateExpression): void {