verror-0
Version:
VError without dependencies on top of nodejs standart library
22 lines (21 loc) • 525 B
JavaScript
import { cause } from './cause.js';
import { isError } from './is-error.js';
export const info = (err) => {
if (!isError(err)) {
throw new Error('err must be an Error');
}
const _cause = cause(err);
let rv;
if (_cause !== null) {
rv = info(_cause);
}
else {
rv = {};
}
if ('jse_info' in err && typeof err.jse_info == 'object' && err.jse_info !== null) {
for (const k in err.jse_info) {
rv[k] = err.jse_info[k];
}
}
return rv;
};