UNPKG

4.73 kBTypeScriptView Raw
1import { AutomationClient } from "../automationClient";
2import { EventFired } from "../HandleEvent";
3import { HandlerContext } from "../HandlerContext";
4import { HandlerResult } from "../HandlerResult";
5import { CommandInvocation } from "../internal/invoker/Payload";
6import { CommandIncoming, EventIncoming, RequestProcessor } from "../internal/transport/RequestProcessor";
7import { Destination, MessageOptions } from "../spi/message/MessageClient";
8/**
9 * Listener to receive automation client, command and event handler execution related events.
10 *
11 * Register listener implementations in the configuration.listeners property of the client.
12 */
13export interface AutomationEventListener {
14 /**
15 * WebSocket registration was successful
16 * @param handler
17 */
18 registrationSuccessful(handler: RequestProcessor): void;
19 /**
20 * Client startup successful
21 * @param client
22 */
23 startupSuccessful?(client: AutomationClient): Promise<void>;
24 /**
25 * HandlerContext object created
26 * This gets invoked for every incoming command and event invocation
27 * @param context
28 */
29 contextCreated(context: HandlerContext): void;
30 /**
31 * Raw incoming command payload
32 * @param payload
33 */
34 commandIncoming(payload: CommandIncoming): void;
35 /**
36 * Converted command invocation and created HandlerContext
37 * @param payload
38 * @param ctx
39 */
40 commandStarting(payload: CommandInvocation, ctx: HandlerContext): void;
41 /**
42 * Command execution successful
43 * @param payload
44 * @param ctx
45 * @param result
46 */
47 commandSuccessful(payload: CommandInvocation, ctx: HandlerContext, result: HandlerResult): Promise<void>;
48 /**
49 * Command execution failed
50 * @param payload
51 * @param ctx
52 * @param err
53 */
54 commandFailed(payload: CommandInvocation, ctx: HandlerContext, err: any): Promise<void>;
55 /**
56 * Raw incoming event payload
57 * @param payload
58 */
59 eventIncoming(payload: EventIncoming): void;
60 /**
61 * Converted event invocation and created HandlerContext
62 * @param payload
63 * @param ctx
64 */
65 eventStarting(payload: EventFired<any>, ctx: HandlerContext): void;
66 /**
67 * Event execution successful
68 * @param payload
69 * @param ctx
70 * @param result
71 */
72 eventSuccessful(payload: EventFired<any>, ctx: HandlerContext, result: HandlerResult[]): Promise<void>;
73 /**
74 * Event execution failed
75 * @param payload
76 * @param ctx
77 * @param err
78 */
79 eventFailed(payload: EventFired<any>, ctx: HandlerContext, err: any): Promise<void>;
80 /**
81 * Message will be sent via the MessageClient. Return a potentially modified message to be sent.
82 * @param message
83 * @param destinations
84 * @param options
85 * @param ctx
86 */
87 messageSending(message: any, destinations: Destination | Destination[], options: MessageOptions, ctx: HandlerContext): Promise<{
88 message: any;
89 destinations: Destination | Destination[];
90 options: MessageOptions;
91 }>;
92 /**
93 * Message was sent via the MessageClient
94 * @param message
95 * @param destinations
96 * @param options
97 * @param ctx
98 */
99 messageSent(message: any, destinations: Destination | Destination[], options: MessageOptions, ctx: HandlerContext): Promise<void>;
100}
101export declare class AutomationEventListenerSupport implements AutomationEventListener {
102 registrationSuccessful(handler: RequestProcessor): void;
103 startupSuccessful(client: AutomationClient): Promise<void>;
104 contextCreated(context: HandlerContext): void;
105 commandIncoming(payload: CommandIncoming): void;
106 commandStarting(payload: CommandInvocation, ctx: HandlerContext): void;
107 commandSuccessful(payload: CommandInvocation, ctx: HandlerContext, result: HandlerResult): Promise<void>;
108 commandFailed(payload: CommandInvocation, ctx: HandlerContext, err: any): Promise<void>;
109 eventIncoming(payload: EventIncoming): void;
110 eventStarting(payload: EventFired<any>, ctx: HandlerContext): void;
111 eventSuccessful(payload: EventFired<any>, ctx: HandlerContext, result: HandlerResult[]): Promise<void>;
112 eventFailed(payload: EventFired<any>, ctx: HandlerContext, err: any): Promise<void>;
113 messageSending(message: any, destinations: Destination | Destination[], options: MessageOptions, ctx: HandlerContext): Promise<{
114 message: any;
115 destinations: Destination | Destination[];
116 options: MessageOptions;
117 }>;
118 messageSent(message: any, destinations: Destination | Destination[], options: MessageOptions, ctx: HandlerContext): Promise<void>;
119}
120//# sourceMappingURL=AutomationEventListener.d.ts.map
\No newline at end of file