@rafikidota/eidolon
Version:
Sometimes, the best way to solve your own problems is to help someone else.
34 lines • 1.25 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ExceptionMapper = void 0;
const common_1 = require("@nestjs/common");
const microservices_1 = require("@nestjs/microservices");
class ExceptionMapper {
static handle(error) {
const ok = ExceptionMapper.check(error);
if (ok) {
const status = error.getStatus() ?? 500;
const { name, message } = error;
throw new microservices_1.RpcException({ status, name, message });
}
const { name = 'Unknown Error' } = error;
const { message = 'Internal Server Error' } = error;
const { status = 500 } = error;
throw new microservices_1.RpcException({ status, name, message });
}
static check(error) {
if (!error || typeof error !== 'object') {
return false;
}
const aux = { proto: Object.getPrototypeOf(error) };
while (aux.proto) {
if (aux.proto.constructor === common_1.HttpException) {
return true;
}
aux.proto = Object.getPrototypeOf(aux.proto);
}
return false;
}
}
exports.ExceptionMapper = ExceptionMapper;
//# sourceMappingURL=exception.mapper.js.map