redis-smq-common
Version:
Provides essential components and utilities shared across RedisSMQ packages.
22 lines • 1.21 kB
TypeScript
import { ICallback } from '../async/index.js';
import { IEventBusRedisConfig, TEventBusEvent } from './types/index.js';
import { RedisClientFactory } from '../redis-client/index.js';
import { EventBus } from './event-bus.js';
export declare class EventBusRedis<Events extends TEventBusEvent> extends EventBus<Events> {
protected pubClient: RedisClientFactory;
protected subClient: RedisClientFactory;
private readonly subscribedEvents;
constructor(config: IEventBusRedisConfig, namespace?: string);
emit<E extends keyof Events>(event: E, ...args: Parameters<Events[E]>): boolean;
on<E extends keyof Events>(event: E, listener: Events[E]): this;
once<E extends keyof Events>(event: E, listener: Events[E]): this;
removeListener<E extends keyof Events>(event: E, listener: Events[E]): this;
removeAllListeners<E extends keyof Events>(event?: Extract<E, string>): this;
private ensureSubscribed;
private ensureUnsubscribed;
private syncSubscriptionsWithListeners;
private getListenerEventNames;
protected goingUp(): ((cb: ICallback<void>) => void)[];
protected goingDown(): ((cb: ICallback<void>) => void)[];
}
//# sourceMappingURL=event-bus-redis.d.ts.map