UNPKG

@jucr/nestjs-kafka-events

Version:

Lightweight, tested, straight-forward wrapper around KafkaJS and Confluent's Schema Registry.

35 lines (34 loc) 1.64 kB
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>; }