@awesomeniko/kafka-trail
Version:
A Node.js library for managing message queue with Kafka
26 lines (25 loc) • 1.04 kB
TypeScript
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 };