event-message-broker
Version:
A Message Bus that uses AWS Stack and RabbitMQ
16 lines (15 loc) • 977 B
TypeScript
import { Channel } from "amqplib";
import { IBus } from "../../application/iBus";
import { GenericMessage, MessageContext, RedeliveryInput, ScheduleInput, ConsumerParams } from "../../application/utils/types";
export declare class RabbitMQBus implements IBus {
private readonly channel;
constructor(channel: Channel);
publish<TMessage extends GenericMessage>(topicName: string, message: TMessage): Promise<void>;
send<TMessage extends GenericMessage>(queueName: string, message: TMessage, _: {}): Promise<void>;
redelivery<TMessageContext extends MessageContext<TMessage>, TMessage extends GenericMessage>(params: RedeliveryInput<TMessageContext, TMessage>): Promise<void>;
schedule<TMessage extends GenericMessage>(params: ScheduleInput<TMessage>): Promise<void>;
consume<TMessage extends GenericMessage>(params: ConsumerParams<TMessage>): Promise<void>;
private secondLevelResilience;
private publishInExchange;
private sendInQueue;
}