UNPKG

error-serializer

Version:
37 lines (21 loc) 783 B
export const setConstructorArgs=({constructorArgs,message})=> Array.isArray(constructorArgs)? packConstructorArgs(constructorArgs,message): []; const packConstructorArgs=(constructorArgs,message)=>{ if(constructorArgs[0]!==message){ return[["constructorArgs",constructorArgs]] } return canUseDefaultArgs(constructorArgs)? []: [["constructorArgs",[null,...constructorArgs.slice(1)]]] }; const canUseDefaultArgs=(constructorArgs)=> constructorArgs.length===1|| constructorArgs.length===2&&isEmptyObject(constructorArgs[1]); const isEmptyObject=(value)=> typeof value==="object"&&value!==null&&Object.keys(value).length===0; export const unpackConstructorArgs=(constructorArgs,message)=> constructorArgs[0]===null? [message,...constructorArgs.slice(1)]: constructorArgs;