From 4fdd86da90dd811378b153de31da542f9fabb355 Mon Sep 17 00:00:00 2001 From: LawnCable Date: Tue, 22 May 2018 01:32:10 -0400 Subject: started update logic for windows - only downloads the zip for now --- src/main/util/downloader.ts | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 src/main/util/downloader.ts (limited to 'src/main/util') 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{ + 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)); + }); +} -- cgit v1.2.3-60-g2f50