Skip to content
File

Blob: src/node/internal/sockets.d.ts

typescript42 lines
1// Copyright (c) 2026 Cloudflare, Inc.
2// Licensed under the Apache 2.0 license found in the LICENSE file or at:
3// https://opensource.org/licenses/Apache-2.0
4 
5export interface SocketInfo {
6 remoteAddress?: string | null;
7 localAddress?: string | null;
8}
9 
10export type Reader = ReadableStream;
11 
12export interface Writer extends WritableStream {
13 close(): Promise<void>;
14 write(data: string | ArrayBufferView): Promise<void>;
15 closed: Promise<void>;
16 releaseLock(): void;
17}
18 
19export interface Socket {
20 opened: Promise<SocketInfo>;
21 closed: Promise<void>;
22 close(): Promise<void>;
23 readable: Reader;
24 writable: Writer;
25 startTls(): Socket;
26 
27 readonly upgraded: boolean;
28 readonly secureTransport: 'on' | 'off' | 'starttls';
29}
30 
31declare namespace sockets {
32 function connect(
33 input: string,
34 options: {
35 allowHalfOpen?: boolean | undefined;
36 highWatermark?: number | undefined;
37 secureTransport: 'on' | 'off' | 'starttls';
38 }
39 ): Socket;
40}
41export default sockets;