UNPKG

serialize-every-error

Version:

This package strives to be an exhaustive alternative to normal error serialization for logging

14 lines (9 loc) 431 B
import getShallowGreedyClone from '../utils/get-shallow-greedy-clone.js'; export default (err, serializeError) => { const cause = err.cause.bind(err); const shallowClone = getShallowGreedyClone(err, (key) => key != 'cause'); const serialized = serializeError(shallowClone); serialized.cause = cause(); return serialized; }; export const canHandle = (err) => err.cause && typeof err.cause === 'function';