@tanstack/solid-router
Version:
Modern and scalable routing for Solid applications
28 lines (27 loc) • 1.32 kB
JavaScript
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);
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 serovalPlugins = (router.options?.serializationAdapters || router.options.ssr?.serializationAdapters)?.map((adapter) => {
return (0, _tanstack_router_core.makeSsrSerovalPlugin)(adapter, { didRun: false });
});
const stream = _solidjs_web.renderToStream(() => 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.stores.statusCode.state,
headers: responseHeaders
});
};
//#endregion
exports.renderRouterToStream = renderRouterToStream;
//# sourceMappingURL=renderRouterToStream.cjs.map