UNPKG

@awesomeniko/kafka-trail

Version:

A Node.js library for managing message queue with Kafka

34 lines (33 loc) 926 B
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 };