UNPKG

beautiful-error

Version:

💣 Prettify error messages and stacks 💥

26 lines (19 loc) • 728 B
import isPlainObj from"is-plain-obj"; import{removeUndefined}from"./default.js"; export const getClassesOpts=({classes={},...opts})=>{ validateObject(classes,"The option 'classes'"); const{default:defaultClass={},...classesA}=classes; return{opts,classes:{...classesA,default:defaultClass}} }; export const applyClassesOpts=(name,classes,opts)=>{ const classesOpts=classes[name]??{}; validateObject(classesOpts,`The option 'classes.${name}'`); return{...opts,...removeUndefined(classesOpts)} }; export const validateObject=(value,optName)=>{ if(!isPlainObj(value)){ throw new Error(`${optName} must be a plain object, not: ${value}`) } }; export const pickClassOpts=(classes,error)=> classes[error.name]??classes.default;