UNPKG

nodejs-event-driven

Version:

NodeJS agnostic event driven with EventEmitter support

24 lines (23 loc) 906 B
import { BaseEventBusService } from '../../../base-event-bus.service.js'; import type { Logger } from '../../../util/logger.js'; export type RedisEventBusServiceConfig = { database?: number; keyPrefix?: string; name?: string; logger?: Logger; password?: string; url?: string; username?: string; }; export default class RedisEventBusService<E extends string = string> extends BaseEventBusService<E> { #private; static readonly DEFAULT_KEY_PREFIX = "events"; constructor(config: RedisEventBusServiceConfig); 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; sendAndWait<T>(sendEventName: E, successEventName: E, errorEventName: E, data?: unknown): Promise<T>; start(): Promise<void>; stop(): Promise<void>; }