@voxpelli/node-test-pretty-reporter
Version:
Reporter for node:test that supports colorful diffs etc
20 lines (16 loc) • 447 B
JavaScript
/**
* @template {Error} T
* @param {T} value
* @returns {[T, ...Error[]]}
*/
export function getErrorAndCauses (value) {
/** @type {[T, ...Error[]]} */
const seenErrors = [value];
/** @type {Error} */
let previousValue = value;
while (previousValue.cause instanceof Error && !seenErrors.includes(previousValue.cause)) {
seenErrors.push(previousValue.cause);
previousValue = previousValue.cause;
}
return seenErrors;
}