react-code-view
Version:
Code view for React
29 lines (28 loc) • 810 B
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = parseHTML;
var _parseDom = _interopRequireDefault(require("./parseDom"));
function text(element) {
return element.textContent || element.innerText;
}
function parseHTML(source) {
if (!source) {
return null;
}
var fragments = source.split(/(<!-+\ ?start-code\ ?-+>[\s\S]+?<!-+\ ?end-code\ ?-+>)/gi);
return fragments.map(function (fragment, key) {
if (fragment.match(/<!-+\ ?start-code\ ?-+>[\s\S]+?<!-+\ ?end-code\ ?-+>/gi)) {
return {
key: key,
type: 'code',
content: text((0, _parseDom["default"])(fragment))
};
}
return {
key: key,
type: 'html',
content: fragment
};
});
}