@rxap/nest-amqp
Version:
@rxap/nest-amqp
35 lines • 1.56 kB
TypeScript
import { OnApplicationBootstrap } from '@nestjs/common';
import { PublishOptions } from 'amqp-connection-manager/dist/types/ChannelWrapper';
import { ConsumeMessage, Message } from 'amqplib';
import { ReplaySubject } from 'rxjs';
export type MessageHandler = (msg: ConsumeMessage) => Promise<void> | void;
export declare class AmqpService implements OnApplicationBootstrap {
readonly initialized: ReplaySubject<boolean>;
readonly isReady: Promise<true>;
private readonly exchangeOptions;
private exchange;
private readonly queueOptions;
private readonly options;
private readonly channelOptions;
private connection;
readonly isConnected: Promise<boolean>;
private channel;
private queue;
private replayQueue;
private readonly responseEmitter;
private readonly handler;
private readonly logger;
onApplicationBootstrap(): Promise<void>;
init(): Promise<void>;
ack(message: Message, allToUp?: boolean): void;
nack(message: Message, allUpTo?: boolean, requeue?: boolean): void;
addHandler(routingKey: string, handler: MessageHandler): Promise<void>;
bind(pattern: string): Promise<void>;
unbind(pattern: string): Promise<void>;
send<T>(routingKey: string, data: any, options?: PublishOptions): Promise<T>;
emit(routingKey: string, data: any, options?: PublishOptions): Promise<void>;
replay(replayQueue: string, data: any, options?: PublishOptions): Promise<void>;
private consumeReplayQueue;
private consumeQueue;
}
//# sourceMappingURL=amqp.service.d.ts.map