UNPKG

@pushrocks/smarterror

Version:

better error handling

31 lines 2.23 kB
"use strict"; 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==