UNPKG

@awesomeniko/kafka-trail

Version:

A Node.js library for managing message queue with Kafka

26 lines 788 B
import { v4 } from "uuid"; import { ktEncode, ktDecode } from "../libs/helpers/default-data-parser.js"; export const KTTopic = (settings, validatorFn) => { const fn = (payload, { messageKey, meta }) => { let payloadToSend; if (validatorFn) { payloadToSend = validatorFn.encode(payload); } else { payloadToSend = ktEncode(payload); } return { topicName: settings.topic, message: payloadToSend, messageKey: messageKey, meta: { ...meta, traceId: meta?.traceId ?? v4(), }, }; }; fn.topicSettings = settings; fn.decode = validatorFn?.decode ?? ktDecode; return fn; }; //# sourceMappingURL=topic.js.map