|
@@ -38,6 +38,15 @@ export class TemplateLiteralTransformer extends AbstractNodeTransformer {
|
|
return node && NodeGuards.isLiteralNode(node) && typeof node.value === 'string';
|
|
return node && NodeGuards.isLiteralNode(node) && typeof node.value === 'string';
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * @param {Node} node
|
|
|
|
+ * @param {Node | null} parentNode
|
|
|
|
+ * @returns {boolean}
|
|
|
|
+ */
|
|
|
|
+ private static isValidTemplateLiteralNode (node: ESTree.Node, parentNode: ESTree.Node): node is ESTree.TemplateLiteral {
|
|
|
|
+ return NodeGuards.isTemplateLiteralNode(node) && !NodeGuards.isTaggedTemplateExpressionNode(parentNode);
|
|
|
|
+ }
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* @param {TransformationStage} transformationStage
|
|
* @param {TransformationStage} transformationStage
|
|
* @returns {IVisitor | null}
|
|
* @returns {IVisitor | null}
|
|
@@ -47,7 +56,7 @@ export class TemplateLiteralTransformer extends AbstractNodeTransformer {
|
|
case TransformationStage.Converting:
|
|
case TransformationStage.Converting:
|
|
return {
|
|
return {
|
|
leave: (node: ESTree.Node, parentNode: ESTree.Node | null) => {
|
|
leave: (node: ESTree.Node, parentNode: ESTree.Node | null) => {
|
|
- if (parentNode && NodeGuards.isTemplateLiteralNode(node)) {
|
|
|
|
|
|
+ if (parentNode && TemplateLiteralTransformer.isValidTemplateLiteralNode(node, parentNode)) {
|
|
return this.transformNode(node, parentNode);
|
|
return this.transformNode(node, parentNode);
|
|
}
|
|
}
|
|
}
|
|
}
|