| /// <reference types="node" /> | |
| import * as stream from 'stream'; | |
| /** | |
| * Interface for exec options | |
| */ | |
| export interface ExecOptions { | |
| /** optional working directory. defaults to current */ | |
| cwd?: string; | |
| /** optional envvar dictionary. defaults to current process's env */ | |
| env?: { | |
| [key: string]: string; | |
| }; | |
| /** optional. defaults to false */ | |
| silent?: boolean; | |
| /** optional out stream to use. Defaults to process.stdout */ | |
| outStream?: stream.Writable; | |
| /** optional err stream to use. Defaults to process.stderr */ | |
| errStream?: stream.Writable; | |
| /** optional. whether to skip quoting/escaping arguments if needed. defaults to false. */ | |
| windowsVerbatimArguments?: boolean; | |
| /** optional. whether to fail if output to stderr. defaults to false */ | |
| failOnStdErr?: boolean; | |
| /** optional. defaults to failing on non zero. ignore will not fail leaving it up to the caller */ | |
| ignoreReturnCode?: boolean; | |
| /** optional. How long in ms to wait for STDIO streams to close after the exit event of the process before terminating. defaults to 10000 */ | |
| delay?: number; | |
| /** optional. input to write to the process on STDIN. */ | |
| input?: Buffer; | |
| /** optional. Listeners for output. Callback functions that will be called on these events */ | |
| listeners?: ExecListeners; | |
| } | |
| /** | |
| * Interface for the output of getExecOutput() | |
| */ | |
| export interface ExecOutput { | |
| /**The exit code of the process */ | |
| exitCode: number; | |
| /**The entire stdout of the process as a string */ | |
| stdout: string; | |
| /**The entire stderr of the process as a string */ | |
| stderr: string; | |
| } | |
| /** | |
| * The user defined listeners for an exec call | |
| */ | |
| export interface ExecListeners { | |
| /** A call back for each buffer of stdout */ | |
| stdout?: (data: Buffer) => void; | |
| /** A call back for each buffer of stderr */ | |
| stderr?: (data: Buffer) => void; | |
| /** A call back for each line of stdout */ | |
| stdline?: (data: string) => void; | |
| /** A call back for each line of stderr */ | |
| errline?: (data: string) => void; | |
| /** A call back for each debug log */ | |
| debug?: (data: string) => void; | |
| } |