UNPKG

ledown

Version:

A library for nodejs to download http large file in pauseable and resumable way

71 lines (59 loc) 1.53 kB
/// <reference types="node" /> import EventEmiter from 'events' declare module "ledown" { type ByteRange = [number, number] class ByteSheet { remaining: ByteRange[] downloading: ByteRange[] completed: ByteRange[] constructor(arg: number | Array<ByteRange[]>) } class TaskMeta { url: string createDate: Date mimeType: string downloadPath: string totalBytes: number resumable: boolean byteSheet: ByteSheet constructor(param: { url: string mimeType: string downloadPath: string totalBytes: number resumable: boolean createDate?: number refererUrl?: string byteSheet?: Array<ByteRange[]> }) progress: number completedByteCount: number downloadingByteCount: number remainingByteCount: number toJSONObject(): Object } type TaskOptions1 = { url: string referUrl?: string downloadDir?: string downloadPath: string } type TaskOptions2 = { url: string referUrl?: string downloadDir: string downloadPath?: string } class Task extends EventEmiter { static create(options: TaskOptions1): Promise<Task> static create(options: TaskOptions2): Promise<Task> static restoreFromFile(path: string): Promise<Task> storeToFile(path: string): Promise<void> start(numOfThread?: number, windowSize?: number) stop(): Promise<void> off: typeof EventEmiter.prototype.removeListener metadata: TaskMeta progress: number } export = { Task } }