@visulima/error
Version:
Error with more than just a message, stacktrace parsing.
27 lines (23 loc) • 735 B
JavaScript
;
const node_util = require('node:util');
var __defProp = Object.defineProperty;
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
const getErrorCauses = /* @__PURE__ */ __name((error) => {
const seen = /* @__PURE__ */ new Set();
const causes = [];
let currentError = error;
while (currentError) {
if (seen.has(currentError)) {
console.error(`Circular reference detected in error causes: ${node_util.inspect(error)}`);
break;
}
causes.push(currentError);
seen.add(currentError);
if (!currentError.cause) {
break;
}
currentError = currentError.cause;
}
return causes;
}, "getErrorCauses");
module.exports = getErrorCauses;