@5minds/processcube_engine
Version:
The ProcessCube Engine. Stores and executes BPMNs.
91 lines (90 loc) • 2.55 kB
TypeScript
export declare function serializeWorkerMessage(message: WorkerMessage): MessageTransferObject;
export declare function deserializeWorkerMessage(message: MessageTransferObject | any): WorkerMessage;
export type MessageTransferObject = {
data: string;
};
export type PendingMessageContext = {
resolve: (...args: any) => any;
reject: (err?: any) => any;
};
export type SubscriptionContext = {
handleEvent: (...args: any) => any;
handleError: (...args: any) => any;
subscribeOnce: boolean;
};
export type WorkerMessage = {
id: string;
type: 'FunctionRequestMessage' | 'FunctionResponseMessage' | 'FunctionCancellationMessage' | 'SubscriptionRequestMessage' | 'SubscriptionResponseMessage' | 'SubscriptionEventMessage' | 'SubscriptionCancellationMessage' | 'StartupFinishedMessage' | 'MetricsMessage' | 'GracefulShutdownMessage' | 'SystemMessage' | 'EventNotificationMessage';
topic?: string;
payload?: any;
error?: any;
reason?: string;
subscribeOnce?: boolean;
content?: any;
};
export type MetricsMessage = {
id: string;
type: 'MetricsMessage';
typeOfMetrics: 'FunctionReport';
payload: any;
};
export type EventNotificationMessage = {
id: string;
type: 'EventNotificationMessage';
topic: string;
payload?: any;
};
export type SystemMessage = {
id: string;
type: 'SystemMessage';
content?: any;
};
export type FunctionRequestMessage = {
id: string;
type: 'FunctionRequestMessage';
topic: string;
payload?: any;
};
export type FunctionResponseMessage = {
id: string;
type: 'FunctionResponseMessage';
payload?: any;
error?: any;
};
export type FunctionCancellationMessage = {
id: string;
type: 'FunctionCancellationMessage';
reason?: string;
};
export type SubscriptionRequestMessage = {
id: string;
type: 'SubscriptionRequestMessage';
topic: string;
payload?: any;
subscribeOnce?: boolean;
};
export type SubscriptionResponseMessage = {
id: string;
type: 'SubscriptionResponseMessage';
error?: any;
};
export type SubscriptionEventMessage = {
id: string;
type: 'SubscriptionEventMessage';
topic?: string;
payload?: any;
error?: any;
};
export type SubscriptionCancellationMessage = {
id: string;
type: 'SubscriptionCancellationMessage';
reason?: string;
};
export type StartupFinishedMessage = {
id: string;
type: 'StartupFinishedMessage';
};
export type GracefulShutdownMessage = {
id: string;
type: 'GracefulShutdownMessage';
};