@nestjs/microservices
Version:
Nest - modern, fast, powerful node.js web framework (@microservices)
23 lines (22 loc) • 851 B
JavaScript
import { isObject } from '@nestjs/common/internal';
import { NatsRecord, NatsRecordBuilder } from '../record-builders/index.js';
export class NatsRecordSerializer {
serialize(packet) {
if (packet?.response instanceof NatsRecord) {
const record = packet.response;
return {
data: JSON.stringify({ ...packet, response: record.data }),
headers: record.headers,
};
}
const natsMessage = packet?.data && isObject(packet.data) && packet.data instanceof NatsRecord
? packet.data
: new NatsRecordBuilder(packet?.data)
.setHeaders(packet?.headers)
.build();
return {
data: JSON.stringify({ ...packet, data: natsMessage.data }),
headers: natsMessage.headers,
};
}
}