NodeJS child_process signals to be Signals (#40560)

* NodeJS child_process signals to be Signals

* allow number as kill signal where acceptable
This commit is contained in:
Ilia Baryshnikov
2019-11-25 14:26:42 -08:00
committed by Andrew Casey
parent df2703fdab
commit b366d203b6
3 changed files with 31 additions and 30 deletions
+20 -20
View File
@@ -18,7 +18,7 @@ declare module "child_process" {
readonly killed: boolean;
readonly pid: number;
readonly connected: boolean;
kill(signal?: string): void;
kill(signal?: NodeJS.Signals | number): void;
send(message: any, callback?: (error: Error | null) => void): boolean;
send(message: any, sendHandle?: net.Socket | net.Server, callback?: (error: Error | null) => void): boolean;
send(message: any, sendHandle?: net.Socket | net.Server, options?: MessageOptions, callback?: (error: Error | null) => void): boolean;
@@ -36,45 +36,45 @@ declare module "child_process" {
*/
addListener(event: string, listener: (...args: any[]) => void): this;
addListener(event: "close", listener: (code: number, signal: string) => void): this;
addListener(event: "close", listener: (code: number, signal: NodeJS.Signals) => void): this;
addListener(event: "disconnect", listener: () => void): this;
addListener(event: "error", listener: (err: Error) => void): this;
addListener(event: "exit", listener: (code: number | null, signal: string | null) => void): this;
addListener(event: "exit", listener: (code: number | null, signal: NodeJS.Signals | null) => void): this;
addListener(event: "message", listener: (message: any, sendHandle: net.Socket | net.Server) => void): this;
emit(event: string | symbol, ...args: any[]): boolean;
emit(event: "close", code: number, signal: string): boolean;
emit(event: "close", code: number, signal: NodeJS.Signals): boolean;
emit(event: "disconnect"): boolean;
emit(event: "error", err: Error): boolean;
emit(event: "exit", code: number | null, signal: string | null): boolean;
emit(event: "exit", code: number | null, signal: NodeJS.Signals | null): boolean;
emit(event: "message", message: any, sendHandle: net.Socket | net.Server): boolean;
on(event: string, listener: (...args: any[]) => void): this;
on(event: "close", listener: (code: number, signal: string) => void): this;
on(event: "close", listener: (code: number, signal: NodeJS.Signals) => void): this;
on(event: "disconnect", listener: () => void): this;
on(event: "error", listener: (err: Error) => void): this;
on(event: "exit", listener: (code: number | null, signal: string | null) => void): this;
on(event: "exit", listener: (code: number | null, signal: NodeJS.Signals | null) => void): this;
on(event: "message", listener: (message: any, sendHandle: net.Socket | net.Server) => void): this;
once(event: string, listener: (...args: any[]) => void): this;
once(event: "close", listener: (code: number, signal: string) => void): this;
once(event: "close", listener: (code: number, signal: NodeJS.Signals) => void): this;
once(event: "disconnect", listener: () => void): this;
once(event: "error", listener: (err: Error) => void): this;
once(event: "exit", listener: (code: number | null, signal: string | null) => void): this;
once(event: "exit", listener: (code: number | null, signal: NodeJS.Signals | null) => void): this;
once(event: "message", listener: (message: any, sendHandle: net.Socket | net.Server) => void): this;
prependListener(event: string, listener: (...args: any[]) => void): this;
prependListener(event: "close", listener: (code: number, signal: string) => void): this;
prependListener(event: "close", listener: (code: number, signal: NodeJS.Signals) => void): this;
prependListener(event: "disconnect", listener: () => void): this;
prependListener(event: "error", listener: (err: Error) => void): this;
prependListener(event: "exit", listener: (code: number | null, signal: string | null) => void): this;
prependListener(event: "exit", listener: (code: number | null, signal: NodeJS.Signals | null) => void): this;
prependListener(event: "message", listener: (message: any, sendHandle: net.Socket | net.Server) => void): this;
prependOnceListener(event: string, listener: (...args: any[]) => void): this;
prependOnceListener(event: "close", listener: (code: number, signal: string) => void): this;
prependOnceListener(event: "close", listener: (code: number, signal: NodeJS.Signals) => void): this;
prependOnceListener(event: "disconnect", listener: () => void): this;
prependOnceListener(event: "error", listener: (err: Error) => void): this;
prependOnceListener(event: "exit", listener: (code: number | null, signal: string | null) => void): this;
prependOnceListener(event: "exit", listener: (code: number | null, signal: NodeJS.Signals | null) => void): this;
prependOnceListener(event: "message", listener: (message: any, sendHandle: net.Socket | net.Server) => void): this;
}
@@ -244,7 +244,7 @@ declare module "child_process" {
interface ExecOptions extends CommonOptions {
shell?: string;
maxBuffer?: number;
killSignal?: string;
killSignal?: NodeJS.Signals | number;
}
interface ExecOptionsWithStringEncoding extends ExecOptions {
@@ -259,7 +259,7 @@ declare module "child_process" {
cmd?: string;
killed?: boolean;
code?: number;
signal?: string;
signal?: NodeJS.Signals;
}
// no `options` definitely means stdout/stderr are `string`.
@@ -300,7 +300,7 @@ declare module "child_process" {
interface ExecFileOptions extends CommonOptions {
maxBuffer?: number;
killSignal?: string;
killSignal?: NodeJS.Signals | number;
windowsVerbatimArguments?: boolean;
shell?: boolean | string;
}
@@ -406,7 +406,7 @@ declare module "child_process" {
argv0?: string; // Not specified in the docs
input?: string | NodeJS.ArrayBufferView;
stdio?: StdioOptions;
killSignal?: string | number;
killSignal?: NodeJS.Signals | number;
maxBuffer?: number;
encoding?: string;
shell?: boolean | string;
@@ -424,7 +424,7 @@ declare module "child_process" {
stdout: T;
stderr: T;
status: number | null;
signal: string | null;
signal: NodeJS.Signals | null;
error?: Error;
}
function spawnSync(command: string): SpawnSyncReturns<Buffer>;
@@ -439,7 +439,7 @@ declare module "child_process" {
input?: string | Uint8Array;
stdio?: StdioOptions;
shell?: string;
killSignal?: string | number;
killSignal?: NodeJS.Signals | number;
maxBuffer?: number;
encoding?: string;
}
@@ -457,7 +457,7 @@ declare module "child_process" {
interface ExecFileSyncOptions extends CommonOptions {
input?: string | NodeJS.ArrayBufferView;
stdio?: StdioOptions;
killSignal?: string | number;
killSignal?: NodeJS.Signals | number;
maxBuffer?: number;
encoding?: string;
shell?: boolean | string;
+1
View File
@@ -40,6 +40,7 @@
// Trivikram Kamat <https://github.com/trivikr>
// Minh Son Nguyen <https://github.com/nguymin4>
// Junxiao Shi <https://github.com/yoursunny>
// Ilia Baryshnikov <https://github.com/qwelias>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// NOTE: These definitions support NodeJS and TypeScript 3.2.
+10 -10
View File
@@ -193,7 +193,7 @@ async function testPromisify() {
cp = cp.addListener("close", (code, signal) => {
const _code: number = code;
const _signal: string = signal;
const _signal: NodeJS.Signals = signal;
});
cp = cp.addListener("disconnect", () => { });
cp = cp.addListener("error", (err) => {
@@ -201,7 +201,7 @@ async function testPromisify() {
});
cp = cp.addListener("exit", (code, signal) => {
const _code: number | null = code;
const _signal: string | null = signal;
const _signal: NodeJS.Signals | null = signal;
});
cp = cp.addListener("message", (message, sendHandle) => {
const _message: any = message;
@@ -216,7 +216,7 @@ async function testPromisify() {
cp = cp.on("close", (code, signal) => {
const _code: number = code;
const _signal: string = signal;
const _signal: NodeJS.Signals = signal;
});
cp = cp.on("disconnect", () => { });
cp = cp.on("error", (err) => {
@@ -224,7 +224,7 @@ async function testPromisify() {
});
cp = cp.on("exit", (code, signal) => {
const _code: number | null = code;
const _signal: string | null = signal;
const _signal: NodeJS.Signals | null = signal;
});
cp = cp.on("message", (message, sendHandle) => {
const _message: any = message;
@@ -233,7 +233,7 @@ async function testPromisify() {
cp = cp.once("close", (code, signal) => {
const _code: number = code;
const _signal: string = signal;
const _signal: NodeJS.Signals = signal;
});
cp = cp.once("disconnect", () => { });
cp = cp.once("error", (err) => {
@@ -241,7 +241,7 @@ async function testPromisify() {
});
cp = cp.once("exit", (code, signal) => {
const _code: number | null = code;
const _signal: string | null = signal;
const _signal: NodeJS.Signals | null = signal;
});
cp = cp.once("message", (message, sendHandle) => {
const _message: any = message;
@@ -250,7 +250,7 @@ async function testPromisify() {
cp = cp.prependListener("close", (code, signal) => {
const _code: number = code;
const _signal: string = signal;
const _signal: NodeJS.Signals = signal;
});
cp = cp.prependListener("disconnect", () => { });
cp = cp.prependListener("error", (err) => {
@@ -258,7 +258,7 @@ async function testPromisify() {
});
cp = cp.prependListener("exit", (code, signal) => {
const _code: number | null = code;
const _signal: string | null = signal;
const _signal: NodeJS.Signals | null = signal;
});
cp = cp.prependListener("message", (message, sendHandle) => {
const _message: any = message;
@@ -267,7 +267,7 @@ async function testPromisify() {
cp = cp.prependOnceListener("close", (code, signal) => {
const _code: number = code;
const _signal: string = signal;
const _signal: NodeJS.Signals = signal;
});
cp = cp.prependOnceListener("disconnect", () => { });
cp = cp.prependOnceListener("error", (err) => {
@@ -275,7 +275,7 @@ async function testPromisify() {
});
cp = cp.prependOnceListener("exit", (code, signal) => {
const _code: number | null = code;
const _signal: string | null = signal;
const _signal: NodeJS.Signals | null = signal;
});
cp = cp.prependOnceListener("message", (message, sendHandle) => {
const _message: any = message;