UNPKG

@tanstack/solid-router

Version:

Modern and scalable routing for Solid applications

29 lines (28 loc) 1.41 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); let _tanstack_router_core_ssr_server = require("@tanstack/router-core/ssr/server"); let isbot = require("isbot"); //#region src/ssr/renderRouterToStream.tsx var renderRouterToStream = async ({ request, router, responseHeaders, children }) => { const { writable, readable } = new TransformStream(); const docType = solid_js_web.ssr("<!DOCTYPE html>"); const serovalPlugins = (router.options?.serializationAdapters || router.options.ssr?.serializationAdapters)?.map((adapter) => { return (0, _tanstack_router_core.makeSsrSerovalPlugin)(adapter, { didRun: false }); }); const stream = solid_js_web.renderToStream(() => [docType, (0, solid_js_web.memo)(children)], { nonce: router.options.ssr?.nonce, plugins: serovalPlugins }); if ((0, isbot.isbot)(request.headers.get("User-Agent"))) await stream; stream.pipeTo(writable); const responseStream = (0, _tanstack_router_core_ssr_server.transformReadableStreamWithRouter)(router, readable); return new Response(responseStream, { status: router.state.statusCode, headers: responseHeaders }); }; //#endregion exports.renderRouterToStream = renderRouterToStream; //# sourceMappingURL=renderRouterToStream.cjs.map