| "use strict"; |
| |
| Object.defineProperty(exports, "__esModule", { |
| value: true |
| }); |
| exports.default = cleanJSXElementLiteralChild; |
| |
| var _generated = require("../../builders/generated"); |
| |
| function cleanJSXElementLiteralChild(child, args) { |
| const lines = child.value.split(/\r\n|\n|\r/); |
| let lastNonEmptyLine = 0; |
| |
| for (let i = 0; i < lines.length; i++) { |
| if (lines[i].match(/[^ \t]/)) { |
| lastNonEmptyLine = i; |
| } |
| } |
| |
| let str = ""; |
| |
| for (let i = 0; i < lines.length; i++) { |
| const line = lines[i]; |
| const isFirstLine = i === 0; |
| const isLastLine = i === lines.length - 1; |
| const isLastNonEmptyLine = i === lastNonEmptyLine; |
| let trimmedLine = line.replace(/\t/g, " "); |
| |
| if (!isFirstLine) { |
| trimmedLine = trimmedLine.replace(/^[ ]+/, ""); |
| } |
| |
| if (!isLastLine) { |
| trimmedLine = trimmedLine.replace(/[ ]+$/, ""); |
| } |
| |
| if (trimmedLine) { |
| if (!isLastNonEmptyLine) { |
| trimmedLine += " "; |
| } |
| |
| str += trimmedLine; |
| } |
| } |
| |
| if (str) args.push((0, _generated.stringLiteral)(str)); |
| } |