UNPKG

handle-cli-error

Version:

💣 Error handler for CLI applications 💥

30 lines (22 loc) • 740 B
import normalizeException from"normalize-exception"; import{INVALID_OPTS_EXIT_CODE}from"../exit.js"; import{applyDefaultOpts,DEFAULT_OPTS}from"./default.js"; import{normalizeOptions}from"./validate.js"; export const getOpts=(error,opts)=>{ try{ return safeGetOpts(error,opts) }catch(error_){ error_.message=`handle-cli-error invalid usage: ${error_.message}`; const errorA=normalizeException(error_); return{error:errorA,opts:INVALID_OPTS,beautifulErrorOpts:{}} } }; const safeGetOpts=(error,opts={})=>{ const{opts:optsA,beautifulErrorOpts}=normalizeOptions(error.name,opts); const optsB=applyDefaultOpts(optsA); return{error,opts:optsB,beautifulErrorOpts} }; const INVALID_OPTS={ ...DEFAULT_OPTS, exitCode:INVALID_OPTS_EXIT_CODE };