-
Notifications
You must be signed in to change notification settings - Fork 25
/
Copy pathbrowser.d.ts
88 lines (77 loc) · 1.85 KB
/
browser.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
import {
Event,
Breadcrumb,
User,
SeverityLevel,
Stacktrace,
Transport,
} from '@sentry/types'
export = sentryTestkit
declare function sentryTestkit<
T extends sentryTestkit.V6TransportClass | sentryTestkit.V7TransportFunction
>(): sentryTestkit.TestkitResult<T>
declare namespace sentryTestkit {
interface Page {
on(event: string, handler: (...args: any[]) => any): void
off(event: string, handler: (...args: any[]) => any): void
}
interface ReportError {
name: string
message: string
stacktrace: Stacktrace
}
interface Report {
breadcrumbs: Breadcrumb[]
error?: ReportError
message?: string
extra?: { [key: string]: any }
level: SeverityLevel
release?: string
user?: User
tags: { [key: string]: string }
originalReport: Event
}
interface Span {
id: string
op?: string
description?: string
parentSpanId: string
}
interface Transaction {
name: string
traceId: string
release?: string
extra?: Record<string, unknown>
tags: Record<string, unknown>
spans: Span[]
}
export interface Testkit {
puppeteer: {
startListening(page: Page, baseUrl?: String): void
stopListening(page: Page): void
}
reports(): Report[]
transactions(): Transaction[]
reset(): void
getExceptionAt(index: number): ReportError
findReport(e: Error): Report
isExist(e: Error): boolean
}
type V6TransportClass = {
new (): Transport
}
type V7TransportFunction = () => Transport
export interface TestkitResult<
Transport extends V6TransportClass | V7TransportFunction
> {
testkit: Testkit
sentryTransport: Transport
initNetworkInterceptor<T>(
dsn: string,
initCallback: (
baseUrl: string,
handleRequestBody: (requestBody: { [key: string]: any }) => void
) => T
): T
}
}