UNPKG

@fabrix/spool-broadcast

Version:

Spool: broadcast for Fabrix to implement CQRS and Event Sourcing

76 lines (75 loc) 2.52 kB
import { FabrixApp } from '@fabrix/fabrix'; import { FabrixGeneric, FabrixModel } from '@fabrix/fabrix/dist/common'; import { Promise } from 'bluebird'; import { BroadcastEvent } from './api/models'; import { Entry } from './Entry'; import { BroadcastAction, BroadcastOptions } from './Interface'; import { BroadcastEntity } from './BroadcastEntity'; import { Broadcast } from './Broadcast'; export declare class BroadcastDispatch extends FabrixGeneric { event: BroadcastEvent; options: { [key: string]: any; }; consistency: string; manager: { [key: string]: any; }; broadcaster: Broadcast; message: any; isAcknowledged: boolean; isRedelivered: boolean; versions: number[]; retries: number; dispatcherModel: FabrixModel; private _id; constructor(app: FabrixApp, { event, options, consistency, message, manager, broadcaster }: { event: BroadcastEvent; options: BroadcastOptions; consistency?: string; message?: string; manager?: any; broadcaster?: Broadcast; }); id: string; readonly name: string; run(): Promise<(BroadcastEvent | BroadcastAction | BroadcastOptions)[]>; broadcast(events: any): Promise<any>; generateEvent(event_pattern: any, { object, data, metadata }?: { object?: any; data?: any; metadata?: any; }): BroadcastEvent; generateEventMetadata(keys?: string[]): { [key: string]: any; }; request(req: any): Promise<any>; ack(): Promise<(BroadcastEvent | BroadcastAction | BroadcastOptions)[]>; nack(): Promise<(BroadcastEvent | BroadcastAction | BroadcastOptions)[]>; reject(): Promise<(BroadcastEvent | BroadcastAction | BroadcastOptions)[]>; interrupt(msg: any): Promise<any>; reply(msg: any): Promise<any>; finalize(): Promise<any>; entries(name: string): Entry; Sequelize(): any; mapSeries(...args: any[]): Promise<any>; readonly metadata: { channel: any; channel_session: any; user: any; device: any; application: any; causation_uuid: any; correlation_uuid: any; correlation_type: any; explain: any; ip: any; }; } export declare class BroadcastDispatcher extends BroadcastEntity { private _managers; constructor(app: FabrixApp); newDispatcher(func: any, vals: any): BroadcastDispatch; readonly managers: Map<string, string>; hasManager(name: any): boolean; }