mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-02-21 13:14:43 -06:00
Avoid breaking change by introducing overloads for 'createTaggedTemplate'/'updateTaggedTemplate'.
This commit is contained in:
parent
a2073f1217
commit
4bfb1a3aa1
@ -1032,19 +1032,32 @@ namespace ts {
|
||||
: node;
|
||||
}
|
||||
|
||||
export function createTaggedTemplate(tag: Expression, typeArguments: NodeArray<TypeNode>, template: TemplateLiteral) {
|
||||
export function createTaggedTemplate(tag: Expression, template: TemplateLiteral): TaggedTemplateExpression;
|
||||
export function createTaggedTemplate(tag: Expression, typeArguments: ReadonlyArray<TypeNode>, template: TemplateLiteral): TaggedTemplateExpression;
|
||||
/** @internal */
|
||||
export function createTaggedTemplate(tag: Expression, typeArgumentsOrTemplate: ReadonlyArray<TypeNode> | TemplateLiteral, template?: TemplateLiteral): TaggedTemplateExpression;
|
||||
export function createTaggedTemplate(tag: Expression, typeArgumentsOrTemplate: ReadonlyArray<TypeNode> | TemplateLiteral, template?: TemplateLiteral) {
|
||||
const node = <TaggedTemplateExpression>createSynthesizedNode(SyntaxKind.TaggedTemplateExpression);
|
||||
node.tag = parenthesizeForAccess(tag);
|
||||
node.typeArguments = typeArguments;
|
||||
node.template = template;
|
||||
if (template) {
|
||||
node.typeArguments = asNodeArray(typeArgumentsOrTemplate as ReadonlyArray<TypeNode>);
|
||||
node.template = template!;
|
||||
}
|
||||
else {
|
||||
node.typeArguments = undefined;
|
||||
node.template = typeArgumentsOrTemplate as TemplateLiteral;
|
||||
}
|
||||
return node;
|
||||
}
|
||||
|
||||
export function updateTaggedTemplate(node: TaggedTemplateExpression, tag: Expression, typeArguments: NodeArray<TypeNode>, template: TemplateLiteral) {
|
||||
export function updateTaggedTemplate(node: TaggedTemplateExpression, tag: Expression, template: TemplateLiteral): TaggedTemplateExpression;
|
||||
export function updateTaggedTemplate(node: TaggedTemplateExpression, tag: Expression, typeArguments: ReadonlyArray<TypeNode>, template: TemplateLiteral): TaggedTemplateExpression;
|
||||
export function updateTaggedTemplate(node: TaggedTemplateExpression, tag: Expression, typeArgumentsOrTemplate: ReadonlyArray<TypeNode> | TemplateLiteral, template?: TemplateLiteral) {
|
||||
return node.tag !== tag
|
||||
|| node.typeArguments !== typeArguments
|
||||
|| node.template !== template
|
||||
? updateNode(createTaggedTemplate(tag, typeArguments, template), node)
|
||||
|| (template
|
||||
? node.typeArguments !== typeArgumentsOrTemplate || node.template !== template
|
||||
: node.typeArguments !== undefined || node.template !== typeArgumentsOrTemplate)
|
||||
? updateNode(createTaggedTemplate(tag, typeArgumentsOrTemplate, template), node)
|
||||
: node;
|
||||
}
|
||||
|
||||
|
||||
@ -4370,7 +4370,6 @@ namespace ts {
|
||||
|
||||
return <MemberExpression>expression;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function isTemplateStartOfTaggedTemplate() {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user