diff --git a/lib/err-helpers.js b/lib/err-helpers.js index d00c201..1164a33 100644 --- a/lib/err-helpers.js +++ b/lib/err-helpers.js @@ -12,7 +12,7 @@ const getErrorCause = (err) => { if (!err) return - const cause = evaluateCause(err.cause) + const cause = evaluateCause(err) return cause instanceof Error ? cause @@ -20,14 +20,14 @@ const getErrorCause = (err) => { } /** - * @param {unknown|(()=>err)} cause + * @param {Error|{ cause?: unknown|(()=>err)}} err * @returns {Error|undefined} */ -const evaluateCause = (cause) => { +const evaluateCause = (err) => { // VError / NError style causes are functions - return typeof cause === 'function' - ? cause() - : cause + return typeof err.cause === 'function' + ? err.cause() + : err.cause } /** diff --git a/lib/err.js b/lib/err.js index fd63e23..665bba2 100644 --- a/lib/err.js +++ b/lib/err.js @@ -66,7 +66,7 @@ function errSerializer (err) { } if (err.cause) { - const cause = evaluateCause(err.cause) + const cause = evaluateCause(err) _err.cause = errSerializer(cause) }