@alexknips/nestjs-kafka-events
Version:
Lightweight, tested, straight-forward wrapper around KafkaJS and Confluent's Schema Registry.
35 lines (34 loc) • 1.61 kB
TypeScript
import { OnApplicationBootstrap, OnApplicationShutdown } from '@nestjs/common';
import { SeekEntry } from 'kafkajs';
import { KafkaDeserializer } from './deserializer';
import { EmitKafkaEventPayload } from './interfaces';
import { KafkaEventFunctionsService } from './kafka-event-functions.service';
import { KafkaLogger } from './loggers';
import { KafkaModuleConfigurationProvider } from './providers';
import { KafkaSerializer } from './serializer';
export declare class KafkaService implements OnApplicationBootstrap, OnApplicationShutdown {
private readonly kafkaModuleConfigurationProvider;
private readonly kafkaEventFunctionsService;
private readonly kafkaLogger;
private readonly kafkaSerializer;
private readonly kafkaDeserializer;
private kafka;
private producer;
private consumer;
private admin;
private config;
protected topicOffsets: Map<string, (SeekEntry & {
high: string;
low: string;
})[]>;
constructor(kafkaModuleConfigurationProvider: KafkaModuleConfigurationProvider, kafkaEventFunctionsService: KafkaEventFunctionsService, kafkaLogger: KafkaLogger, kafkaSerializer: KafkaSerializer, kafkaDeserializer: KafkaDeserializer);
private connectToKafka;
private connectToSchemaRegistry;
private disconnect;
onApplicationBootstrap(): Promise<void>;
onApplicationShutdown(): Promise<void>;
private fetchTopicOffsets;
private subscribeToTopics;
private bindEventHandlers;
emit<V, K>(payload: EmitKafkaEventPayload<V, K> | EmitKafkaEventPayload<V, K>[], failSilent?: boolean): Promise<void>;
}