Skip to content

Commit 0691ed1

Browse files
authored
🤖 Merge PR DefinitelyTyped#72670 [node] Allow the err parameter to the net.Socket#write callback (in case of success) to be null as well as undefined by @jswalden
1 parent 7779ef4 commit 0691ed1

File tree

4 files changed

+70
-4
lines changed

4 files changed

+70
-4
lines changed

‎types/node/net.d.ts‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,8 +109,8 @@ declare module "net" {
109109
* @since v0.1.90
110110
* @param [encoding='utf8'] Only used when data is `string`.
111111
*/
112-
write(buffer: Uint8Array | string, cb?: (err?: Error) => void): boolean;
113-
write(str: Uint8Array | string, encoding?: BufferEncoding, cb?: (err?: Error) => void): boolean;
112+
write(buffer: Uint8Array | string, cb?: (err?: Error | null) => void): boolean;
113+
write(str: Uint8Array | string, encoding?: BufferEncoding, cb?: (err?: Error | null) => void): boolean;
114114
/**
115115
* Initiate a connection on a given socket.
116116
*

‎types/node/test/net.ts‎

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,9 @@ import * as net from "node:net";
6363
});
6464

6565
let bool: boolean;
66+
let uint8array: Uint8Array = new Uint8Array(0);
67+
let bufferEncoding: BufferEncoding = "utf8";
68+
let str = "123";
6669

6770
bool = _socket.connecting;
6871
bool = _socket.destroyed;
@@ -76,6 +79,20 @@ import * as net from "node:net";
7679
_socket = _socket.resume();
7780
_socket = _socket.resetAndDestroy();
7881

82+
// write callback parameter can be either null/undefined or an error
83+
bool = _socket.write(uint8array, (err) => {
84+
if (err) { const _err: Error = err; }
85+
});
86+
bool = _socket.write(str, (err) => {
87+
if (err) { const _err: Error = err; }
88+
});
89+
bool = _socket.write(uint8array, bufferEncoding, (err) => {
90+
if (err) { const _err: Error = err; }
91+
});
92+
bool = _socket.write(str, bufferEncoding, (err) => {
93+
if (err) { const _err: Error = err; }
94+
});
95+
7996
_socket = _socket.end();
8097
_socket = _socket.destroy();
8198
_socket.destroySoon();
@@ -132,6 +149,8 @@ import * as net from "node:net";
132149
let error = new Error("asd");
133150
let str = "123";
134151
let num = 123;
152+
let uint8array: Uint8Array = new Uint8Array(0);
153+
let bufferEncoding: BufferEncoding = "utf8";
135154

136155
const ipcConnectOpts: net.IpcSocketConnectOpts = {
137156
path: "/",
@@ -370,6 +389,20 @@ import * as net from "node:net";
370389
_socket = _socket.prependOnceListener("ready", () => {});
371390
_socket = _socket.prependOnceListener("timeout", () => {});
372391

392+
// write callback parameter can be either null/undefined or an error
393+
bool = _socket.write(uint8array, (err) => {
394+
if (err) { const _err: Error = err; }
395+
});
396+
bool = _socket.write(str, (err) => {
397+
if (err) { const _err: Error = err; }
398+
});
399+
bool = _socket.write(uint8array, bufferEncoding, (err) => {
400+
if (err) { const _err: Error = err; }
401+
});
402+
bool = _socket.write(str, bufferEncoding, (err) => {
403+
if (err) { const _err: Error = err; }
404+
});
405+
373406
_socket.destroy().destroy();
374407
_socket.readyState; // $ExpectType SocketReadyState
375408
}

‎types/node/v20/net.d.ts‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,8 +112,8 @@ declare module "net" {
112112
* @since v0.1.90
113113
* @param [encoding='utf8'] Only used when data is `string`.
114114
*/
115-
write(buffer: Uint8Array | string, cb?: (err?: Error) => void): boolean;
116-
write(str: Uint8Array | string, encoding?: BufferEncoding, cb?: (err?: Error) => void): boolean;
115+
write(buffer: Uint8Array | string, cb?: (err?: Error | null) => void): boolean;
116+
write(str: Uint8Array | string, encoding?: BufferEncoding, cb?: (err?: Error | null) => void): boolean;
117117
/**
118118
* Initiate a connection on a given socket.
119119
*

‎types/node/v20/test/net.ts‎

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,9 @@ import * as net from "node:net";
5353
});
5454

5555
let bool: boolean;
56+
let uint8array: Uint8Array = new Uint8Array(0);
57+
let bufferEncoding: BufferEncoding = "utf8";
58+
let str = "123";
5659

5760
bool = _socket.connecting;
5861
bool = _socket.destroyed;
@@ -66,6 +69,20 @@ import * as net from "node:net";
6669
_socket = _socket.resume();
6770
_socket = _socket.resetAndDestroy();
6871

72+
// write callback parameter can be either null/undefined or an error
73+
bool = _socket.write(uint8array, (err) => {
74+
if (err) { const _err: Error = err; }
75+
});
76+
bool = _socket.write(str, (err) => {
77+
if (err) { const _err: Error = err; }
78+
});
79+
bool = _socket.write(uint8array, bufferEncoding, (err) => {
80+
if (err) { const _err: Error = err; }
81+
});
82+
bool = _socket.write(str, bufferEncoding, (err) => {
83+
if (err) { const _err: Error = err; }
84+
});
85+
6986
_socket = _socket.end();
7087
_socket = _socket.destroy();
7188
_socket.destroySoon();
@@ -122,6 +139,8 @@ import * as net from "node:net";
122139
let error = new Error("asd");
123140
let str = "123";
124141
let num = 123;
142+
let uint8array: Uint8Array = new Uint8Array(0);
143+
let bufferEncoding: BufferEncoding = "utf8";
125144

126145
const ipcConnectOpts: net.IpcSocketConnectOpts = {
127146
path: "/",
@@ -360,6 +379,20 @@ import * as net from "node:net";
360379
_socket = _socket.prependOnceListener("ready", () => {});
361380
_socket = _socket.prependOnceListener("timeout", () => {});
362381

382+
// write callback parameter can be either null/undefined or an error
383+
bool = _socket.write(uint8array, (err) => {
384+
if (err) { const _err: Error = err; }
385+
});
386+
bool = _socket.write(str, (err) => {
387+
if (err) { const _err: Error = err; }
388+
});
389+
bool = _socket.write(uint8array, bufferEncoding, (err) => {
390+
if (err) { const _err: Error = err; }
391+
});
392+
bool = _socket.write(str, bufferEncoding, (err) => {
393+
if (err) { const _err: Error = err; }
394+
});
395+
363396
_socket.destroy().destroy();
364397
_socket.readyState; // $ExpectType SocketReadyState
365398
}

0 commit comments

Comments
 (0)