UNPKG

2.42 kBTypeScriptView Raw
1import { LogResponseStatus, EventMessage, TypeMessageMetadata } from "./model/EventMessage";
2import { EventLoggingServiceClient } from "./transport/EventLoggingServiceClient";
3/**
4 * Describes Event Recorder interface
5 * @param recorder instance of EventLogingServiceClient or another recorder
6 * @param preProcess preprocessing method with null implementation in the current release
7 * @param postProcess postprocessing method with null implementation in the current release
8 * @param record the method that records the event depending on the recorder implementation
9 */
10interface IEventRecorder {
11 recorder: EventLoggingServiceClient | Function;
12 preProcess: (event: EventMessage) => EventMessage | TypeMessageMetadata;
13 postProcess?: (result: any) => any;
14 record: (event: EventMessage, doLog?: boolean, callback?: (result: any) => void) => Promise<any>;
15}
16declare type LogResponseType = LogResponseTypeAccepted | LogResponseTypeError;
17declare type LogResponseTypeAccepted = {
18 status: LogResponseStatus.accepted;
19};
20declare type LogResponseTypeError = {
21 status: LogResponseStatus;
22 error: any;
23};
24declare class DefaultLoggerRecorder implements IEventRecorder {
25 recorder: Function;
26 constructor(recorder?: EventLoggingServiceClient);
27 preProcess: (event: EventMessage) => EventMessage | TypeMessageMetadata;
28 postProcess: (result: any) => any;
29 record(event: EventMessage, doLog?: boolean): Promise<any>;
30}
31declare class DefaultSidecarRecorder implements IEventRecorder {
32 recorder: EventLoggingServiceClient;
33 constructor(recorder: EventLoggingServiceClient);
34 preProcess: (event: EventMessage) => EventMessage | TypeMessageMetadata;
35 logLoad: (event: EventMessage) => EventMessage | TypeMessageMetadata;
36 postProcess: (result: any) => any;
37 record(event: EventMessage, doLog?: boolean): Promise<any>;
38}
39declare class DefaultSidecarRecorderAsync implements IEventRecorder {
40 recorder: EventLoggingServiceClient;
41 constructor(recorder: EventLoggingServiceClient);
42 preProcess: (event: EventMessage) => EventMessage;
43 logLoad: (event: EventMessage) => EventMessage | TypeMessageMetadata;
44 record(event: EventMessage, doLog?: boolean, callback?: (result: any) => void): Promise<any>;
45}
46export { DefaultLoggerRecorder, DefaultSidecarRecorder, DefaultSidecarRecorderAsync, IEventRecorder, LogResponseType, LogResponseTypeAccepted, LogResponseTypeError };