UNPKG

4.12 kBJavaScriptView Raw
1/* eslint-disable no-use-before-define,import/prefer-default-export */ "use strict";
2Object.defineProperty(exports, "__esModule", {
3 value: true
4});
5Object.defineProperty(exports, "render", {
6 enumerable: true,
7 get: function() {
8 return render;
9 }
10});
11var _core = /*#__PURE__*/ _interopRequireDefault(require("@bbob/core"));
12var _html = /*#__PURE__*/ _interopRequireWildcard(require("@bbob/html"));
13var _pluginHelper = require("@bbob/plugin-helper");
14function _extends() {
15 _extends = Object.assign || function(target) {
16 for(var i = 1; i < arguments.length; i++){
17 var source = arguments[i];
18 for(var key in source){
19 if (Object.prototype.hasOwnProperty.call(source, key)) {
20 target[key] = source[key];
21 }
22 }
23 }
24 return target;
25 };
26 return _extends.apply(this, arguments);
27}
28function _interopRequireDefault(obj) {
29 return obj && obj.__esModule ? obj : {
30 default: obj
31 };
32}
33function _getRequireWildcardCache(nodeInterop) {
34 if (typeof WeakMap !== "function") return null;
35 var cacheBabelInterop = new WeakMap();
36 var cacheNodeInterop = new WeakMap();
37 return (_getRequireWildcardCache = function(nodeInterop) {
38 return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
39 })(nodeInterop);
40}
41function _interopRequireWildcard(obj, nodeInterop) {
42 if (!nodeInterop && obj && obj.__esModule) {
43 return obj;
44 }
45 if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
46 return {
47 default: obj
48 };
49 }
50 var cache = _getRequireWildcardCache(nodeInterop);
51 if (cache && cache.has(obj)) {
52 return cache.get(obj);
53 }
54 var newObj = {};
55 var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
56 for(var key in obj){
57 if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
58 var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
59 if (desc && (desc.get || desc.set)) {
60 Object.defineProperty(newObj, key, desc);
61 } else {
62 newObj[key] = obj[key];
63 }
64 }
65 }
66 newObj.default = obj;
67 if (cache) {
68 cache.set(obj, newObj);
69 }
70 return newObj;
71}
72function _objectWithoutPropertiesLoose(source, excluded) {
73 if (source == null) return {};
74 var target = {};
75 var sourceKeys = Object.keys(source);
76 var key, i;
77 for(i = 0; i < sourceKeys.length; i++){
78 key = sourceKeys[i];
79 if (excluded.indexOf(key) >= 0) continue;
80 target[key] = source[key];
81 }
82 return target;
83}
84var toAST = function(source, plugins, options) {
85 if (plugins === void 0) plugins = [];
86 if (options === void 0) options = {};
87 return (0, _core.default)(plugins).process(source, _extends({}, options, {
88 render: function(input) {
89 return _html.render(input, {
90 stripTags: true
91 });
92 }
93 })).tree;
94};
95var isContentEmpty = function(content) {
96 return !content || content.length === 0;
97};
98function tagToVueNode(createElement, node, index) {
99 var _ref = node.attrs || {}, className = _ref.class, style = _ref.style, domProps = _objectWithoutPropertiesLoose(_ref, [
100 "class",
101 "style"
102 ]);
103 return createElement(node.tag, {
104 key: index,
105 class: className,
106 style: style,
107 domProps: domProps
108 }, isContentEmpty(node.content) ? null : renderToVueNodes(createElement, node.content));
109}
110function renderToVueNodes(createElement, nodes) {
111 return [].concat(nodes).reduce(function(arr, node, index) {
112 if ((0, _pluginHelper.isTagNode)(node)) {
113 arr.push(tagToVueNode(createElement, node, index));
114 } else if ((0, _pluginHelper.isStringNode)(node)) {
115 arr.push(node);
116 }
117 return arr;
118 }, []);
119}
120function render(createElement, source, plugins, options) {
121 return renderToVueNodes(createElement, toAST(source, plugins, options));
122}