move template literal generators into separate file
This commit is contained in:
@@ -208,13 +208,14 @@ CodeGenerator.prototype.printJoin = function (print, nodes, sep, opts) {
|
||||
|
||||
CodeGenerator.generators = {
|
||||
arrayComprehensions: require("./generators/array-comprehensions"),
|
||||
base: require("./generators/base"),
|
||||
classes: require("./generators/classes"),
|
||||
templateLiterals: require("./generators/template-literals"),
|
||||
expressions: require("./generators/expressions"),
|
||||
statements: require("./generators/statements"),
|
||||
classes: require("./generators/classes"),
|
||||
methods: require("./generators/methods"),
|
||||
modules: require("./generators/modules"),
|
||||
statements: require("./generators/statements"),
|
||||
types: require("./generators/types"),
|
||||
base: require("./generators/base"),
|
||||
jsx: require("./generators/jsx")
|
||||
};
|
||||
|
||||
|
||||
@@ -95,32 +95,3 @@ exports.MemberExpression = function (node, print) {
|
||||
print(node.property);
|
||||
}
|
||||
};
|
||||
|
||||
exports.TaggedTemplateExpression = function (node, print) {
|
||||
print(node.tag);
|
||||
print(node.quasi);
|
||||
};
|
||||
|
||||
exports.TemplateElement = function (node, print) {
|
||||
this.push(node.value.raw);
|
||||
};
|
||||
|
||||
exports.TemplateLiteral = function (node, print) {
|
||||
this.push("`");
|
||||
|
||||
var quasis = node.quasis;
|
||||
var self = this;
|
||||
var len = quasis.length;
|
||||
|
||||
_.each(quasis, function (quasi, i) {
|
||||
print(quasi);
|
||||
|
||||
if (i + 1 < len) {
|
||||
self.push("${ ");
|
||||
print(node.expressions[i]);
|
||||
self.push(" }");
|
||||
}
|
||||
});
|
||||
|
||||
this.push("`");
|
||||
};
|
||||
|
||||
30
lib/6to5/generators/template-literals.js
Normal file
30
lib/6to5/generators/template-literals.js
Normal file
@@ -0,0 +1,30 @@
|
||||
var _ = require("lodash");
|
||||
|
||||
exports.TaggedTemplateExpression = function (node, print) {
|
||||
print(node.tag);
|
||||
print(node.quasi);
|
||||
};
|
||||
|
||||
exports.TemplateElement = function (node, print) {
|
||||
this.push(node.value.raw);
|
||||
};
|
||||
|
||||
exports.TemplateLiteral = function (node, print) {
|
||||
this.push("`");
|
||||
|
||||
var quasis = node.quasis;
|
||||
var self = this;
|
||||
var len = quasis.length;
|
||||
|
||||
_.each(quasis, function (quasi, i) {
|
||||
print(quasi);
|
||||
|
||||
if (i + 1 < len) {
|
||||
self.push("${ ");
|
||||
print(node.expressions[i]);
|
||||
self.push(" }");
|
||||
}
|
||||
});
|
||||
|
||||
this.push("`");
|
||||
};
|
||||
Reference in New Issue
Block a user