UNPKG

@tanstack/solid-router

Version:

Modern and scalable routing for Solid applications

35 lines (34 loc) 1.34 kB
const require_runtime = require("../_virtual/_rolldown/runtime.cjs"); let _tanstack_router_core = require("@tanstack/router-core"); let _solidjs_web = require("@solidjs/web"); _solidjs_web = require_runtime.__toESM(_solidjs_web); //#region src/ssr/renderRouterToString.tsx var renderRouterToString = ({ router, responseHeaders, children }) => { try { const serovalPlugins = (router.options?.serializationAdapters || router.options.ssr?.serializationAdapters)?.map((adapter) => { return (0, _tanstack_router_core.makeSsrSerovalPlugin)(adapter, { didRun: false }); }); let html = _solidjs_web.renderToString(children, { nonce: router.options.ssr?.nonce, plugins: serovalPlugins }); router.serverSsr.setRenderFinished(); const injectedHtml = router.serverSsr.takeBufferedHtml(); if (injectedHtml) html = html.replace(`</body>`, () => `${injectedHtml}</body>`); return new Response(`<!DOCTYPE html>${html}`, { status: router.stores.statusCode.state, headers: responseHeaders }); } catch (error) { console.error("Render to string error:", error); return new Response("Internal Server Error", { status: 500, headers: responseHeaders }); } finally { router.serverSsr?.cleanup(); } }; //#endregion exports.renderRouterToString = renderRouterToString; //# sourceMappingURL=renderRouterToString.cjs.map