UNPKG

error-serializer

Version:
43 lines (22 loc) 714 B
import{listSafeKeys}from"./check.js"; export const SET_CORE_PROPS=new Set(["name","message"]); export const NON_ENUMERABLE_PROPS=new Set([ "name", "message", "stack", "cause", "errors", "lineNumber", "columnNumber", "fileName"] ); export const listProps=(objectOrError)=>{ const propNames=Object.keys(objectOrError).filter(isNotIgnoredProp); const propNamesA=[...new Set([...propNames,...CORE_PROPS])]; return listSafeKeys(objectOrError,propNamesA).filter( (propName)=>objectOrError[propName]!==undefined ) }; const isNotIgnoredProp=(propName)=>!IGNORED_PROPS.has(propName); const IGNORED_PROPS=new Set(["toJSON","constructorArgs"]); const CORE_PROPS=[...NON_ENUMERABLE_PROPS,"line","column"];