summaryrefslogtreecommitdiff
path: root/cli/js/process.ts
diff options
context:
space:
mode:
authorNayeem Rahman <nayeemrmn99@gmail.com>2020-06-10 16:10:08 +0100
committerGitHub <noreply@github.com>2020-06-10 11:10:08 -0400
commit8f050355ff08e6e44681b20b17885a01e8480b73 (patch)
treed2f23109b63263408e8278a91386d227d9550679 /cli/js/process.ts
parent4b7d3b060e88c02bc0ca12664f52111a4666b167 (diff)
fix(cli/js/process): Always return a code in ProcessStatus (#5244)
Diffstat (limited to 'cli/js/process.ts')
-rw-r--r--cli/js/process.ts23
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);