code: function TemplateLiteral(node, parent, scope, file) {
      var nodes = [];
  
      var _arr2 = node.quasis;
      for (var _i2 = 0; _i2 < _arr2.length; _i2++) {
        var elem = _arr2[_i2];
        nodes.push(t.literal(elem.value.cooked));
  
        var expr = node.expressions.shift();
        if (expr) nodes.push(expr);
      }
  
      // filter out empty string literals
      nodes = nodes.filter(function (n) {
        return !t.isLiteral(n, { value: "" });
      });
  
      // since `+` is left-to-right associative
      // ensure the first node is a string if first/second isn't
      if (!isString(nodes[0]) && !isString(nodes[1])) {
        nodes.unshift(t.literal(""));
      }
  
      if (nodes.length > 1) {
        var root = buildBinaryExpression(nodes.shift(), nodes.shift());
  
        var _arr3 = nodes;
        for (var _i3 = 0; _i3 < _arr3.length; _i3++) {
          var _node = _arr3[_i3];
          root = buildBinaryExpression(root, _node);
        }
  
        this.replaceWith(root);
        //crawl(this);
      } else {
          return nodes[0];
        }
    }
docs: [Please add a description.]