mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-04-24 05:06:02 +08:00
[node] Add events for dgram (#11501)
* Add events for dgram * Add tests for dgram * Correct dgram.RemoteInfo interface * Correct emit * Correct emit
This commit is contained in:
committed by
Masahiro Wakame
parent
bbf7d43323
commit
7315e9e81f
@@ -659,14 +659,86 @@ namespace tty_tests {
|
||||
////////////////////////////////////////////////////
|
||||
|
||||
namespace dgram_tests {
|
||||
var ds: dgram.Socket = dgram.createSocket("udp4", (msg: Buffer, rinfo: dgram.RemoteInfo): void => {
|
||||
});
|
||||
ds.bind();
|
||||
ds.bind(41234);
|
||||
var ai: dgram.AddressInfo = ds.address();
|
||||
ds.send(new Buffer("hello"), 0, 5, 5000, "127.0.0.1", (error: Error, bytes: number): void => {
|
||||
});
|
||||
ds.send(new Buffer("hello"), 5000, "127.0.0.1");
|
||||
{
|
||||
var ds: dgram.Socket = dgram.createSocket("udp4", (msg: Buffer, rinfo: dgram.RemoteInfo): void => {
|
||||
});
|
||||
ds.bind();
|
||||
ds.bind(41234);
|
||||
var ai: dgram.AddressInfo = ds.address();
|
||||
ds.send(new Buffer("hello"), 0, 5, 5000, "127.0.0.1", (error: Error, bytes: number): void => {
|
||||
});
|
||||
ds.send(new Buffer("hello"), 5000, "127.0.0.1");
|
||||
}
|
||||
|
||||
{
|
||||
let _socket: dgram.Socket;
|
||||
let _boolean: boolean;
|
||||
let _err: Error;
|
||||
let _str: string;
|
||||
let _rinfo: dgram.AddressInfo;
|
||||
/**
|
||||
* events.EventEmitter
|
||||
* 1. close
|
||||
* 2. error
|
||||
* 3. listening
|
||||
* 4. message
|
||||
**/
|
||||
|
||||
_socket = _socket.addListener("close", () => {});
|
||||
_socket = _socket.addListener("error", (err) => {
|
||||
let _err: Error = err;
|
||||
})
|
||||
_socket = _socket.addListener("listening", () => {});
|
||||
_socket = _socket.addListener("message", (msg, rinfo) => {
|
||||
let _msg: string = msg;
|
||||
let _rinfo: dgram.AddressInfo = rinfo;
|
||||
})
|
||||
|
||||
_boolean = _socket.emit("close")
|
||||
_boolean = _socket.emit("error", _err);
|
||||
_boolean = _socket.emit("listening");
|
||||
_boolean = _socket.emit("message", _str, _rinfo);
|
||||
|
||||
_socket = _socket.on("close", () => {});
|
||||
_socket = _socket.on("error", (err) => {
|
||||
let _err: Error = err;
|
||||
})
|
||||
_socket = _socket.on("listening", () => {});
|
||||
_socket = _socket.on("message", (msg, rinfo) => {
|
||||
let _msg: string = msg;
|
||||
let _rinfo: dgram.AddressInfo = rinfo;
|
||||
})
|
||||
|
||||
_socket = _socket.once("close", () => {});
|
||||
_socket = _socket.once("error", (err) => {
|
||||
let _err: Error = err;
|
||||
})
|
||||
_socket = _socket.once("listening", () => {});
|
||||
_socket = _socket.once("message", (msg, rinfo) => {
|
||||
let _msg: string = msg;
|
||||
let _rinfo: dgram.AddressInfo = rinfo;
|
||||
})
|
||||
|
||||
_socket = _socket.prependListener("close", () => {});
|
||||
_socket = _socket.prependListener("error", (err) => {
|
||||
let _err: Error = err;
|
||||
})
|
||||
_socket = _socket.prependListener("listening", () => {});
|
||||
_socket = _socket.prependListener("message", (msg, rinfo) => {
|
||||
let _msg: string = msg;
|
||||
let _rinfo: dgram.AddressInfo = rinfo;
|
||||
})
|
||||
|
||||
_socket = _socket.prependOnceListener("close", () => {});
|
||||
_socket = _socket.prependOnceListener("error", (err) => {
|
||||
let _err: Error = err;
|
||||
})
|
||||
_socket = _socket.prependOnceListener("listening", () => {});
|
||||
_socket = _socket.prependOnceListener("message", (msg, rinfo) => {
|
||||
let _msg: string = msg;
|
||||
let _rinfo: dgram.AddressInfo = rinfo;
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////
|
||||
|
||||
45
node/node.d.ts
vendored
45
node/node.d.ts
vendored
@@ -1855,8 +1855,8 @@ declare module "dgram" {
|
||||
|
||||
interface RemoteInfo {
|
||||
address: string;
|
||||
family: string;
|
||||
port: number;
|
||||
size: number;
|
||||
}
|
||||
|
||||
interface AddressInfo {
|
||||
@@ -1894,6 +1894,49 @@ declare module "dgram" {
|
||||
dropMembership(multicastAddress: string, multicastInterface?: string): void;
|
||||
ref(): void;
|
||||
unref(): void;
|
||||
|
||||
/**
|
||||
* events.EventEmitter
|
||||
* 1. close
|
||||
* 2. error
|
||||
* 3. listening
|
||||
* 4. message
|
||||
**/
|
||||
addListener(event: string, listener: Function): this;
|
||||
addListener(event: "close", listener: () => void): this;
|
||||
addListener(event: "error", listener: (err: Error) => void): this;
|
||||
addListener(event: "listening", listener: () => void): this;
|
||||
addListener(event: "message", listener: (msg: string, rinfo: AddressInfo) => void): this;
|
||||
|
||||
emit(event: string, ...args: any[]): boolean;
|
||||
emit(event: "close"): boolean;
|
||||
emit(event: "error", err: Error): boolean;
|
||||
emit(event: "listening"): boolean;
|
||||
emit(event: "message", msg: string, rinfo: AddressInfo): boolean;
|
||||
|
||||
on(event: string, listener: Function): this;
|
||||
on(event: "close", listener: () => void): this;
|
||||
on(event: "error", listener: (err: Error) => void): this;
|
||||
on(event: "listening", listener: () => void): this;
|
||||
on(event: "message", listener: (msg: string, rinfo: AddressInfo) => void): this;
|
||||
|
||||
once(event: string, listener: Function): this;
|
||||
once(event: "close", listener: () => void): this;
|
||||
once(event: "error", listener: (err: Error) => void): this;
|
||||
once(event: "listening", listener: () => void): this;
|
||||
once(event: "message", listener: (msg: string, rinfo: AddressInfo) => void): this;
|
||||
|
||||
prependListener(event: string, listener: Function): this;
|
||||
prependListener(event: "close", listener: () => void): this;
|
||||
prependListener(event: "error", listener: (err: Error) => void): this;
|
||||
prependListener(event: "listening", listener: () => void): this;
|
||||
prependListener(event: "message", listener: (msg: string, rinfo: AddressInfo) => void): this;
|
||||
|
||||
prependOnceListener(event: string, listener: Function): this;
|
||||
prependOnceListener(event: "close", listener: () => void): this;
|
||||
prependOnceListener(event: "error", listener: (err: Error) => void): this;
|
||||
prependOnceListener(event: "listening", listener: () => void): this;
|
||||
prependOnceListener(event: "message", listener: (msg: string, rinfo: AddressInfo) => void): this;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user