a collection of lightweight TypeScript packages for AT Protocol, the protocol powering Bluesky
atproto bluesky typescript npm

fix(xrpc-server-bun): correct Bun.Server typing

mary.my.id d4a5df4d 141bc681

verified
Changed files
+10 -7
.changeset
packages
servers
xrpc-server-bun
+5
.changeset/new-moose-dress.md
··· 1 + --- 2 + '@atcute/xrpc-server-bun': patch 3 + --- 4 + 5 + fix Bun.Server typing
+2 -4
packages/servers/xrpc-server-bun/lib/index.ts
··· 1 1 import type { WebSocketAdapter, WebSocketConnection, XRPCRouter } from '@atcute/xrpc-server'; 2 2 3 - import type { Server } from 'bun'; 4 - 5 3 type Promisable<T> = T | Promise<T>; 6 4 7 5 interface WsData { ··· 12 10 export interface BunWebSocket { 13 11 adapter: WebSocketAdapter; 14 12 wrap(router: XRPCRouter): { 15 - fetch(request: Request, server: Bun.Server): Promise<Response>; 13 + fetch(request: Request, server: Bun.Server<WsData>): Promise<Response>; 16 14 websocket: Bun.WebSocketHandler<WsData>; 17 15 }; 18 16 } 19 17 20 18 export const createBunWebSocket = (): BunWebSocket => { 21 - let server: Server | undefined; 19 + let server: Bun.Server<WsData> | undefined; 22 20 23 21 return { 24 22 adapter: {
+3 -3
packages/servers/xrpc-server-bun/tsconfig.json
··· 1 1 { 2 2 "compilerOptions": { 3 - "types": [], 3 + "types": ["bun"], 4 4 "outDir": "dist/", 5 5 "esModuleInterop": true, 6 6 "skipLibCheck": true, ··· 18 18 "module": "NodeNext", 19 19 "sourceMap": true, 20 20 "declaration": true, 21 - "declarationMap": true 21 + "declarationMap": true, 22 22 }, 23 - "include": ["lib"] 23 + "include": ["lib"], 24 24 }