const elementMap = { code_block: (element) => `
${element.children[0].text}
`, a: (element) => `${renderHTML(element.children)}`, blockquote: (element) => `
${renderHTML(element.children)}
`, br: () => '
', h1: (element) => `

${element.children[0].text}

`, h2: (element) => `

${element.children[0].text}

`, h3: (element) => `

${element.children[0].text}

`, h4: (element) => `

${element.children[0].text}

`, h5: (element) => `
${element.children[0].text}
`, h6: (element) => `
${element.children[0].text}
`, img: (element) => ``, p: (element) => `

${renderHTML(element.children)}

`, strong: (element) => `${renderHTML(element.children)}`, ol: (element) => `
    ${renderHTML(element.children)}
`, ul: (element) => ``, li: (element) => `
  • ${renderHTML(element.children)}
  • `, lic: (element) => element.children[0].text, }; function renderHTML(json) { return json .map((element) => { const handler = elementMap[element.type]; if (handler) { return handler(element); } else if (element.hasOwnProperty('text')) { return element.text; } else { throw new Error(`Unknown handled type: ${element.type}, ${JSON.stringify(element)}`); } }) .join(''); } module.exports = { renderHTML, };