diff options
author | LawnCable <lawncable.tmw2@simonlaux.de> | 2018-05-22 01:32:10 -0400 |
---|---|---|
committer | LawnCable <lawncable.tmw2@simonlaux.de> | 2018-05-22 01:32:10 -0400 |
commit | 4fdd86da90dd811378b153de31da542f9fabb355 (patch) | |
tree | 59f78e5cdf361b9f513c6f3dd5f23639841b5d7e /src/main/util | |
parent | d6ff248cee446218392567296cfcd2fb8723b066 (diff) | |
download | electron-4fdd86da90dd811378b153de31da542f9fabb355.tar.gz electron-4fdd86da90dd811378b153de31da542f9fabb355.tar.bz2 electron-4fdd86da90dd811378b153de31da542f9fabb355.tar.xz electron-4fdd86da90dd811378b153de31da542f9fabb355.zip |
started update logic for windows - only downloads the zip for now
Diffstat (limited to 'src/main/util')
-rw-r--r-- | src/main/util/downloader.ts | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/main/util/downloader.ts b/src/main/util/downloader.ts new file mode 100644 index 0000000..075097d --- /dev/null +++ b/src/main/util/downloader.ts @@ -0,0 +1,28 @@ +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)); + }); +} |