Skip to content

Commit 69748e8

Browse files
authored
🤖 Merge PR DefinitelyTyped#74204 [w3c-direct-sockets] Refactor to use global classes and strict DOM maps. by @paulinagacek
1 parent 859c7d9 commit 69748e8

File tree

2 files changed

+35
-31
lines changed

2 files changed

+35
-31
lines changed

‎types/w3c-direct-sockets/index.d.ts‎

Lines changed: 27 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,13 @@
22
* @see https://github.com/WICG/direct-sockets/blob/main/docs/explainer.md
33
*/
44

5-
export class UDPSocket {
6-
constructor(options: UDPSocketOptions);
7-
readonly opened: Promise<UDPSocketOpenInfo>;
8-
readonly closed: Promise<undefined>;
9-
close(): Promise<undefined>;
5+
declare global {
6+
class UDPSocket {
7+
constructor(options: UDPSocketOptions);
8+
readonly opened: Promise<UDPSocketOpenInfo>;
9+
readonly closed: Promise<void>;
10+
close(): Promise<void>;
11+
}
1012
}
1113

1214
export interface UDPMessage {
@@ -16,18 +18,22 @@ export interface UDPMessage {
1618
dnsQueryType?: SocketDnsQueryType;
1719
}
1820

19-
export class TCPSocket {
20-
constructor(remoteAddress: string, remotePort: number, options?: TCPSocketOptions);
21-
readonly opened: Promise<TCPSocketOpenInfo>;
22-
readonly closed: Promise<undefined>;
23-
close(): Promise<undefined>;
21+
declare global {
22+
class TCPSocket {
23+
constructor(remoteAddress: string, remotePort: number, options?: TCPSocketOptions);
24+
readonly opened: Promise<TCPSocketOpenInfo>;
25+
readonly closed: Promise<void>;
26+
close(): Promise<void>;
27+
}
2428
}
2529

26-
export class TCPServerSocket {
27-
constructor(localAddress: string, options?: TCPServerSocketOptions);
28-
readonly opened: Promise<TCPServerSocketOpenInfo>;
29-
readonly closed: Promise<undefined>;
30-
close(): Promise<undefined>;
30+
declare global {
31+
class TCPServerSocket {
32+
constructor(localAddress: string, options?: TCPServerSocketOptions);
33+
readonly opened: Promise<TCPServerSocketOpenInfo>;
34+
readonly closed: Promise<void>;
35+
close(): Promise<void>;
36+
}
3137
}
3238

3339
export type SocketDnsQueryType =
@@ -85,8 +91,10 @@ export interface TCPServerSocketOpenInfo {
8591
localPort?: number;
8692
}
8793

88-
export interface MulticastController {
89-
joinGroup(ipAddress: string): Promise<undefined>;
90-
leaveGroup(ipAddress: string): Promise<undefined>;
91-
readonly joinedGroups: readonly string[];
94+
declare global {
95+
interface MulticastController {
96+
joinGroup(ipAddress: string): Promise<void>;
97+
leaveGroup(ipAddress: string): Promise<void>;
98+
readonly joinedGroups: readonly string[];
99+
}
92100
}

‎types/w3c-direct-sockets/w3c-direct-sockets-tests.ts‎

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,10 @@
11
import {
2-
MulticastController,
32
SocketDnsQueryType,
4-
TCPServerSocket,
53
TCPServerSocketOpenInfo,
64
TCPServerSocketOptions,
7-
TCPSocket,
85
TCPSocketOpenInfo,
96
TCPSocketOptions,
107
UDPMessage,
11-
UDPSocket,
128
UDPSocketOpenInfo,
139
UDPSocketOptions,
1410
} from "w3c-direct-sockets";
@@ -52,10 +48,10 @@ async function testDirectSockets() {
5248
// $ExpectType Promise<UDPSocketOpenInfo>
5349
udpSocket.opened;
5450

55-
// $ExpectType Promise<undefined>
51+
// $ExpectType Promise<void>
5652
udpSocket.closed;
5753

58-
// $ExpectType Promise<undefined>
54+
// $ExpectType Promise<void>
5955
udpSocket.close();
6056

6157
// Cast to 'any' or 'UDPMessage' to avoid "missing properties" error during test compilation
@@ -84,10 +80,10 @@ async function testDirectSockets() {
8480
// $ExpectType Promise<SocketOpenInfo>
8581
tcpSocket.opened;
8682

87-
// $ExpectType Promise<undefined>
83+
// $ExpectType Promise<void>
8884
tcpSocket.closed;
8985

90-
// $ExpectType Promise<undefined>
86+
// $ExpectType Promise<void>
9187
tcpSocket.close();
9288

9389
// --------------------------------------------------------------------------------
@@ -107,10 +103,10 @@ async function testDirectSockets() {
107103
// $ExpectType Promise<TCPServerSocketOpenInfo>
108104
tcpServerSocket.opened;
109105

110-
// $ExpectType Promise<undefined>
106+
// $ExpectType Promise<void>
111107
tcpServerSocket.closed;
112108

113-
// $ExpectType Promise<undefined>
109+
// $ExpectType Promise<void>
114110
tcpServerSocket.close();
115111

116112
// --------------------------------------------------------------------------------
@@ -144,9 +140,9 @@ async function testDirectSockets() {
144140
// $ExpectType readonly string[]
145141
multicastController.joinedGroups;
146142

147-
// $ExpectType Promise<undefined>
143+
// $ExpectType Promise<void>
148144
multicastController.joinGroup(remoteAddress);
149145

150-
// $ExpectType Promise<undefined>
146+
// $ExpectType Promise<void>
151147
multicastController.leaveGroup(remoteAddress);
152148
}

0 commit comments

Comments
 (0)