UNPKG

nice-ui

Version:

React design system, components, and utilities

31 lines (30 loc) 1.17 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const React = require("react"); const block_1 = require("../block"); const Code_1 = require("../block/Code"); const lazy_1 = require("../block/CustomComponent/lazy"); const renderCode = (renderers, flat, idx) => { const node = flat.nodes[idx]; const { lang, value } = node; if (lang && lang[0] === '<' && lang[lang.length - 1] === '>') { let data = {}; if (value) { try { data = JSON.parse(value); } catch (e) { console.error('Failed to parse JSON in custom block:', e); } } return React.createElement(lazy_1.default, { idx: idx, name: lang.slice(1, -1), meta: node.meta ?? '', data: data }); } const Comp = block_1.blocksByLang[lang || '']; const renderDefault = () => { return React.createElement(Code_1.default, { idx: idx, source: value, renderError: () => null }); }; if (Comp) return React.createElement(Comp, { idx: idx, source: value, renderError: renderDefault }); return renderDefault(); }; exports.default = renderCode;