Symbol
RouterTypes
namespace RouterTypes
- type ExtractRouteParams<T> = T extends `${string}:${infer Param}/${infer Rest}` ? { [K in Param]: string } & ExtractRouteParams<Rest> : T extends `${string}:${infer Param}` ? { [K in Param]: string } : T extends `${string}*` ? {} : {}
- type HTTPMethod = 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD' | 'OPTIONS'
- type RouteHandler<T extends string> = (req: BunRequest<T>, server: Server) => Response | Promise<Response>
- type RouteHandlerObject<T extends string> = { [K in HTTPMethod]: RouteHandler<T> }
- type RouteHandlerWithWebSocketUpgrade<T extends string> = (req: BunRequest<T>, server: Server) => Response | undefined | void | Promise<Response | undefined | void>
- type RouteHandlerWithWebSocketUpgradeObject<T extends string> = { [K in HTTPMethod]: RouteHandlerWithWebSocketUpgrade<T> }
- type RouteValue<T extends string> = Response | false | RouteHandler<T> | RouteHandlerObject<T>
- type RouteValueWithWebSocketUpgrade<T extends string> = RouteValue<T> | RouteHandlerWithWebSocketUpgrade<T> | RouteHandlerWithWebSocketUpgradeObject<T>