/** * RSC Request Handler * * Main request handler for RSC rendering, server actions, loader fetching, * and progressive enhancement (no-JS form submissions). */ import { type ExecutionContext } from "../server/request-context.js"; import type { CreateRSCHandlerOptions } from "./types.js"; /** * Create an RSC request handler. * * **Recommended:** Use `router.createHandler()` instead for simpler setup: * ```tsx * const router = createRouter({ document, urls, nonce: () => true }); * export const fetch = router.createHandler(); * ``` * * This function is still useful for advanced cases like per-request cache * configuration (e.g., Cloudflare Workers with ExecutionContext). * * @example Basic usage (deps and loadSSRModule have sensible defaults) * ```tsx * import { createRSCHandler } from "@rangojs/router/rsc"; * import { router } from "./router.js"; * * export default createRSCHandler({ router }); * ``` * * @example With custom deps (advanced) * ```tsx * import { createRSCHandler } from "@rangojs/router/rsc"; * import * as rsc from "@vitejs/plugin-rsc/rsc"; * import { router } from "./router.js"; * * export default createRSCHandler({ * router, * deps: rsc, * loadSSRModule: () => import.meta.viteRsc.loadModule("ssr", "index"), * }); * ``` */ export declare function createRSCHandler = Record>(options: CreateRSCHandlerOptions): (request: Request, env?: TEnv & { ctx?: ExecutionContext; }) => Promise; //# sourceMappingURL=handler.d.ts.map