UNPKG

flexium

Version:

A lightweight, signals-based UI framework with cross-platform renderers

2 lines 1.17 kB
import {h}from'./chunk-Z7JNAX53.mjs';var y=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]);function n(r){if(r==null||r===false)return "";if(typeof r=="string"||typeof r=="number")return l(String(r));if(Array.isArray(r))return r.map(n).join("");if(h(r))return n(r.value);if(typeof r.type=="function"){let s=r.type(r.props||{});return n(s)}if(typeof r.type=="string"){let{type:s,props:p,children:a}=r,e=`<${s}`;if(p)for(let t in p){let i=p[t];if(!(t==="children"||t.startsWith("on")||i===null||i===void 0||i===false))if(t==="className"||t==="class")e+=` class="${l(i)}"`;else if(t==="style"&&typeof i=="object"){let f=Object.entries(i).map(([u,o])=>`${u.replace(/([A-Z])/g,"-$1").toLowerCase()}:${o}`).join(";");e+=` style="${l(f)}"`;}else e+=` ${t}="${l(String(i))}"`;}return y.has(s)?e+="/>":(e+=">",a&&(e+=Array.isArray(a)?a.map(n).join(""):n(a)),e+=`</${s}>`),e}return ""}function l(r){return r.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")}export{n as renderToString};//# sourceMappingURL=server.mjs.map //# sourceMappingURL=server.mjs.map