2
0
mirror of https://github.com/tenrok/BBob.git synced 2026-06-17 19:21:20 +03:00

fixes lint and test errors

This commit is contained in:
Nikolay Kostyurin
2018-07-08 13:30:13 +02:00
parent 8832c07646
commit 2d02b2241a
19 changed files with 76 additions and 60 deletions
+2
View File
@@ -0,0 +1,2 @@
dist
test
+7 -19
View File
@@ -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;
+1 -1
View File
@@ -13,7 +13,7 @@ describe('@bbob/html', () => {
test('render bbcode tag with multiple params as html tag', () => {
const input = '[url href=https://ru.wikipedia.org target=_blank text="Foo Bar"]Text[/url]';
const result = '<url url="https://ru.wikipedia.org">Text</url>';
const result = '<url href="https://ru.wikipedia.org" target="_blank" text="Foo Bar">Text</url>';
expect(process(input)).toBe(result);
});