export const setConnectionTimeout = (request, reject, timeoutInMs = 0) => { if (!timeoutInMs) { return; } const timeoutId = setTimeout(() => { request.destroy(); reject(Object.assign(new Error(`Socket timed out without establishing a connection within ${timeoutInMs} ms`), { name: "TimeoutError", })); }, timeoutInMs); request.on("socket", (socket) => { if (socket.connecting) { socket.on("connect", () => { clearTimeout(timeoutId); }); } else { clearTimeout(timeoutId); } }); };