UNPKG

react-code-view

Version:
29 lines (28 loc) 810 B
"use strict"; 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 }; }); }