1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", {
|
3 | value: true
|
4 | });
|
5 | function _export(target, all) {
|
6 | for(var name in all)Object.defineProperty(target, name, {
|
7 | enumerable: true,
|
8 | get: all[name]
|
9 | });
|
10 | }
|
11 | _export(exports, {
|
12 | render: function() {
|
13 | return render;
|
14 | },
|
15 | default: function() {
|
16 | return _default;
|
17 | }
|
18 | });
|
19 | var _core = _interopRequireDefault(require("@bbob/core"));
|
20 | var _pluginHelper = require("@bbob/plugin-helper");
|
21 | function _extends() {
|
22 | _extends = Object.assign || function(target) {
|
23 | for(var i = 1; i < arguments.length; i++){
|
24 | var source = arguments[i];
|
25 | for(var key in source){
|
26 | if (Object.prototype.hasOwnProperty.call(source, key)) {
|
27 | target[key] = source[key];
|
28 | }
|
29 | }
|
30 | }
|
31 | return target;
|
32 | };
|
33 | return _extends.apply(this, arguments);
|
34 | }
|
35 | function _interopRequireDefault(obj) {
|
36 | return obj && obj.__esModule ? obj : {
|
37 | default: obj
|
38 | };
|
39 | }
|
40 | var _typeof = function(obj) {
|
41 | "@swc/helpers - typeof";
|
42 | return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
43 | };
|
44 | var SELFCLOSE_END_TAG = "/>";
|
45 | var CLOSE_START_TAG = "</";
|
46 | var START_TAG = "<";
|
47 | var END_TAG = ">";
|
48 | var renderNode = function(node, param) {
|
49 | var _param_stripTags = param.stripTags, stripTags = _param_stripTags === void 0 ? false : _param_stripTags;
|
50 | if (!node) return "";
|
51 | var type = typeof node === "undefined" ? "undefined" : _typeof(node);
|
52 | if (type === "string" || type === "number") {
|
53 | return node;
|
54 | }
|
55 | if (type === "object") {
|
56 | if (stripTags === true) {
|
57 |
|
58 | return renderNodes(node.content, {
|
59 | stripTags: stripTags
|
60 | });
|
61 | }
|
62 | if (node.content === null) {
|
63 | return [
|
64 | START_TAG,
|
65 | node.tag,
|
66 | (0, _pluginHelper.attrsToString)(node.attrs),
|
67 | SELFCLOSE_END_TAG
|
68 | ].join("");
|
69 | }
|
70 |
|
71 | return [
|
72 | START_TAG,
|
73 | node.tag,
|
74 | (0, _pluginHelper.attrsToString)(node.attrs),
|
75 | END_TAG,
|
76 | renderNodes(node.content),
|
77 | CLOSE_START_TAG,
|
78 | node.tag,
|
79 | END_TAG
|
80 | ].join("");
|
81 | }
|
82 | if (Array.isArray(node)) {
|
83 |
|
84 | return renderNodes(node, {
|
85 | stripTags: stripTags
|
86 | });
|
87 | }
|
88 | return "";
|
89 | };
|
90 | var renderNodes = function(nodes, param) {
|
91 | var _ref = param === void 0 ? {} : param, _ref_stripTags = _ref.stripTags, stripTags = _ref_stripTags === void 0 ? false : _ref_stripTags;
|
92 | return [].concat(nodes).reduce(function(r, node) {
|
93 | return r + renderNode(node, {
|
94 | stripTags: stripTags
|
95 | });
|
96 | }, "");
|
97 | };
|
98 | var toHTML = function(source, plugins, options) {
|
99 | return (0, _core.default)(plugins).process(source, _extends({}, options, {
|
100 | render: renderNodes
|
101 | })).html;
|
102 | };
|
103 | var render = renderNodes;
|
104 | var _default = toHTML;
|