/// 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; }