diff options
author | Nayeem Rahman <nayeemrmn99@gmail.com> | 2020-06-10 16:10:08 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-10 11:10:08 -0400 |
commit | 8f050355ff08e6e44681b20b17885a01e8480b73 (patch) | |
tree | d2f23109b63263408e8278a91386d227d9550679 /cli/js | |
parent | 4b7d3b060e88c02bc0ca12664f52111a4666b167 (diff) |
fix(cli/js/process): Always return a code in ProcessStatus (#5244)
Diffstat (limited to 'cli/js')
-rw-r--r-- | cli/js/process.ts | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/cli/js/process.ts b/cli/js/process.ts index cfae7fe56..f318b0c1c 100644 --- a/cli/js/process.ts +++ b/cli/js/process.ts @@ -21,10 +21,11 @@ async function runStatus(rid: number): Promise<ProcessStatus> { if (res.gotSignal) { const signal = res.exitSignal; - return { signal, success: false }; + return { success: false, code: 128 + signal, signal }; + } else if (res.exitCode != 0) { + return { success: false, code: res.exitCode }; } else { - const code = res.exitCode; - return { code, success: code === 0 }; + return { success: true, code: 0 }; } } @@ -92,11 +93,17 @@ export class Process<T extends RunOptions = RunOptions> { } } -export interface ProcessStatus { - success: boolean; - code?: number; - signal?: number; // TODO: Make this a string, e.g. 'SIGTERM'. -} +export type ProcessStatus = + | { + success: true; + code: 0; + signal?: undefined; + } + | { + success: false; + code: number; + signal?: number; + }; function isRid(arg: unknown): arg is number { return !isNaN(arg as number); |