{"version":3,"file":"renderRouterToString.cjs","names":[],"sources":["../../../src/ssr/renderRouterToString.tsx"],"sourcesContent":["import * as Solid from '@solidjs/web'\nimport { makeSsrSerovalPlugin } from '@tanstack/router-core'\nimport clientAssetsManifest from './clientAssetsManifest'\nimport type { AnyRouter } from '@tanstack/router-core'\nimport type { JSX } from '@solidjs/web'\n\nexport const renderRouterToString = ({\n  router,\n  responseHeaders,\n  children,\n  manifest,\n}: {\n  router: AnyRouter\n  responseHeaders: Headers\n  children: () => JSX.Element\n  manifest?: unknown\n}) => {\n  try {\n    const serializationAdapters =\n      (router.options as any)?.serializationAdapters ||\n      (router.options.ssr as any)?.serializationAdapters\n    const serovalPlugins = serializationAdapters?.map((adapter: any) => {\n      const plugin = makeSsrSerovalPlugin(adapter, { didRun: false })\n      return plugin\n    })\n\n    let html = Solid.renderToString(children, {\n      nonce: router.options.ssr?.nonce,\n      plugins: serovalPlugins,\n      // Prefer the bundler-provided client-assets bridge (module-keyed, the\n      // shape Solid resolves lazy() assets from); the router's route-keyed\n      // manifest is a last resort that cannot answer lazy module lookups.\n      manifest: manifest ?? clientAssetsManifest ?? router.ssr?.manifest,\n    } as any)\n    router.serverSsr!.setRenderFinished()\n\n    const injectedHtml = router.serverSsr!.takeBufferedHtml()\n    if (injectedHtml) {\n      html = html.replace(`</body>`, () => `${injectedHtml}</body>`)\n    }\n    return new Response(`<!DOCTYPE html>${html}`, {\n      status:\n        router._serverResult?.type === 'render'\n          ? router._serverResult.status\n          : 200,\n      headers: responseHeaders,\n    })\n  } catch (error) {\n    console.error('Render to string error:', error)\n    return new Response('Internal Server Error', {\n      status: 500,\n      headers: responseHeaders,\n    })\n  } finally {\n    router.serverSsr?.cleanup()\n  }\n}\n"],"mappings":";;;;;AAMA,IAAa,wBAAwB,EACnC,QACA,iBACA,UACA,eAMI;CACJ,IAAI;EAIF,MAAM,kBAFH,OAAO,SAAiB,yBACxB,OAAO,QAAQ,KAAa,wBACe,KAAK,YAAiB;GAElE,QAAA,GAAA,sBAAA,sBADoC,SAAS,EAAE,QAAQ,MAAM,CACtD;EACT,CAAC;EAED,IAAI,OAAO,aAAM,eAAe,UAAU;GACxC,OAAO,OAAO,QAAQ,KAAK;GAC3B,SAAS;GAIT,UAAU,YAAA,KAAA,KAAoC,OAAO,KAAK;EAC5D,CAAQ;EACR,OAAO,UAAW,kBAAkB;EAEpC,MAAM,eAAe,OAAO,UAAW,iBAAiB;EACxD,IAAI,cACF,OAAO,KAAK,QAAQ,iBAAiB,GAAG,aAAa,QAAQ;EAE/D,OAAO,IAAI,SAAS,kBAAkB,QAAQ;GAC5C,QACE,OAAO,eAAe,SAAS,WAC3B,OAAO,cAAc,SACrB;GACN,SAAS;EACX,CAAC;CACH,SAAS,OAAO;EACd,QAAQ,MAAM,2BAA2B,KAAK;EAC9C,OAAO,IAAI,SAAS,yBAAyB;GAC3C,QAAQ;GACR,SAAS;EACX,CAAC;CACH,UAAU;EACR,OAAO,WAAW,QAAQ;CAC5B;AACF"}