import React, { Fragment } from 'react' import escapeHTML from 'escape-html' import { Text } from 'slate' // eslint-disable-next-line no-use-before-define type Children = Leaf[] type Leaf = { type: string value?: { url: string alt: string } children: Children url?: string [key: string]: unknown } const serialize = (children: Children): React.ReactNode[] => children.map((node, i) => { if (Text.isText(node)) { let text = if (node.bold) { text = {text} } if (node.code) { text = {text} } if (node.italic) { text = {text} } if (node.underline) { text = ( {text} ) } if (node.strikethrough) { text = ( {text} ) } return {text} } if (!node) { return null } switch (node.type) { case 'h1': return

{serialize(node.children)}

case 'h2': return

{serialize(node.children)}

case 'h3': return

{serialize(node.children)}

case 'h4': return

{serialize(node.children)}

case 'h5': return
{serialize(node.children)}
case 'h6': return
{serialize(node.children)}
case 'blockquote': return
{serialize(node.children)}
case 'ul': return case 'ol': return
    {serialize(node.children)}
case 'li': return
  • {serialize(node.children)}
  • case 'link': return ( {serialize(node.children)} ) default: return

    {serialize(node.children)}

    } }) export default serialize