-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmixins.ts
86 lines (79 loc) · 3.68 KB
/
mixins.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
import type {
IConfig, ILogObject,
IRequestListener,
IRequestHandlerOptions, IRequestListenerOptions
} from './base'
import { IInterceptionProxyRequest } from './classes'
export type IConfigurableHandlerTarget = IRequestHandlerOptions["key"] | IRequestHandlerOptions["handler"]
export type IConfigurableListenerTarget = IRequestListenerOptions["key"] | IRequestListenerOptions["handler"]
export type IConfigurableWaitRequestOptions = {
priority?: number,
timeout?: number,
/** If you are using this specific method global `ignoreResponseBodyIfPossible` will be ignored */
ignoreResponseBodyIfPossible?: boolean,
}
export type IConfigurableWaitRequestReturn = { request: IInterceptionProxyRequest }
export interface IConfigurableMixin extends IConfig {
addRequestHandler(handlerOptions: IRequestHandlerOptions): void
addRequestHandler(handler: IRequestHandlerOptions["handler"]): void
addRequestHandler(priority: IRequestHandlerOptions["priority"], handler: IRequestHandlerOptions["handler"]): void
addRequestHandler(key: IRequestHandlerOptions["key"], handler: IRequestHandlerOptions["handler"]): void
addRequestHandler(key: IRequestHandlerOptions["key"], priority: IRequestHandlerOptions["priority"], handler: IRequestHandlerOptions["handler"]): void
// enableRequestHandler(target: IConfigurableHandlerTarget): void
// disableRequestHandler(target: IConfigurableHandlerTarget): void
deleteLocalRequestHandler(target: IConfigurableHandlerTarget): boolean
addRequestListener(listenerOptions: IRequestListenerOptions): void
addRequestListener(handler: IRequestListenerOptions["handler"]): void
addRequestListener(priority: IRequestListenerOptions["priority"], handler: IRequestListenerOptions["handler"]): void
addRequestListener(key: IRequestListenerOptions["key"], handler: IRequestListenerOptions["handler"]): void
addRequestListener(key: IRequestListenerOptions["key"], priority: IRequestListenerOptions["priority"], handler: IRequestListenerOptions["handler"]): void
// enableRequestListener(target: IConfigurableListenerTarget): void
// disableListener(target: IConfigurableListenerTarget): void
deleteLocalRequestListener(target: IConfigurableListenerTarget): boolean
waitForRequest(filter: IRequestListener, options: IConfigurableWaitRequestOptions): Promise<IConfigurableWaitRequestReturn>
/**
* Flush local configuration
* @param key If provided will flush only specific parameter at local level
*/
flushLocal(key?: keyof IConfig): void
getLocalConfiguration(): Partial<IConfig>,
getParentConfiguration(): Partial<IConfig>,
}
export interface ILoggableMixin {
/**
* Pass an error to the logger
* @param message Flow description
* @param error Original error object
* @param meta non specific meta information
*/
recordError(
message: ILogObject["message"],
error?: ILogObject["error"],
...meta: ILogObject["meta"]
): void
/**
* Pass an internal error to the logger
* @param message Flow/error description
* @param meta non specific meta information
*/
recordInternalError(
message: ILogObject["message"],
...meta: ILogObject["meta"]
): void
/**
* Pass an warn to the logger
* @param message Flow/error description
* @param meta non specific meta information
*/
recordWarning(
message: ILogObject["message"],
...meta: ILogObject["meta"]
): void
}
export interface INetworkMixin {
isRequestOverrideAvailable: boolean;
isResponseCollecting: boolean;
isResponseCollected: boolean;
isResponseOverrideAvailable: boolean;
isResponseFinished: boolean;
}