2d12c8a553
Run ID: 131
96 lines
2.2 KiB
Plaintext
96 lines
2.2 KiB
Plaintext
"use strict";
|
|
|
|
exports.__esModule = true;
|
|
exports.isCompatTag = isCompatTag;
|
|
exports.buildChildren = buildChildren;
|
|
// istanbul ignore next
|
|
|
|
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj["default"] = obj; return newObj; } }
|
|
|
|
var _types = require("../../types");
|
|
|
|
var t = _interopRequireWildcard(_types);
|
|
|
|
var isReactComponent = t.buildMatchMemberExpression("React.Component");
|
|
|
|
exports.isReactComponent = isReactComponent;
|
|
/**
|
|
* [Please add a description.]
|
|
*/
|
|
|
|
function isCompatTag(tagName) {
|
|
return tagName && /^[a-z]|\-/.test(tagName);
|
|
}
|
|
|
|
/**
|
|
* [Please add a description.]
|
|
*/
|
|
|
|
function cleanJSXElementLiteralChild(child, args) {
|
|
var lines = child.value.split(/\r\n|\n|\r/);
|
|
|
|
var lastNonEmptyLine = 0;
|
|
|
|
for (var i = 0; i < lines.length; i++) {
|
|
if (lines[i].match(/[^ \t]/)) {
|
|
lastNonEmptyLine = i;
|
|
}
|
|
}
|
|
|
|
var str = "";
|
|
|
|
for (var i = 0; i < lines.length; i++) {
|
|
var line = lines[i];
|
|
|
|
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, " ");
|
|
|
|
// trim whitespace touching a newline
|
|
if (!isFirstLine) {
|
|
trimmedLine = trimmedLine.replace(/^[ ]+/, "");
|
|
}
|
|
|
|
// trim whitespace touching an endline
|
|
if (!isLastLine) {
|
|
trimmedLine = trimmedLine.replace(/[ ]+$/, "");
|
|
}
|
|
|
|
if (trimmedLine) {
|
|
if (!isLastNonEmptyLine) {
|
|
trimmedLine += " ";
|
|
}
|
|
|
|
str += trimmedLine;
|
|
}
|
|
}
|
|
|
|
if (str) args.push(t.literal(str));
|
|
}
|
|
|
|
/**
|
|
* [Please add a description.]
|
|
*/
|
|
|
|
function buildChildren(node) {
|
|
var elems = [];
|
|
|
|
for (var i = 0; i < node.children.length; i++) {
|
|
var child = node.children[i];
|
|
|
|
if (t.isLiteral(child) && typeof child.value === "string") {
|
|
cleanJSXElementLiteralChild(child, elems);
|
|
continue;
|
|
}
|
|
|
|
if (t.isJSXExpressionContainer(child)) child = child.expression;
|
|
if (t.isJSXEmptyExpression(child)) continue;
|
|
|
|
elems.push(child);
|
|
}
|
|
|
|
return elems;
|
|
} |