diff options
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); |