Files
bknd/app/src/adapter/react-router/react-router.adapter.ts
2025-10-18 16:58:54 +02:00

24 lines
700 B
TypeScript

import { type FrameworkBkndConfig, createFrameworkApp } from "bknd/adapter";
type ReactRouterEnv = NodeJS.ProcessEnv;
type ReactRouterFunctionArgs = {
request: Request;
};
export type ReactRouterBkndConfig<Env = ReactRouterEnv> = FrameworkBkndConfig<Env>;
export async function getApp<Env = ReactRouterEnv>(
config: ReactRouterBkndConfig<Env>,
args: Env = process.env as Env,
) {
return await createFrameworkApp(config, args);
}
export function serve<Env = ReactRouterEnv>(
config: ReactRouterBkndConfig<Env> = {},
args: Env = process.env as Env,
) {
return async (fnArgs: ReactRouterFunctionArgs) => {
return (await getApp(config, args)).fetch(fnArgs.request);
};
}