Merge pull request #683 from caseywebdev/concat-string-literals

Concatenate adjacent string literals in JSX
This commit is contained in:
Sebastian McKenzie
2015-02-04 10:22:51 +11:00
3 changed files with 35 additions and 8 deletions

View File

@@ -5,9 +5,10 @@
// jsx
var esutils = require("esutils");
var react = require("../../helpers/react");
var t = require("../../../types");
var esutils = require("esutils");
var isString = require("lodash/lang/isString");
var react = require("../../helpers/react");
var t = require("../../../types");
exports.JSXIdentifier = function (node, parent) {
if (node.name === "this" && t.isReferenced(node, parent)) {
@@ -185,7 +186,6 @@ var cleanJSXElementLiteralChild = function (child, args) {
var isFirstLine = i === 0;
var isLastLine = i === lines.length - 1;
var isLastNonEmptyLine = i === lastNonEmptyLine;
// replace rendered whitespace tabs with spaces
var trimmedLine = line.replace(/\t/g, " ");
@@ -201,11 +201,12 @@ var cleanJSXElementLiteralChild = function (child, args) {
}
if (trimmedLine) {
if (!isLastNonEmptyLine) {
trimmedLine += " ";
var lastArg = args[args.length - 1];
if (t.isLiteral(lastArg) && isString(lastArg.value)) {
lastArg.value += " " + trimmedLine;
} else {
args.push(t.literal(trimmedLine));
}
args.push(t.literal(trimmedLine));
}
}
};