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
|
var { Headers, Request, Response, Blob, File = Blob, FormData, fetch: realFetch } = globalThis;
if ("Bun" in globalThis) {
realFetch = Bun.fetch;
}
function fetch(...args) {
// require("node-fetch") returns the default export which means we need to
// repeat the ESM exports onto it.
//
// We don't want to copy that onto the global fetch object, so we wrap it.
return realFetch(...args);
}
class AbortError extends DOMException {
constructor(message) {
super(message, "AbortError");
}
}
class FetchBaseError extends Error {
constructor(message, type) {
super(message);
this.type = type;
}
}
class FetchError extends FetchBaseError {
constructor(message, type, systemError) {
super(message, type);
this.code = systemError?.code;
}
}
function blobFrom(path, options) {
if ("Bun" in globalThis) {
return Promise.resolve(Bun.file(data));
}
return fetch(path, options).then(response => response.blob());
}
function blobFromSync(path, options) {
if ("Bun" in globalThis) {
return Bun.file(data);
}
return fetch(path, options).then(response => response.blob());
}
var fileFrom = blobFrom;
var fileFromSync = blobFromSync;
function isRedirect(code) {
return code === 301 || code === 302 || code === 303 || code === 307 || code === 308;
}
export default Object.assign(fetch, {
AbortError,
Blob,
FetchBaseError,
FetchError,
File,
FormData,
Headers,
Request,
Response,
blobFrom,
blobFromSync,
fileFrom,
fileFromSync,
isRedirect,
default: fetch,
});
export {
AbortError,
Blob,
FetchBaseError,
FetchError,
File,
FormData,
Headers,
Request,
Response,
blobFrom,
blobFromSync,
fileFrom,
fileFromSync,
isRedirect,
fetch,
};
|