Update API routes function pass #3

This commit is contained in:
2026-04-10 11:54:17 +01:00
parent 257adfec39
commit 5a0972beb8
5 changed files with 49 additions and 19 deletions
+8 -1
View File
@@ -55,9 +55,16 @@ export default async function ({ req }) {
return res;
}
if (res) {
return Response.json(_.omit(res, "bunext_api_route_res_options"), {
let final_res = Response.json(_.omit(res, [
"bunext_api_route_res_options",
"bunext_api_route_res_transform_fn",
]), {
...(res.bunext_api_route_res_options || undefined),
});
if (res.bunext_api_route_res_transform_fn) {
final_res = await res.bunext_api_route_res_transform_fn(final_res);
}
return final_res;
}
return undefined;
}
+5 -3
View File
@@ -295,11 +295,13 @@ export type GrabTSXModuleBatchMap = {
tsx: string;
page_file_path: string;
};
export type BunextAPIRouteHandler<T extends BunextAPIRouteJSONRes = {
[k: string]: any;
}> = (params: BunxRouteParams) => Promise<Response | (T & Pick<BunextAPIRouteJSONRes, "bunext_api_route_res_options">)> | Response | (T & Pick<BunextAPIRouteJSONRes, "bunext_api_route_res_options">);
export type BunextAPIRouteJSONRes = {
bunext_api_route_res_options?: ResponseInit;
bunext_api_route_res_transform_fn?: (res: Response) => Promise<Response> | Response;
} & {
[k: string]: any;
};
export type BunextAPIRouteHandlerObjectReturn<T> = Response | (T & Pick<BunextAPIRouteJSONRes, "bunext_api_route_res_options" | "bunext_api_route_res_transform_fn">);
export type BunextAPIRouteHandler<T extends BunextAPIRouteJSONRes = {
[k: string]: any;
}> = (params: BunxRouteParams) => Promise<BunextAPIRouteHandlerObjectReturn<T>> | Response | BunextAPIRouteHandlerObjectReturn<T>;