@visulima/error
Version:
Error with more than just a message, stacktrace parsing.
25 lines (22 loc) • 712 B
JavaScript
import { inspect } from '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: ${inspect(error)}`);
break;
}
causes.push(currentError);
seen.add(currentError);
if (!currentError.cause) {
break;
}
currentError = currentError.cause;
}
return causes;
}, "getErrorCauses");
export { getErrorCauses as default };