@versatiledatakit/shared
Version:
Versatile Data Kit Shared library enables reusability of shared features like: NgRx Redux, Error Handlers, Utils, Generic Components, etc.
35 lines (34 loc) • 1.13 kB
TypeScript
import { Expression } from '../../../../common';
import { SystemEvent } from '../../event';
export declare type SystemEventMetadataRecord = {
handler: SystemEventHandlerRef;
events: SystemEvent | SystemEvent[];
filterExpression: Expression;
};
/**
* ** Type for one Handler interface.
*/
export declare type SystemEventHandlerRef = (payload: any, eventId?: SystemEvent) => Promise<any>;
/**
* ** Event Handler record in registry.
*/
export declare type SystemEventHandlerRecord = {
/**
* ** Reference to Handler instance.
*/
handlerRef: SystemEventHandlerRef;
/**
* ** Reference to the object where Handler belongs, for context purpose.
*/
handlerClassInstance?: Record<any, any>;
/**
* ** Expression that filters if some Event should be dispatch to the Handler reference or not.
*/
handlerFilterExpression?: Expression;
};
export declare type SystemEventHandlerFindByRef = {
active: boolean;
handlerRecord: SystemEventHandlerRecord;
handlerRef: SystemEventHandlerRef;
};
export declare type SystemEventMetadataRecords = SystemEventMetadataRecord[];