forked from rollbar/rollbar.js
-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.d.ts
110 lines (102 loc) · 4.06 KB
/
index.d.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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
// Type definitions for rollbar 2.4.2
// Project: Rollbar
export = Rollbar;
declare class Rollbar {
constructor(options?: Rollbar.Configuration);
static init(options: Rollbar.Configuration): Rollbar;
public global(options: Rollbar.Configuration): Rollbar;
public configure(options: Rollbar.Configuration): Rollbar;
public lastError(): Rollbar.MaybeError;
public log(...args: Rollbar.LogArgument[]): Rollbar.LogResult;
public debug(...args: Rollbar.LogArgument[]): Rollbar.LogResult;
public info(...args: Rollbar.LogArgument[]): Rollbar.LogResult;
public warn(...args: Rollbar.LogArgument[]): Rollbar.LogResult;
public warning(...args: Rollbar.LogArgument[]): Rollbar.LogResult;
public error(...args: Rollbar.LogArgument[]): Rollbar.LogResult;
public critical(...args: Rollbar.LogArgument[]): Rollbar.LogResult;
public captureEvent(metadata: object, level: Rollbar.Level): Rollbar.TelemetryEvent;
public lambdaHandler(handler: Rollbar.LambdaHandler): Rollbar.LambdaHandler;
public errorHandler(): Rollbar.ExpressErrorHandler;
}
declare namespace Rollbar {
export type LambdaHandler = (event: object, context: object, callback: Callback) => void;
export type MaybeError = Error | undefined | null;
export type Level = "debug" | "info" | "warning" | "error" | "critical";
export interface Configuration {
accessToken?: string;
version?: string;
environment?: string;
codeVersion?: string;
code_version?: string;
scrubFields?: string[];
scrubHeaders?: string[];
logLevel?: Level;
reportLevel?: Level;
uncaughtErrorLevel?: Level;
endpoint?: string;
verbose?: boolean;
enabled?: boolean;
captureUncaught?: boolean;
captureUnhandledRejections?: boolean;
payload?: object;
maxItems?: number;
itemsPerMinute?: number;
ignoredMessages?: string[];
hostWhiteList?: string[];
hostBlackList?: string[];
filterTelemetry?: (e: TelemetryEvent) => boolean;
autoInstrument?: AutoInstrumentOptions;
telemetryScrubber?: TelemetryScrubber;
includeItemsInTelemetry?: boolean;
scrubTelemetryInputs?: boolean;
sendConfig?: boolean;
captureEmail?: boolean;
captureUsername?: boolean;
captureIp?: boolean | "anonymize";
captureLambdaTimeouts?: boolean;
transform?: (data: object) => void;
checkIgnore?: (isUncaught: boolean, args: LogArgument[], item: object) => boolean;
onSendCallback?: (isUncaught: boolean, args: LogArgument[], item: object) => void;
}
export type Callback = (err: MaybeError, response: object) => void;
export type LogArgument = string | Error | object | Callback | Date | any[];
export interface LogResult {
uuid: string;
}
export interface TelemetryEvent {
level: Level;
type: string;
timestamp_ms: number;
body: object;
source: string;
uuid?: string;
}
export type AutoInstrumentOptions = boolean | AutoInstrumentSettings;
export interface AutoInstrumentSettings {
network?: boolean;
networkResponseHeaders?: boolean | string[];
networkResponseBody?: boolean;
networkRequestBody?: boolean;
log?: boolean;
dom?: boolean;
navigation?: boolean;
connectivity?: boolean;
}
export type TelemetryScrubber = (description: TelemetryScrubberInput) => boolean;
export type TelemetryScrubberInput = DomDescription | null;
export interface DomDescription {
tagName: string;
id: string | undefined;
classes: string[] | undefined;
attributes: DomAttribute[];
}
export type DomAttributeKey = "type" | "name" | "title" | "alt";
export interface DomAttribute {
key: DomAttributeKey;
value: string;
}
export type ExpressErrorHandler = (err: any, request: any, response: any, next: ExpressNextFunction) => any;
export interface ExpressNextFunction {
(err?: any): void;
}
}