@awesomeniko/kafka-trail
Version:
A Node.js library for managing message queue with Kafka
34 lines (33 loc) • 926 B
TypeScript
import KafkaJS from "kafkajs";
import type pino from "pino";
import { lz4Codec } from "../codec/lz4-codec.js";
import type { KafkaClientId } from "../libs/branded-types/kafka/index.js";
type KTKafkaSettings = {
brokerUrls: string[];
clientId: KafkaClientId;
connectionTimeout: number;
compressionCodec?: {
codecType: keyof typeof CompressionCodecs;
codecFn: lz4Codec;
};
};
export type KafkaBrokerConfig = {
kafkaSettings: KTKafkaSettings;
};
export type KafkaLogger = {
logger: pino.Logger;
};
export type KafkaWithLogger<T extends KafkaBrokerConfig> = T & KafkaLogger;
declare const CompressionCodecs: {
1: () => any;
2: () => any;
3: () => any;
4: () => any;
};
declare class KTKafkaBroker {
_kafka: KafkaJS.Kafka;
constructor(params: KafkaBrokerConfig);
encode(message: object): string;
decode<T>(message: string): T;
}
export { KTKafkaBroker };