@jucr/nestjs-kafka-events
Version:
Lightweight, tested, straight-forward wrapper around KafkaJS and Confluent's Schema Registry.
35 lines (34 loc) • 1.64 kB
TypeScript
import { OnApplicationBootstrap, OnApplicationShutdown } from '@nestjs/common';
import { KafkaEventFunctionsService } from './kafka-event-functions.service';
import { KafkaModuleConfigurationProvider } from './providers';
import { KafkaLogger } from './loggers';
import { SeekEntry } from 'kafkajs';
import { KafkaAvroSerializer } from './serializer';
import { KafkaAvroDeserializer } from './deserializer';
import { EmitKafkaEventPayload } from './interfaces';
export declare class KafkaService implements OnApplicationBootstrap, OnApplicationShutdown {
private readonly kafkaModuleConfigurationProvider;
private readonly kafkaEventFunctionsService;
private readonly kafkaLogger;
private readonly kafkaAvroSerializer;
private readonly kafkaAvroDeserializer;
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, kafkaAvroSerializer: KafkaAvroSerializer, kafkaAvroDeserializer: KafkaAvroDeserializer);
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>;
}