Skip to content

Commit 785e8a1

Browse files
committed
[node] Add global WebSocket
1 parent c6509e1 commit 785e8a1

3 files changed

Lines changed: 21 additions & 0 deletions

File tree

types/node/globals.d.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ type _RequestInit = typeof globalThis extends { onmessage: any } ? {}
1212
type _ResponseInit = typeof globalThis extends { onmessage: any } ? {}
1313
: import("undici-types").ResponseInit;
1414
type _File = typeof globalThis extends { onmessage: any } ? {} : import("node:buffer").File;
15+
type _WebSocket = typeof globalThis extends { onmessage: any } ? {} : import("undici-types").WebSocket;
1516
// #endregion Fetch and friends
1617

1718
declare global {
@@ -409,4 +410,8 @@ declare global {
409410
File: infer T;
410411
} ? T
411412
: typeof import("node:buffer").File;
413+
414+
interface WebSocket extends _WebSocket {}
415+
var WebSocket: typeof globalThis extends { onmessage: any; WebSocket: infer T } ? T
416+
: typeof import("undici-types").WebSocket;
412417
}

types/node/test/globals-dom.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,3 +48,11 @@
4848
},
4949
);
5050
}
51+
52+
{
53+
const server = new WebSocket("htps://example.com");
54+
server.addEventListener("message", (event) => {
55+
console.log(event.data);
56+
});
57+
server.send("some data");
58+
}

types/node/test/globals-non-dom.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,3 +43,11 @@
4343
const abort = new AbortController();
4444
AbortSignal.any([abort.signal]); // $ExpectType AbortSignal
4545
}
46+
47+
{
48+
const server = new WebSocket("htps://example.com");
49+
server.addEventListener("message", (event) => {
50+
console.log(event.data);
51+
});
52+
server.send("some data");
53+
}

0 commit comments

Comments
 (0)