@rxap/nest-amqp
Version:
@rxap/nest-amqp
38 lines (37 loc) • 1.21 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.IncomingResponseDeserializer = void 0;
const shared_utils_1 = require("@nestjs/common/utils/shared.utils");
const error_deserializer_1 = require("./error.deserializer");
class IncomingResponseDeserializer {
deserialize(value, options) {
if (this.isExternal(value)) {
return this.mapToSchema(value);
}
else {
if (!(0, shared_utils_1.isUndefined)(value.err)) {
value['err'] = new error_deserializer_1.ErrorDeserializer().deserialize(value['err']);
}
return value;
}
}
isExternal(value) {
if (!value) {
return true;
}
if (!(0, shared_utils_1.isUndefined)(value.err) ||
!(0, shared_utils_1.isUndefined)(value.response) ||
!(0, shared_utils_1.isUndefined)(value.isDisposed)) {
return false;
}
return true;
}
mapToSchema(value) {
return {
id: value && value.id,
response: value,
isDisposed: true,
};
}
}
exports.IncomingResponseDeserializer = IncomingResponseDeserializer;