handle-cli-error
Version:
💣 Error handler for CLI applications 💥
33 lines (23 loc) • 591 B
JavaScript
import process from"node:process";
import{waitForTimeout}from"./timeout.js";
export const validateExitCode=(exitCode,optName)=>{
if(
!Number.isInteger(exitCode)||
exitCode<MIN_EXIT_CODE||
exitCode>MAX_EXIT_CODE)
{
throw new Error(
`"${optName}" must be between ${MIN_EXIT_CODE} and ${MAX_EXIT_CODE}: ${exitCode}`
)
}
};
export const exitProcess=(exitCode,timeout)=>{
process.exitCode=exitCode;
waitForTimeout(timeout,()=>{
process.exit(exitCode)
})
};
const MIN_EXIT_CODE=0;
export const MAX_EXIT_CODE=255;
export const INVALID_OPTS_EXIT_CODE=125;
export const DEFAULT_EXIT_CODE=1;