mirror of
https://github.com/tenrok/BBob.git
synced 2026-06-20 20:00:33 +03:00
fixes lint and test errors
This commit is contained in:
@@ -24,38 +24,26 @@ const attrs = values =>
|
||||
.reduce((arr, key) => [...arr, attrValue(key, values[key])], [''])
|
||||
.join(' ');
|
||||
|
||||
function traverse(tree, cb) {
|
||||
if (Array.isArray(tree)) {
|
||||
tree.forEach((_, i) => {
|
||||
traverse(cb(tree[i]), cb);
|
||||
});
|
||||
} else if (typeof tree === 'object' && tree.content) {
|
||||
traverse(tree.content, cb);
|
||||
}
|
||||
|
||||
return tree;
|
||||
}
|
||||
|
||||
function renderNodes(nodes) {
|
||||
return [].concat(nodes).reduce((r, node) => r + renderNode(node), '');
|
||||
}
|
||||
|
||||
function renderNode(node) {
|
||||
if (!node) return;
|
||||
const renderNode = (node) => {
|
||||
if (!node) return '';
|
||||
|
||||
if (typeof node === 'string' || typeof node === 'number') {
|
||||
return node;
|
||||
}
|
||||
|
||||
if (typeof node === 'object') {
|
||||
// eslint-disable-next-line no-use-before-define
|
||||
return `<${node.tag}${attrs(node.attrs)}>${renderNodes(node.content)}</${node.tag}>`;
|
||||
}
|
||||
|
||||
if (Array.isArray(node)) {
|
||||
// eslint-disable-next-line no-use-before-define
|
||||
return renderNodes(node);
|
||||
}
|
||||
|
||||
return '';
|
||||
}
|
||||
};
|
||||
|
||||
const renderNodes = nodes => [].concat(nodes).reduce((r, node) => r + renderNode(node), '');
|
||||
|
||||
module.exports = renderNodes;
|
||||
|
||||
Reference in New Issue
Block a user