@nestjs/microservices
Version:
Nest - modern, fast, powerful node.js web framework (@microservices)
25 lines (24 loc) • 1.11 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.NatsRecordSerializer = void 0;
const load_package_util_1 = require("@nestjs/common/utils/load-package.util");
const record_builders_1 = require("../record-builders");
let natsPackage = {};
class NatsRecordSerializer {
constructor() {
natsPackage = load_package_util_1.loadPackage('nats', NatsRecordSerializer.name, () => require('nats'));
this.jsonCodec = natsPackage.JSONCodec();
}
serialize(packet) {
const natsMessage = (packet === null || packet === void 0 ? void 0 : packet.data) &&
typeof packet.data === 'object' &&
packet.data instanceof record_builders_1.NatsRecord
? packet.data
: new record_builders_1.NatsRecordBuilder(packet === null || packet === void 0 ? void 0 : packet.data).build();
return {
data: this.jsonCodec.encode(Object.assign(Object.assign({}, packet), { data: natsMessage.data })),
headers: natsMessage.headers,
};
}
}
exports.NatsRecordSerializer = NatsRecordSerializer;