1
0
mirror of synced 2025-12-22 03:16:52 -05:00
Files
docs/lib/react/engine.js
2020-10-18 17:35:50 -04:00

25 lines
801 B
JavaScript

const { renderToString } = require('react-dom/server')
const transform = require('./transform')
// These all need to be here even though eslint doesn't think so
/* eslint-disable */
const React = require('react')
const CodeBlock = require('../../dist/react/CodeBlock')
const RedContent = require('../../dist/react/RedContent')
const Timer = require('../../dist/react/Timer')
const CoolTable = require('../../dist/react/CoolTable')
/* eslint-enable */
const renderReact = async componentStr => {
const componentName = componentStr.match(/[^<]([a-zA-Z])*/gm)[0]
const jsx = `<div className="react-component-${componentName}">\n${componentStr}\n</div>`
const component = transform(jsx)
// eslint-disable-next-line
return renderToString(eval(component))
}
module.exports = {
renderReact
}