@pushrocks/smarterror
Version:
better error handling
31 lines • 2.23 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
const plugins = require("./smarterror.plugins");
const make_error_cause_1 = require("make-error-cause");
exports.seperatorText = `\n\nThe following exception was the direct cause of the above exception:\n\n`;
class SmartError extends make_error_cause_1.BaseError {
constructor(errorMessageArg, errorCause) {
super(errorMessageArg, errorCause);
this.name = 'SmartError';
}
get fullStack() {
return make_error_cause_1.fullStack(this);
}
get cleanFullStack() {
let fullCleanStack = plugins.cleanStack(this.stack);
let errorPointer = this;
while (errorPointer.cause) {
fullCleanStack += exports.seperatorText;
if (errorPointer.cause.stack) {
fullCleanStack += plugins.cleanStack(errorPointer.cause.stack);
}
else {
fullCleanStack += errorPointer.cause.message;
}
errorPointer = errorPointer.cause;
}
return fullCleanStack;
}
}
exports.SmartError = SmartError;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLGdEQUFnRDtBQUVoRCx1REFBd0Q7QUFFM0MsUUFBQSxhQUFhLEdBQUcsOEVBQThFLENBQUM7QUFFNUcsZ0JBQXdCLFNBQVEsNEJBQVM7SUFFdkMsWUFBWSxlQUF1QixFQUFFLFVBQVc7UUFDOUMsS0FBSyxDQUFDLGVBQWUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUZyQyxTQUFJLEdBQUcsWUFBWSxDQUFDO0lBR3BCLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLDRCQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELElBQUksY0FBYztRQUNoQixJQUFJLGNBQWMsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVwRCxJQUFJLFlBQVksR0FBRyxJQUFpQixDQUFDO1FBRXJDLE9BQU8sWUFBWSxDQUFDLEtBQUssRUFBRTtZQUN6QixjQUFjLElBQUkscUJBQWEsQ0FBQztZQUNoQyxJQUFJLFlBQVksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFO2dCQUM1QixjQUFjLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ2hFO2lCQUFNO2dCQUNMLGNBQWMsSUFBSSxZQUFZLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQzthQUM5QztZQUNELFlBQVksR0FBRyxZQUFZLENBQUMsS0FBa0IsQ0FBQztTQUNoRDtRQUNELE9BQU8sY0FBYyxDQUFDO0lBQ3hCLENBQUM7Q0FDRjtBQTFCRCxnQ0EwQkMifQ==
;