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.
33 lines (32 loc) • 1.23 kB
TypeScript
import retry from "async-retry";
import BaseDownloadEngineWriteStream from "./base-download-engine-write-stream.js";
export type DownloadEngineWriteStreamOptionsNodeJS = {
retry?: retry.Options;
mode: string;
debounceWrite?: {
maxTime?: number;
maxSize?: number;
};
};
export default class DownloadEngineWriteStreamNodejs extends BaseDownloadEngineWriteStream {
path: string;
finalPath: string;
private _fd;
private _fileWriteFinished;
private _writeDebounce;
private _fileSize;
readonly options: DownloadEngineWriteStreamOptionsNodeJS;
autoDebounceMaxSize: boolean;
constructor(path: string, finalPath: string, options?: Partial<DownloadEngineWriteStreamOptionsNodeJS>);
get fileSize(): number;
set fileSize(value: number);
private _ensureFileOpen;
write(cursor: number, buffers: Uint8Array[]): Promise<void>;
_writeWithoutDebounce(cursor: number, buffers: Uint8Array[]): Promise<void>;
ensureBytesSynced(): Promise<void>;
ftruncate(size?: number): Promise<void>;
saveMetadataAfterFile(data: any): Promise<void>;
loadMetadataAfterFileWithoutRetry(): Promise<any>;
private _writeWithoutRetry;
close(): Promise<void>;
}