UNPKG

@fabrix/spool-broadcast

Version:

Spool: broadcast for Fabrix to implement CQRS and Event Sourcing

74 lines (73 loc) 2.35 kB
import { FabrixApp } from '@fabrix/fabrix'; import { FabrixGeneric } from '@fabrix/fabrix/dist/common'; import { Promise } from 'bluebird'; import { Broadcast } from './Broadcast'; import { BroadcastEvent } from './api/models'; import { Entry } from './Entry'; import { BroadcastAction, BroadcastOptions } from './Interface'; import { BroadcastEntity } from './BroadcastEntity'; export declare class BroadcastProject extends FabrixGeneric { event: BroadcastEvent; options: { [key: string]: any; }; consistency: string; manager: { [key: string]: any; }; broadcaster: Broadcast; message: any; isAcknowledged: boolean; isRedelivered: boolean; retries: number; private _projectorModel; private _id; constructor(app: FabrixApp, { event, options, consistency, message, manager, broadcaster }: { event: BroadcastEvent; options: { [key: string]: any; }; consistency?: string; message?: string; manager?: any; broadcaster?: Broadcast; }); readonly saveOptions: { transaction: any; useMaster: any; fields: boolean | string[]; }; id: string; readonly name: string; projectorModel: any; readonly fields: string[]; run(): Promise<(BroadcastEvent | BroadcastAction | BroadcastOptions)[]>; 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 BroadcastProjector extends BroadcastEntity { private _managers; constructor(app: FabrixApp); newProjector(func: any, vals: any): BroadcastProject; readonly managers: Map<string, string>; hasManager(name: any): boolean; }