blob: 2a25b522ac89b185eac9696777c08f6d3f64d795 (
plain) (
blame)
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
|
var fs = require("fs");
var request = require("request");
var progress = require("request-progress");
export type Progress = {
percent: number;
speed: number;
size: {
total: number;
transfered: number;
};
time: {
elapsed: number;
remaining: number;
};
};
export function download(
url: string,
targetLocation: string,
onprogress: (state: Progress) => void
): Promise<any> {
return new Promise((resolve: any, reject: any) => {
progress(request(url), {
throttle: 500,
})
.on("progress", onprogress)
.on("error", reject)
.on("end", resolve)
.pipe(fs.createWriteStream(targetLocation));
});
}
|