@fabrix/spool-broadcast
Version:
Spool: broadcast for Fabrix to implement CQRS and Event Sourcing
135 lines (134 loc) • 3.83 kB
TypeScript
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;
}