@tsclean/core
Version:
Plugin for API Rest Full development, based on Clean Architecture, IoC and Dependency Injection.
30 lines • 3.07 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.WsException = void 0;
const shared_utils_1 = require("../../utils/shared.utils");
class WsException extends Error {
constructor(error) {
super();
this.error = error;
this.initMessage();
}
initMessage() {
if ((0, shared_utils_1.isString)(this.error)) {
this.message = this.error;
}
else if ((0, shared_utils_1.isObject)(this.error) &&
(0, shared_utils_1.isString)(this.error.message)) {
this.message = this.error.message;
}
else if (this.constructor) {
this.message = this.constructor.name
.match(/[A-Z][a-z]+|[0-9]+/g)
.join(' ');
}
}
getError() {
return this.error;
}
}
exports.WsException = WsException;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3MtZXhjZXB0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3dlYnNvY2tldHMvZXJyb3JzL3dzLWV4Y2VwdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyREFBOEQ7QUFFOUQsTUFBYSxXQUFZLFNBQVEsS0FBSztJQUNsQyxZQUE2QixLQUFzQjtRQUNqRCxLQUFLLEVBQUUsQ0FBQztRQURtQixVQUFLLEdBQUwsS0FBSyxDQUFpQjtRQUVqRCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxJQUFBLHVCQUFRLEVBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQzVCLENBQUM7YUFBTSxJQUNMLElBQUEsdUJBQVEsRUFBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ3BCLElBQUEsdUJBQVEsRUFBRSxJQUFJLENBQUMsS0FBNkIsQ0FBQyxPQUFPLENBQUMsRUFDckQsQ0FBQztZQUNELElBQUksQ0FBQyxPQUFPLEdBQUksSUFBSSxDQUFDLEtBQTZCLENBQUMsT0FBTyxDQUFDO1FBQzdELENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSTtpQkFDakMsS0FBSyxDQUFDLHFCQUFxQixDQUFDO2lCQUM1QixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDZixDQUFDO0lBQ0gsQ0FBQztJQUVNLFFBQVE7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztDQUNGO0FBeEJILGtDQXdCRyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzT2JqZWN0LCBpc1N0cmluZyB9IGZyb20gXCIuLi8uLi91dGlscy9zaGFyZWQudXRpbHNcIjtcblxuZXhwb3J0IGNsYXNzIFdzRXhjZXB0aW9uIGV4dGVuZHMgRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZXJyb3I6IHN0cmluZyB8IG9iamVjdCkge1xuICAgICAgc3VwZXIoKTtcbiAgICAgIHRoaXMuaW5pdE1lc3NhZ2UoKTtcbiAgICB9XG4gIFxuICAgIHB1YmxpYyBpbml0TWVzc2FnZSgpIHtcbiAgICAgIGlmIChpc1N0cmluZyh0aGlzLmVycm9yKSkge1xuICAgICAgICB0aGlzLm1lc3NhZ2UgPSB0aGlzLmVycm9yO1xuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgaXNPYmplY3QodGhpcy5lcnJvcikgJiZcbiAgICAgICAgaXNTdHJpbmcoKHRoaXMuZXJyb3IgYXMgUmVjb3JkPHN0cmluZywgYW55PikubWVzc2FnZSlcbiAgICAgICkge1xuICAgICAgICB0aGlzLm1lc3NhZ2UgPSAodGhpcy5lcnJvciBhcyBSZWNvcmQ8c3RyaW5nLCBhbnk+KS5tZXNzYWdlO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbnN0cnVjdG9yKSB7XG4gICAgICAgIHRoaXMubWVzc2FnZSA9IHRoaXMuY29uc3RydWN0b3IubmFtZVxuICAgICAgICAgIC5tYXRjaCgvW0EtWl1bYS16XSt8WzAtOV0rL2cpXG4gICAgICAgICAgLmpvaW4oJyAnKTtcbiAgICAgIH1cbiAgICB9XG4gIFxuICAgIHB1YmxpYyBnZXRFcnJvcigpOiBzdHJpbmcgfCBvYmplY3Qge1xuICAgICAgcmV0dXJuIHRoaXMuZXJyb3I7XG4gICAgfVxuICB9Il19