const renderHTML = (node) => { if (!node) { return ''; } if (Array.isArray(node)) { return node.map((n) => renderHTML(n)).join(''); } switch (node.type) { case 'a': return ` `${key}="${node.attribs[key]}"`) .join(' ')}>${renderHTML(node.children)}`; case 'div': return `
`${key}="${node.attribs[key]}"`) .join(' ') : '' }>${renderHTML(node.children)}
`; case 'blockquote-quote': return `
${renderHTML(node.children)}
`; case 'iframe': return ``; case 'leading': case 'img': return `
`${key}="${node.attribs[key]}"`) .join(' ') : `url="${node.url}"` // for leading }>
${node.attribs?.title ?? node.title}
`; case 'em': case 'h3': case 'li': case 'ol': case 'ul': case 'p': case 'strong': case 'u': return `<${node.type}>${renderHTML(node.children)}`; case 'text': return node.data; case 'script': case 'inline-ad-slot': case 'inline-widget': case 'track-viewed-percentage': return ''; default: return `Unhandled type: ${node.type} ${JSON.stringify(node)}`; } }; module.exports = { renderHTML, };