Skip to content

Commit ec9330b

Browse files
committed
chore: don't gitignore manual types
1 parent af705a6 commit ec9330b

File tree

4 files changed

+10839
-1
lines changed

4 files changed

+10839
-1
lines changed

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
node_modules
22
coverage
33
dist
4-
types
54
.vscode
65
.DS_Store
76
.eslintcache

types/bun.ts

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
// Reference: https://bun.sh/docs/api/websockets
2+
3+
export interface BunWSOptions {
4+
message: (
5+
ws: BunServerWebSocket,
6+
message: string | ArrayBuffer | Uint8Array,
7+
) => void;
8+
open?: (ws: BunServerWebSocket) => void;
9+
close?: (ws: BunServerWebSocket) => void;
10+
error?: (ws: BunServerWebSocket, error: Error) => void;
11+
drain?: (ws: BunServerWebSocket) => void;
12+
perMessageDeflate?:
13+
| boolean
14+
| {
15+
compress?: boolean | BunWSCompressor;
16+
decompress?: boolean | BunWSCompressor;
17+
};
18+
}
19+
20+
type BunWSCompressor =
21+
| `"disable"`
22+
| `"shared"`
23+
| `"dedicated"`
24+
| `"3KB"`
25+
| `"4KB"`
26+
| `"8KB"`
27+
| `"16KB"`
28+
| `"32KB"`
29+
| `"64KB"`
30+
| `"128KB"`
31+
| `"256KB"`;
32+
33+
export interface BunWSServer {
34+
pendingWebsockets: number;
35+
publish(
36+
topic: string,
37+
data: string | ArrayBufferView | ArrayBuffer,
38+
compress?: boolean,
39+
): number;
40+
upgrade(
41+
req: Request,
42+
options?: {
43+
headers?: HeadersInit;
44+
data?: any;
45+
},
46+
): boolean;
47+
}
48+
49+
export interface BunServerWebSocket {
50+
readonly data: any;
51+
readonly readyState: number;
52+
readonly remoteAddress: string;
53+
send(message: string | ArrayBuffer | Uint8Array, compress?: boolean): number;
54+
close(code?: number, reason?: string): void;
55+
subscribe(topic: string): void;
56+
unsubscribe(topic: string): void;
57+
publish(topic: string, message: string | ArrayBuffer | Uint8Array): void;
58+
isSubscribed(topic: string): boolean;
59+
cork(cb: (ws: BunServerWebSocket) => void): void;
60+
}

0 commit comments

Comments
 (0)