beautiful-error
Version:
💣 Prettify error messages and stacks 💥
35 lines (21 loc) • 602 B
JavaScript
export const omitProps=(error,props)=>{
if(props){
return error
}
const errorCopy=new Error("");
Object.setPrototypeOf(errorCopy,Object.getPrototypeOf(error));
copyDescriptors(errorCopy,error);
return errorCopy
};
const copyDescriptors=(errorCopy,error)=>{
COPIED_PROPS.forEach((propName)=>{
copyDescriptor(errorCopy,error,propName)
})
};
const COPIED_PROPS=["name","message","stack"];
const copyDescriptor=(errorCopy,error,propName)=>{
const descriptor=Object.getOwnPropertyDescriptor(error,propName);
if(descriptor!==undefined){
Object.defineProperty(errorCopy,propName,descriptor)
}
};