ipull
Version:
The only file downloader you'll ever need. For node.js and the browser, CLI and library for fast and reliable file downloads.
34 lines • 1.41 kB
JavaScript
import DownloadEngineBrowser from "./download-engine/engine/download-engine-browser.js";
import DownloadEngineMultiDownload from "./download-engine/engine/download-engine-multi-download.js";
import BaseDownloadEngine from "./download-engine/engine/base-download-engine.js";
import { DownloadEngineRemote } from "./download-engine/engine/DownloadEngineRemote.js";
const DEFAULT_PARALLEL_STREAMS_FOR_BROWSER = 3;
/**
* Download one file in the browser environment.
*/
export async function downloadFileBrowser(options) {
options.parallelStreams ??= DEFAULT_PARALLEL_STREAMS_FOR_BROWSER;
return await DownloadEngineBrowser.createFromOptions(options);
}
/**
* Stream events for a download from remote session, doing so by calling `emitRemoteProgress` with the progress info.
*/
export function downloadFileRemoteBrowser() {
return new DownloadEngineRemote();
}
/**
* Download multiple files in the browser environment.
*/
export async function downloadSequenceBrowser(options, ...downloads) {
let downloadOptions = {};
if (options instanceof BaseDownloadEngine || options instanceof Promise) {
downloads.unshift(options);
}
else if (options) {
downloadOptions = options;
}
const downloader = new DownloadEngineMultiDownload(downloadOptions);
await downloader.addDownload(...downloads);
return downloader;
}
//# sourceMappingURL=browser-download.js.map