@nestjs/microservices
Version:
Nest - modern, fast, powerful node.js web framework (@microservices)
30 lines (29 loc) • 859 B
JavaScript
import { KafkaHeaders } from '../enums/kafka-headers.enum.js';
import { isUndefined } from '@nestjs/common/internal';
/**
* @publicApi
*/
export class KafkaResponseDeserializer {
deserialize(message, options) {
const id = message.headers[KafkaHeaders.CORRELATION_ID].toString();
if (!isUndefined(message.headers[KafkaHeaders.NEST_ERR])) {
return {
id,
err: message.headers[KafkaHeaders.NEST_ERR],
isDisposed: true,
};
}
if (!isUndefined(message.headers[KafkaHeaders.NEST_IS_DISPOSED])) {
return {
id,
response: message.value,
isDisposed: true,
};
}
return {
id,
response: message.value,
isDisposed: false,
};
}
}