@goparrot/pubsub-event-bus
Version:
NestJS EventBus extension for RabbitMQ PubSub
24 lines (23 loc) • 1.06 kB
TypeScript
import type { LoggerService, OnModuleDestroy } from '@nestjs/common';
import type { AmqpConnectionManager, ChannelWrapper } from 'amqp-connection-manager';
import type { ConfirmChannel } from 'amqplib';
import { ExchangeOptions } from '../interface';
/**
* Review the work with connections & channels, according to these recommendations.
* https://www.cloudamqp.com/blog/2018-01-19-part4-rabbitmq-13-common-errors.html
*/
export declare abstract class PubsubManager implements OnModuleDestroy {
private connection$;
private readonly connectionName?;
private readonly urls;
protected readonly assertExchangeOptions: ExchangeOptions;
private readonly connectionManagerOptions;
protected get connection(): AmqpConnectionManager;
private channelWrapper$;
protected get channelWrapper(): ChannelWrapper;
setupChannel(_channel: ConfirmChannel): Promise<void>;
protected initConnectionIfRequired(): void;
protected initChannelIfRequired(): void;
onModuleDestroy(): Promise<void>;
protected logger(): LoggerService;
}