UNPKG

@modern-js/server-core

Version:

A Progressive React Framework for modern web development.

89 lines (88 loc) 3.57 kB
import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator"; import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator"; import { MAIN_ENTRY_NAME } from "@modern-js/utils/universal/constants"; import { createRequestHandlerConfig } from "./utils"; var csrRscRender = function() { var _ref = _async_to_generator(function(req, options) { var _serverManifest_renderBundles, routeInfo, serverManifest, rscSSRManifest, rscClientManifest, rscServerManifest, locals, params, loaderContext, reporter, monitors, logger, metrics, onError, onTiming, staticGenerate, html, serverBundle, loadableStats, routeManifest, config, requestHandlerOptions, renderRscStreamHandler, response; return _ts_generator(this, function(_state) { switch (_state.label) { case 0: routeInfo = options.routeInfo, serverManifest = options.serverManifest, rscSSRManifest = options.rscSSRManifest, rscClientManifest = options.rscClientManifest, rscServerManifest = options.rscServerManifest, locals = options.locals, params = options.params, loaderContext = options.loaderContext, reporter = options.reporter, monitors = options.monitors, logger = options.logger, metrics = options.metrics, onError = options.onError, onTiming = options.onTiming, staticGenerate = options.staticGenerate, html = options.html; serverBundle = serverManifest === null || serverManifest === void 0 ? void 0 : (_serverManifest_renderBundles = serverManifest.renderBundles) === null || _serverManifest_renderBundles === void 0 ? void 0 : _serverManifest_renderBundles[routeInfo.entryName || MAIN_ENTRY_NAME]; loadableStats = serverManifest.loadableStats || {}; routeManifest = serverManifest.routeManifest || {}; config = createRequestHandlerConfig(options.config); requestHandlerOptions = { resource: { route: routeInfo, loadableStats, routeManifest, entryName: routeInfo.entryName || MAIN_ENTRY_NAME }, config, params, loaderContext, html, rscSSRManifest, rscClientManifest, rscServerManifest, locals, reporter, staticGenerate, logger, metrics, monitors, onError, onTiming }; if (!serverBundle) { return [ 2, new Response("Cannot find server bundle for RSC", { status: 500 }) ]; } return [ 4, serverBundle.renderRscStreamHandler ]; case 1: renderRscStreamHandler = _state.sent(); if (!renderRscStreamHandler) { return [ 2, new Response("Cannot find render handler for RSC", { status: 500 }) ]; } if (!rscClientManifest) { return [ 2, new Response("Cannot find rsc client manifest", { status: 500 }) ]; } return [ 4, renderRscStreamHandler(req, requestHandlerOptions) ]; case 2: response = _state.sent(); return [ 2, response ]; } }); }); return function csrRscRender2(req, options) { return _ref.apply(this, arguments); }; }(); export { csrRscRender };