UNPKG

@fabrix/spool-broadcast

Version:

Spool: broadcast for Fabrix to implement CQRS and Event Sourcing

135 lines (134 loc) 3.83 kB
import { FabrixApp } from '@fabrix/fabrix'; import { FabrixGeneric, FabrixModel } from '@fabrix/fabrix/dist/common'; import { Broadcast } from './Broadcast'; import { Saga } from './Saga'; export declare class BroadcastCommand extends FabrixGeneric { broadcaster: Broadcast; req: { [key: string]: any; }; private _command_type; beforeHooks: any; command_uuid: string; correlation_uuid: string; causation_uuid: string; readonly object: FabrixModel; readonly _list: boolean; data: { [key: string]: any; }; data_updates: { [key: string]: any; }; data_applied: { [key: string]: any; }; data_changed: { [key: string]: any; }; data_previous: { [key: string]: any; }; _metadata: { [key: string]: any; }; _hooks: { [key: string]: any; }; _changes: { [key: string]: any; }; created_at: string; version: number; version_app: string; action: any; explain: {}; chain_before: any[]; chain_saga: any[]; chain_after: any[]; chain_events?: string[]; complete: boolean; breakException: any; pattern: RegExp; pattern_raw: string; pointer: any; cancel_methods: any; options: { [key: string]: any; }; _event_type?: string; correlation_type?: string; constructor(app: FabrixApp, broadcaster: Broadcast, { req, command_type, event_type, object, correlation_uuid, causation_uuid, data, metadata, hooks, version, version_app, chain_events, correlation_type, explain }: { req: any; command_type: any; event_type: any; object: any; correlation_uuid: any; causation_uuid: any; data: any; metadata?: {}; hooks?: any[]; version?: number; version_app: any; chain_events?: any[]; correlation_type: any; explain?: {}; }, options?: { [key: string]: any; }); command_type: string; readonly chain: any[]; generateUUID(correlationUUID?: any): any; private _reload; reload(options: any): Promise<any>; private _approvedUpdates; approveUpdates(approved?: string[]): { [key: string]: any; }; approveUpdate(approved: string): { [key: string]: any; }; private _approvedChanges; approveChanges(approved?: string[]): { [key: string]: any; }; approveChange(approved: any): { [key: string]: any; }; previous(path: any, value: any): any; update(path: any, value: any): any; change(path: any, value: any): any; apply(path: string, value?: any): any; unapplied(): string[]; updated(): string[]; createdAt(): this; updatedAt(): this; deletedAt(): this; changes(key?: string): boolean | string | string[] | Array<string[]>; hasChanges(index?: number): boolean; changedPreviousData(): any; hooks: { [key: string]: any; }; metadata: { [key: string]: any; }; restage(): void; getSagaFromString(handler: string): Saga; getSagaFromHandler(handler: string): string; getSagaMethodFromHandler(handler: string): string; process(managers: any, ...args: any[]): any; broadcastSeries(...args: any[]): any; broadcastParallel(...args: any[]): Promise<any[]>; broadcast(validator: any, options: any): any; } export interface Command { toJSON(): any; toEVENT(): any; getDataValue(handler: any, command: any): any; mergeData(method: any, handler: any, command: any): any; mergeAs(method: any, handler: any, command: any): any; mergeEachAs(method: any, handler: any, command: any): any; includeAs(method: any, handler: any, data: any): any; changed(key?: any): boolean; }