@joktec/kafka
Version:
JokTec - Kafka Service
19 lines • 1.16 kB
TypeScript
import { Client } from '@joktec/core';
import { Consumer, Kafka, Message, Producer } from 'kafkajs';
import { KafkaConfig } from './kafka.config';
import { KafkaBatchMessage, KafkaConsumeOptions, KafkaEachMessage, KafkaProduceBatch, KafkaProduceBatchOptions, KafkaProducerOptions } from './models';
export interface KafkaClient extends Client<KafkaConfig, Kafka> {
consume(topics: (string | RegExp)[], groupId: string, callback: (payload: KafkaEachMessage) => Promise<void>, options?: KafkaConsumeOptions, conId?: string): Promise<void>;
consumeBatch(topics: (string | RegExp)[], groupId: string, callback: (payload: KafkaBatchMessage) => Promise<void>, options?: KafkaConsumeOptions, conId?: string): Promise<void>;
send(topic: string, messages: (string | Buffer | Message)[], options?: KafkaProducerOptions, conId?: string): Promise<void>;
sendBatch(batch: KafkaProduceBatch, options: KafkaProduceBatchOptions, conId?: string): Promise<void>;
}
export interface KafkaProp {
producers: {
[producerKey: string]: Producer;
};
consumers: {
[groupId: string]: Consumer;
};
}
//# sourceMappingURL=kafka.client.d.ts.map