UNPKG

vulcain-corejs

Version:
51 lines (50 loc) 1.47 kB
import { EventData, ActionData } from '../pipeline/actions'; import { IActionBusAdapter, IEventBusAdapter } from '../bus/busAdapter'; export declare class RabbitAdapter implements IActionBusAdapter, IEventBusAdapter { private address; private domainHandlers; private channel; private initialized; constructor(address: string); startAsync(): Promise<{}>; /** * Send domain event (event raises by an action) * Domain events are shared by all services of any domains * * @param {string} domain * @param {EventData} event * * @memberOf RabbitAdapter */ sendEvent(domain: string, event: EventData): void; /** * Listening for domain events * * @param {string} domain * @param {Function} handler * * @memberOf RabbitAdapter */ consumeEvents(domain: string, handler: Function): void; /** * Task = asynchronous action * Shared by service instances * * @param {string} domain * @param {string} serviceId * @param {ActionData} command * * @memberOf RabbitAdapter */ publishTask(domain: string, serviceId: string, command: ActionData): void; /** * Listening for asynchronous task * * @param {string} domain * @param {string} serviceId * @param {Function} handler * * @memberOf RabbitAdapter */ consumeTask(domain: string, serviceId: string, handler: Function): void; }