UNPKG

@beenotung/tslib

Version:
41 lines 1.22 kB
"use strict"; /** * 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