UNPKG

nodejs-event-driven

Version:

NodeJS agnostic event driven with EventEmitter support

32 lines (31 loc) 1.33 kB
import type { BaseEventBusServiceBuilder } from '@main/domain/event-bus/base-event-bus.service.js'; import { EventEmitterBusService } from '@main/infra/event-bus/event-emitter/event-emitter-bus.service.js'; import type { Logger } from '@main/util/logger.js'; export type KafkaEventBusServiceConfig = { brokers?: string[]; clientId?: string; logger?: Logger; topicPrefix?: string; }; export declare enum LogLevel { ERROR = 1, WARN = 2, INFO = 4, DEBUG = 5 } export declare const ERROR_MESSAGE_NOT_INITIALIZED = "Kafka is not initialized!"; export declare class KafkaEventBusService<E extends string = string> extends EventEmitterBusService<E> { #private; static readonly DEFAULT_CLIENT_ID: 'app'; static readonly DEFAULT_URL = "localhost:9092"; constructor(config: KafkaEventBusServiceConfig); getTopic(eventName: E): string; on<T>(eventName: E, listener: (data: T) => void): void; once<T>(eventName: E, listener: (data: T) => void): void; off(eventName: E): void; send(eventName: E, data?: unknown): void; start(): Promise<void>; stop(): Promise<void>; } export type KafkaEventBusServiceBuilder = BaseEventBusServiceBuilder<KafkaEventBusServiceConfig, KafkaEventBusService>; export declare const createKafkaEventBusService: KafkaEventBusServiceBuilder;