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 solid_js_web = require("solid-js/web"); solid_js_web = require_runtime.__toESM(solid_js_web); //#region src/ssr/renderRouterToString.tsx var renderRouterToString = async ({ 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 = solid_js_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.state.statusCode, 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