@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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3MtZXhjZXB0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3dlYnNvY2tldHMvdXRpbHMvd3MtZXhjZXB0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJEQUE4RDtBQUU5RCxNQUFhLFdBQVksU0FBUSxLQUFLO0lBQ2xDLFlBQTZCLEtBQXNCO1FBQ2pELEtBQUssRUFBRSxDQUFDO1FBRG1CLFVBQUssR0FBTCxLQUFLLENBQWlCO1FBRWpELElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLElBQUEsdUJBQVEsRUFBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDNUIsQ0FBQzthQUFNLElBQ0wsSUFBQSx1QkFBUSxFQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDcEIsSUFBQSx1QkFBUSxFQUFFLElBQUksQ0FBQyxLQUE2QixDQUFDLE9BQU8sQ0FBQyxFQUNyRCxDQUFDO1lBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBSSxJQUFJLENBQUMsS0FBNkIsQ0FBQyxPQUFPLENBQUM7UUFDN0QsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJO2lCQUNqQyxLQUFLLENBQUMscUJBQXFCLENBQUM7aUJBQzVCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNmLENBQUM7SUFDSCxDQUFDO0lBRU0sUUFBUTtRQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0NBQ0Y7QUF4Qkgsa0NBd0JHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNPYmplY3QsIGlzU3RyaW5nIH0gZnJvbSBcIi4uLy4uL3V0aWxzL3NoYXJlZC51dGlsc1wiO1xuXG5leHBvcnQgY2xhc3MgV3NFeGNlcHRpb24gZXh0ZW5kcyBFcnJvciB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBlcnJvcjogc3RyaW5nIHwgb2JqZWN0KSB7XG4gICAgICBzdXBlcigpO1xuICAgICAgdGhpcy5pbml0TWVzc2FnZSgpO1xuICAgIH1cbiAgXG4gICAgcHVibGljIGluaXRNZXNzYWdlKCkge1xuICAgICAgaWYgKGlzU3RyaW5nKHRoaXMuZXJyb3IpKSB7XG4gICAgICAgIHRoaXMubWVzc2FnZSA9IHRoaXMuZXJyb3I7XG4gICAgICB9IGVsc2UgaWYgKFxuICAgICAgICBpc09iamVjdCh0aGlzLmVycm9yKSAmJlxuICAgICAgICBpc1N0cmluZygodGhpcy5lcnJvciBhcyBSZWNvcmQ8c3RyaW5nLCBhbnk+KS5tZXNzYWdlKVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMubWVzc2FnZSA9ICh0aGlzLmVycm9yIGFzIFJlY29yZDxzdHJpbmcsIGFueT4pLm1lc3NhZ2U7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY29uc3RydWN0b3IpIHtcbiAgICAgICAgdGhpcy5tZXNzYWdlID0gdGhpcy5jb25zdHJ1Y3Rvci5uYW1lXG4gICAgICAgICAgLm1hdGNoKC9bQS1aXVthLXpdK3xbMC05XSsvZylcbiAgICAgICAgICAuam9pbignICcpO1xuICAgICAgfVxuICAgIH1cbiAgXG4gICAgcHVibGljIGdldEVycm9yKCk6IHN0cmluZyB8IG9iamVjdCB7XG4gICAgICByZXR1cm4gdGhpcy5lcnJvcjtcbiAgICB9XG4gIH0iXX0=