-
Notifications
You must be signed in to change notification settings - Fork 27
/
error.ts
71 lines (67 loc) · 1.39 KB
/
error.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
import { Range } from './rangePolicy'
export class DownloadError extends Error {
constructor(
message: string,
public urls: string[],
readonly headers: Record<string, any>,
readonly destination: string,
options?: ErrorOptions,
) {
super(message, options)
this.name = 'DownloadError'
}
}
export class DownloadAbortError extends DownloadError {
constructor(
message: string,
urls: string[],
headers: Record<string, any>,
destination: string,
readonly segments: Range[],
options?: ErrorOptions,
) {
super(
message,
urls,
headers,
destination,
options,
)
this.name = 'DownloadAbortError'
}
}
export class DownloadFileSystemError extends DownloadError {
constructor(
message: string,
urls: string[],
headers: Record<string, any>,
destination: string,
readonly error: unknown,
) {
super(
message,
urls,
headers,
destination,
{ cause: error },
)
this.name = 'DownloadFileSystemError'
}
}
export class DownloadAggregateError extends AggregateError {
constructor(
errors: any[],
message: string,
readonly urls: string[],
readonly headers: Record<string, any>,
readonly destination: string,
options?: ErrorOptions,
) {
super(
errors,
message,
options,
)
this.name = 'DownloadAggregateError'
}
}