From e61759b80bb57576e0d1eede1e7912d10b4c5216 Mon Sep 17 00:00:00 2001 From: GongT Date: Thu, 8 Jun 2017 06:39:47 +0800 Subject: [PATCH] add type define for typescript --- index.d.ts | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++ package.json | 1 + 2 files changed, 59 insertions(+) create mode 100644 index.d.ts diff --git a/index.d.ts b/index.d.ts new file mode 100644 index 0000000..093ad0c --- /dev/null +++ b/index.d.ts @@ -0,0 +1,58 @@ +/// + +declare module "child-process-promise" { + import { + ChildProcess, + ExecFileOptions, + ExecFileOptionsWithBufferEncoding, + ExecFileOptionsWithStringEncoding, + ExecOptions, + ExecOptionsWithBufferEncoding, + ExecOptionsWithStringEncoding, + ForkOptions, + SpawnOptions, + } from "child_process"; + + export interface ChildProcessPromise extends Promise> { + progress(callback: (cp: ChildProcess) => void): this; + } + + export interface ChildProcessResult { + childProcess: ChildProcess; + stdout: StreamType; + stderr: StreamType; + } + + export interface ExtendOption { + capture?: ('stderr'|'stdout')[]; + successfulExitCodes?: number[]; + } + + export interface ChildProcessError extends Error { + code: number; + childProcess: ChildProcess; + stdout: Buffer|string; + stderr: Buffer|string; + } + + export function spawn(command: string, args?: string[], + options?: SpawnOptions&ExtendOption): ChildProcessPromise; + + export function exec(command: string): ChildProcessPromise; + export function exec(command: string, options: ExecOptionsWithStringEncoding): ChildProcessPromise; + export function exec(command: string, options: ExecOptionsWithBufferEncoding): ChildProcessPromise; + export function exec(command: string, options: ExecOptions): ChildProcessPromise; + + export function execFile(file: string): ChildProcessPromise; + export function execFile(file: string, options?: ExecFileOptionsWithStringEncoding): ChildProcessPromise; + export function execFile(file: string, options?: ExecFileOptionsWithBufferEncoding): ChildProcessPromise; + export function execFile(file: string, options?: ExecFileOptions): ChildProcessPromise; + export function execFile(file: string, args?: string[]): ChildProcessPromise; + export function execFile(file: string, args?: string[], options?: ExecFileOptionsWithStringEncoding): ChildProcessPromise; + export function execFile(file: string, args?: string[], options?: ExecFileOptionsWithBufferEncoding): ChildProcessPromise; + export function execFile(file: string, args?: string[], options?: ExecFileOptions): ChildProcessPromise; + + export function fork(modulePath: string, args?: string[], + options?: ForkOptions&ExtendOption): ChildProcessPromise; +} diff --git a/package.json b/package.json index 33902d2..a9555e8 100644 --- a/package.json +++ b/package.json @@ -7,6 +7,7 @@ "lib-es5", "Readme.md" ], + "types": "./index.d.ts", "scripts": { "lint": "eslint lib/*js test/*js", "test": "npm run mocha",