UNPKG

@goparrot/pubsub-event-bus

Version:
28 lines (27 loc) 1.09 kB
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;