@goparrot/pubsub-event-bus
Version:
NestJS EventBus extension for RabbitMQ PubSub
28 lines (27 loc) • 1.09 kB
TypeScript
import type { Message } from 'amqplib';
import type { DelayType } from '../interface';
/**
* Transform an event string (event class name) to a RabbitMQ event.
*
* @example StoreCreated => "store.created"
* @example OrderStatusUpdated => "order.status.updated"
* @example Fanout => "#"
*/
export declare function toEventName(className: string): string;
/**
* Convert event to a producer class name.
*
* @example "user.created" => UserCreated
*/
export declare function toEventClassName(event: string): string;
/**
* Generate queue name based on Event/Handler class name
*
* @example StoreNotifierHandler => "store_notifier"
* @example OrderStatusUpdatedHandler => "order_status_updated";
*/
export declare function toSnakeCase(className: string | Record<string, unknown>): string;
export declare function calculateDelay(delay: DelayType, retryCount: number): number;
export declare function generateQueuePrefixFromPackageName(): string | undefined;
export declare function getMessageExchange(message: Message): string;
export declare function appInTestingMode(): boolean;