UNPKG

@yogaraj-saravanan/kafka-utils

Version:

Reusable Kafka producer and consumer utilities using kafkajs.

27 lines (26 loc) 856 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.KafkaConsumer = void 0; const kafkajs_1 = require("kafkajs"); class KafkaConsumer { constructor(clientId, brokers, groupId) { this.clientId = clientId; this.brokers = brokers; this.groupId = groupId; const kafka = new kafkajs_1.Kafka({ clientId, brokers }); this.consumer = kafka.consumer({ groupId }); } async connect(topic, onMessage) { await this.consumer.connect(); await this.consumer.subscribe({ topic, fromBeginning: false }); await this.consumer.run({ eachMessage: async (payload) => { await onMessage(payload); }, }); } async disconnect() { await this.consumer.disconnect(); } } exports.KafkaConsumer = KafkaConsumer;