UNPKG

@alexknips/nestjs-kafka-events

Version:

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

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