diff --git a/packages/bun-types/bun.d.ts b/packages/bun-types/bun.d.ts index a7fe3d578e..d7e33961c9 100644 --- a/packages/bun-types/bun.d.ts +++ b/packages/bun-types/bun.d.ts @@ -2014,7 +2014,7 @@ declare module "bun" { this: Server, request: Request, server: Server, - ): Response | undefined | Promise; + ): Response | undefined | void | Promise; } export interface UnixWebSocketServeOptions @@ -2075,7 +2075,7 @@ declare module "bun" { this: Server, request: Request, server: Server, - ): Response | undefined | Promise; + ): Response | undefined | void | Promise; } export interface TLSWebSocketServeOptions diff --git a/packages/bun-types/tests/serve.test-d.ts b/packages/bun-types/tests/serve.test-d.ts index 86d78fd8a0..09796506b7 100644 --- a/packages/bun-types/tests/serve.test-d.ts +++ b/packages/bun-types/tests/serve.test-d.ts @@ -79,6 +79,25 @@ Bun.serve({ }, }); +Bun.serve({ + fetch(req, server) { + server.upgrade(req); + }, + + websocket: { + open(ws) { + console.log("WebSocket opened"); + ws.subscribe("test-channel"); + }, + + message(ws, message) { + ws.publish("test-channel", `${message}`); + }, + + perMessageDeflate: true, + }, +}); + Bun.serve({ fetch(req) { throw new Error("woops!");