UNPKG

handle-cli-error

Version:

💣 Error handler for CLI applications 💥

33 lines (23 loc) • 591 B
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;