123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249 |
- declare module "net" {
- import * as stream from "stream";
- import * as events from "events";
- import * as dns from "dns";
-
- type LookupFunction = (hostname: string, options: dns.LookupOneOptions, callback: (err: NodeJS.ErrnoException | null, address: string, family: number) => void) => void;
-
- interface AddressInfo {
- address: string;
- family: string;
- port: number;
- }
-
- interface SocketConstructorOpts {
- fd?: number;
- allowHalfOpen?: boolean;
- readable?: boolean;
- writable?: boolean;
- }
-
- interface TcpSocketConnectOpts {
- port: number;
- host?: string;
- localAddress?: string;
- localPort?: number;
- hints?: number;
- family?: number;
- lookup?: LookupFunction;
- }
-
- interface IpcSocketConnectOpts {
- path: string;
- }
-
- type SocketConnectOpts = TcpSocketConnectOpts | IpcSocketConnectOpts;
-
- class Socket extends stream.Duplex {
- constructor(options?: SocketConstructorOpts);
-
- // Extended base methods
- write(buffer: Buffer | Uint8Array | string, cb?: (err?: Error) => void): boolean;
- write(str: Buffer | Uint8Array | string, encoding?: string, cb?: (err?: Error) => void): boolean;
-
- connect(options: SocketConnectOpts, connectionListener?: () => void): this;
- connect(port: number, host: string, connectionListener?: () => void): this;
- connect(port: number, connectionListener?: () => void): this;
- connect(path: string, connectionListener?: () => void): this;
-
- setEncoding(encoding?: string): this;
- pause(): this;
- resume(): this;
- setTimeout(timeout: number, callback?: () => void): this;
- setNoDelay(noDelay?: boolean): this;
- setKeepAlive(enable?: boolean, initialDelay?: number): this;
- address(): AddressInfo | string;
- unref(): void;
- ref(): void;
-
- readonly bufferSize: number;
- readonly bytesRead: number;
- readonly bytesWritten: number;
- readonly connecting: boolean;
- readonly destroyed: boolean;
- readonly localAddress: string;
- readonly localPort: number;
- readonly remoteAddress?: string;
- readonly remoteFamily?: string;
- readonly remotePort?: number;
-
- // Extended base methods
- end(cb?: () => void): void;
- end(buffer: Buffer | Uint8Array | string, cb?: () => void): void;
- end(str: Buffer | Uint8Array | string, encoding?: string, cb?: () => void): void;
-
- /**
- * events.EventEmitter
- * 1. close
- * 2. connect
- * 3. data
- * 4. drain
- * 5. end
- * 6. error
- * 7. lookup
- * 8. timeout
- */
- addListener(event: string, listener: (...args: any[]) => void): this;
- addListener(event: "close", listener: (had_error: boolean) => void): this;
- addListener(event: "connect", listener: () => void): this;
- addListener(event: "data", listener: (data: Buffer) => void): this;
- addListener(event: "drain", listener: () => void): this;
- addListener(event: "end", listener: () => void): this;
- addListener(event: "error", listener: (err: Error) => void): this;
- addListener(event: "lookup", listener: (err: Error, address: string, family: string | number, host: string) => void): this;
- addListener(event: "timeout", listener: () => void): this;
-
- emit(event: string | symbol, ...args: any[]): boolean;
- emit(event: "close", had_error: boolean): boolean;
- emit(event: "connect"): boolean;
- emit(event: "data", data: Buffer): boolean;
- emit(event: "drain"): boolean;
- emit(event: "end"): boolean;
- emit(event: "error", err: Error): boolean;
- emit(event: "lookup", err: Error, address: string, family: string | number, host: string): boolean;
- emit(event: "timeout"): boolean;
-
- on(event: string, listener: (...args: any[]) => void): this;
- on(event: "close", listener: (had_error: boolean) => void): this;
- on(event: "connect", listener: () => void): this;
- on(event: "data", listener: (data: Buffer) => void): this;
- on(event: "drain", listener: () => void): this;
- on(event: "end", listener: () => void): this;
- on(event: "error", listener: (err: Error) => void): this;
- on(event: "lookup", listener: (err: Error, address: string, family: string | number, host: string) => void): this;
- on(event: "timeout", listener: () => void): this;
-
- once(event: string, listener: (...args: any[]) => void): this;
- once(event: "close", listener: (had_error: boolean) => void): this;
- once(event: "connect", listener: () => void): this;
- once(event: "data", listener: (data: Buffer) => void): this;
- once(event: "drain", listener: () => void): this;
- once(event: "end", listener: () => void): this;
- once(event: "error", listener: (err: Error) => void): this;
- once(event: "lookup", listener: (err: Error, address: string, family: string | number, host: string) => void): this;
- once(event: "timeout", listener: () => void): this;
-
- prependListener(event: string, listener: (...args: any[]) => void): this;
- prependListener(event: "close", listener: (had_error: boolean) => void): this;
- prependListener(event: "connect", listener: () => void): this;
- prependListener(event: "data", listener: (data: Buffer) => void): this;
- prependListener(event: "drain", listener: () => void): this;
- prependListener(event: "end", listener: () => void): this;
- prependListener(event: "error", listener: (err: Error) => void): this;
- prependListener(event: "lookup", listener: (err: Error, address: string, family: string | number, host: string) => void): this;
- prependListener(event: "timeout", listener: () => void): this;
-
- prependOnceListener(event: string, listener: (...args: any[]) => void): this;
- prependOnceListener(event: "close", listener: (had_error: boolean) => void): this;
- prependOnceListener(event: "connect", listener: () => void): this;
- prependOnceListener(event: "data", listener: (data: Buffer) => void): this;
- prependOnceListener(event: "drain", listener: () => void): this;
- prependOnceListener(event: "end", listener: () => void): this;
- prependOnceListener(event: "error", listener: (err: Error) => void): this;
- prependOnceListener(event: "lookup", listener: (err: Error, address: string, family: string | number, host: string) => void): this;
- prependOnceListener(event: "timeout", listener: () => void): this;
- }
-
- interface ListenOptions {
- port?: number;
- host?: string;
- backlog?: number;
- path?: string;
- exclusive?: boolean;
- readableAll?: boolean;
- writableAll?: boolean;
- /**
- * @default false
- */
- ipv6Only?: boolean;
- }
-
- // https://github.com/nodejs/node/blob/master/lib/net.js
- class Server extends events.EventEmitter {
- constructor(connectionListener?: (socket: Socket) => void);
- constructor(options?: { allowHalfOpen?: boolean, pauseOnConnect?: boolean }, connectionListener?: (socket: Socket) => void);
-
- listen(port?: number, hostname?: string, backlog?: number, listeningListener?: () => void): this;
- listen(port?: number, hostname?: string, listeningListener?: () => void): this;
- listen(port?: number, backlog?: number, listeningListener?: () => void): this;
- listen(port?: number, listeningListener?: () => void): this;
- listen(path: string, backlog?: number, listeningListener?: () => void): this;
- listen(path: string, listeningListener?: () => void): this;
- listen(options: ListenOptions, listeningListener?: () => void): this;
- listen(handle: any, backlog?: number, listeningListener?: () => void): this;
- listen(handle: any, listeningListener?: () => void): this;
- close(callback?: (err?: Error) => void): this;
- address(): AddressInfo | string | null;
- getConnections(cb: (error: Error | null, count: number) => void): void;
- ref(): this;
- unref(): this;
- maxConnections: number;
- connections: number;
- listening: boolean;
-
- /**
- * events.EventEmitter
- * 1. close
- * 2. connection
- * 3. error
- * 4. listening
- */
- addListener(event: string, listener: (...args: any[]) => void): this;
- addListener(event: "close", listener: () => void): this;
- addListener(event: "connection", listener: (socket: Socket) => void): this;
- addListener(event: "error", listener: (err: Error) => void): this;
- addListener(event: "listening", listener: () => void): this;
-
- emit(event: string | symbol, ...args: any[]): boolean;
- emit(event: "close"): boolean;
- emit(event: "connection", socket: Socket): boolean;
- emit(event: "error", err: Error): boolean;
- emit(event: "listening"): boolean;
-
- on(event: string, listener: (...args: any[]) => void): this;
- on(event: "close", listener: () => void): this;
- on(event: "connection", listener: (socket: Socket) => void): this;
- on(event: "error", listener: (err: Error) => void): this;
- on(event: "listening", listener: () => void): this;
-
- once(event: string, listener: (...args: any[]) => void): this;
- once(event: "close", listener: () => void): this;
- once(event: "connection", listener: (socket: Socket) => void): this;
- once(event: "error", listener: (err: Error) => void): this;
- once(event: "listening", listener: () => void): this;
-
- prependListener(event: string, listener: (...args: any[]) => void): this;
- prependListener(event: "close", listener: () => void): this;
- prependListener(event: "connection", listener: (socket: Socket) => void): this;
- prependListener(event: "error", listener: (err: Error) => void): this;
- prependListener(event: "listening", listener: () => void): this;
-
- prependOnceListener(event: string, listener: (...args: any[]) => void): this;
- prependOnceListener(event: "close", listener: () => void): this;
- prependOnceListener(event: "connection", listener: (socket: Socket) => void): this;
- prependOnceListener(event: "error", listener: (err: Error) => void): this;
- prependOnceListener(event: "listening", listener: () => void): this;
- }
-
- interface TcpNetConnectOpts extends TcpSocketConnectOpts, SocketConstructorOpts {
- timeout?: number;
- }
-
- interface IpcNetConnectOpts extends IpcSocketConnectOpts, SocketConstructorOpts {
- timeout?: number;
- }
-
- type NetConnectOpts = TcpNetConnectOpts | IpcNetConnectOpts;
-
- function createServer(connectionListener?: (socket: Socket) => void): Server;
- function createServer(options?: { allowHalfOpen?: boolean, pauseOnConnect?: boolean }, connectionListener?: (socket: Socket) => void): Server;
- function connect(options: NetConnectOpts, connectionListener?: () => void): Socket;
- function connect(port: number, host?: string, connectionListener?: () => void): Socket;
- function connect(path: string, connectionListener?: () => void): Socket;
- function createConnection(options: NetConnectOpts, connectionListener?: () => void): Socket;
- function createConnection(port: number, host?: string, connectionListener?: () => void): Socket;
- function createConnection(path: string, connectionListener?: () => void): Socket;
- function isIP(input: string): number;
- function isIPv4(input: string): boolean;
- function isIPv6(input: string): boolean;
- }
|