UNPKG

@awesomeniko/kafka-trail

Version:

A Node.js library for managing message queue with Kafka

26 lines (25 loc) 1.04 kB
import type { ICustomPartitioner, IHeaders } from "kafkajs"; import Kafka from "kafkajs"; import type { KafkaMessageKey, KafkaTopicName } from "../libs/branded-types/kafka/index.js"; import type { KafkaBrokerConfig, KafkaWithLogger } from "./kafka-broker.js"; import { KTKafkaBroker } from "./kafka-broker.js"; import type { KTTopicBatchPayload } from "./topic-batch.js"; type KTKafkaProducerConfig = { createPartitioner?: ICustomPartitioner; } & KafkaBrokerConfig; declare class KTKafkaProducer extends KTKafkaBroker { #private; constructor(params: KafkaWithLogger<KTKafkaProducerConfig>); getAdmin(): Kafka.Admin; init(): Promise<[void, void]>; destroy(): Promise<[void, void]>; createTopic(topicConfig: Kafka.ITopicConfig): Promise<void>; sendSingleMessage(params: { topicName: KafkaTopicName; value: string; messageKey: KafkaMessageKey; headers: IHeaders; }): Promise<void>; sendBatchMessages(params: KTTopicBatchPayload): Promise<void>; } export { KTKafkaProducer };