live-example
Version:
React live code preview
1 lines • 591 B
JavaScript
import{ErrorBoundary}from"react-error-boundary";import{transform}from"sucrase-browser";import React from"react";export default function CompilerWrapper({fallback:c=()=>null,code:a,bindings:b}){return/*#__PURE__*/React.createElement(ErrorBoundary,{FallbackComponent:c,resetKeys:[a]},/*#__PURE__*/React.createElement(Compiler,{code:a,bindings:b}))}function Compiler({code:a,bindings:b={}}){let c=Function("React,"+Object.keys(b),transform("return "+a.trim(),{transforms:["jsx"]}).code).call(null,React,...Object.values(b));return"function"==typeof c?/*#__PURE__*/React.createElement(c,null):c}