@beenotung/tslib
Version:
utils library in Typescript
41 lines • 1.22 kB
JavaScript
;
/**
* For Node
* */
Object.defineProperty(exports, "__esModule", { value: true });
exports.download_file = void 0;
const tslib_1 = require("tslib");
const fs = tslib_1.__importStar(require("fs"));
const http = tslib_1.__importStar(require("http"));
const https = tslib_1.__importStar(require("https"));
/**
* reference: https://stackoverflow.com/a/51624229/3156509
* */
exports.download_file = (url, file_path) => new Promise((resolve, reject) => {
const callback = (response) => response
.pipe(fs.createWriteStream(file_path))
// fs error
.on('error', (err) => {
reject(err);
})
.on('finish', () => {
resolve();
});
if (url.startsWith('http://')) {
return (http
.get(url, callback)
// network error
.once('error', error => reject(error)));
}
else if (url.startsWith('https://')) {
return (https
.get(url, callback)
// network error
.once('error', error => reject(error)));
}
else {
console.error('unknown protocol on url:', url);
throw new Error('unknown protocol');
}
});
//# sourceMappingURL=download-file.js.map