From b2ec33389cc914f320219c91978187cfc6b48df7 Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Fri, 22 Sep 2017 16:54:46 -0700 Subject: [PATCH] Add missing factory functions for template head, middle, tail, and no substituion template literal (#18709) --- src/compiler/factory.ts | 48 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/src/compiler/factory.ts b/src/compiler/factory.ts index 1b412198e5..240ce347a4 100644 --- a/src/compiler/factory.ts +++ b/src/compiler/factory.ts @@ -1207,6 +1207,54 @@ namespace ts { : node; } + export function createTemplateHead(text: string) { + const node = createSynthesizedNode(SyntaxKind.TemplateHead); + node.text = text; + return node; + } + + export function updateTemplateHead(node: TemplateHead, text: string) { + return node.text !== text + ? updateNode(createTemplateHead(text), node) + : node; + } + + export function createTemplateMiddle(text: string) { + const node = createSynthesizedNode(SyntaxKind.TemplateMiddle); + node.text = text; + return node; + } + + export function updateTemplateMiddle(node: TemplateMiddle, text: string) { + return node.text !== text + ? updateNode(createTemplateMiddle(text), node) + : node; + } + + export function createTemplateTail(text: string) { + const node = createSynthesizedNode(SyntaxKind.TemplateTail); + node.text = text; + return node; + } + + export function updateTemplateTail(node: TemplateTail, text: string) { + return node.text !== text + ? updateNode(createTemplateTail(text), node) + : node; + } + + export function createNoSubstitutionTemplateLiteral(text: string) { + const node = createSynthesizedNode(SyntaxKind.NoSubstitutionTemplateLiteral); + node.text = text; + return node; + } + + export function updateNoSubstitutionTemplateLiteral(node: NoSubstitutionTemplateLiteral, text: string) { + return node.text !== text + ? updateNode(createNoSubstitutionTemplateLiteral(text), node) + : node; + } + export function createYield(expression?: Expression): YieldExpression; export function createYield(asteriskToken: AsteriskToken, expression: Expression): YieldExpression; export function createYield(asteriskTokenOrExpression?: AsteriskToken | Expression, expression?: Expression) {