diff --git a/packages/bbob-preset-html5/lib/index.js b/packages/bbob-preset-html5/lib/index.js index 606a563..27fc4ee 100644 --- a/packages/bbob-preset-html5/lib/index.js +++ b/packages/bbob-preset-html5/lib/index.js @@ -6,20 +6,17 @@ const isTagNode = node => (typeof node === 'object' && Boolean(node.tag)); const isTagOf = (node, type) => (node.tag === type); const createTagNode = tag => ({ tag, attrs: {}, content: [] }); -const getStyleFromAttrs = (attrs) => { - const styles = []; - - if (attrs.color) { - styles.push(`color:${attrs.color};`); - } - - if (attrs.size) { - styles.push(`font-size:${attrs.size};`); - } - - return styles.join(' '); +const styleMap = { + color: val => `color:${val};`, + size: val => `font-size:${val};`, }; +const getStyleFromAttrs = attrs => + Object + .keys(attrs) + .reduce((acc, key) => (styleMap[key] ? acc.concat(styleMap[key](attrs[key])) : acc), []) + .join(' '); + const asListItems = (content) => { const listItems = []; let listIdx = 0;