Files
firefly-iii/resources/js/ComponentDemo/react-element-to-jsx-string/formatter/formatComplexDataStructure.js

75 lines
2.0 KiB
JavaScript
Vendored

Object.defineProperty(exports, "__esModule", {
value: true,
});
var _react = require("react");
var _stringifyObject = require("../stringifyObject");
var _stringifyObject2 = _interopRequireDefault(_stringifyObject);
var _sortObject = require("./sortObject");
var _sortObject2 = _interopRequireDefault(_sortObject);
var _parseReactElement = require("./../parser/parseReactElement");
var _parseReactElement2 = _interopRequireDefault(_parseReactElement);
var _formatTreeNode = require("./formatTreeNode");
var _formatTreeNode2 = _interopRequireDefault(_formatTreeNode);
var _spacer = require("./spacer");
var _spacer2 = _interopRequireDefault(_spacer);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : { default: obj };
}
function noRefCheck() {}
exports.default = function(value, inline, lvl, options) {
var normalizedValue = (0, _sortObject2.default)(value);
var stringifiedValue = (0, _stringifyObject2.default)(normalizedValue, {
transform: function transform(currentObj, prop, originalResult) {
var currentValue = currentObj[prop];
if (currentValue && (0, _react.isValidElement)(currentValue)) {
return (0, _formatTreeNode2.default)(
(0, _parseReactElement2.default)(currentValue, options),
true,
lvl,
options
);
}
if (typeof currentValue === "function") {
return noRefCheck;
}
return originalResult;
},
});
if (inline) {
return stringifiedValue
.replace(/\s+/g, " ")
.replace(/{ /g, "{")
.replace(/ }/g, "}")
.replace(/\[ /g, "[")
.replace(/ ]/g, "]");
}
// Replace tabs with spaces, and add necessary indentation in front of each new line
return stringifiedValue
.replace(/\t/g, (0, _spacer2.default)(1, options.tabStop))
.replace(
/\n([^$])/g,
"\n" + (0, _spacer2.default)(lvl + 1, options.tabStop) + "$1"
);
};
//# sourceMappingURL=formatComplexDataStructure.js.map