UNPKG

@triniwiz/nativescript-downloader

Version:

Download Manager for NativeScript

60 lines (59 loc) 1.62 kB
import { Observable } from '@nativescript/core'; export declare abstract class DownloaderBase extends Observable { downloadsData: Map<String, any>; /** * Native android instance */ android: any; /** * Native ios instance of [AFURLSessionManager](http://cocoadocs.org/docsets/AFNetworking/3.1.0/Classes/AFURLSessionManager.html) */ ios: any; constructor(); abstract createDownload(options: DownloadOptions): string; abstract start(id: string, progress?: Function): Promise<DownloadEventData>; abstract resume(id: string): void; abstract pause(id: string): void; abstract cancel(id: string): void; abstract getStatus(id: string): StatusCode; abstract getPath(id: string): string; } export declare function generateId(): string; export interface DownloadEventError { status: string; message: string; native: any; } export interface DownloadEventData { status: string; path: string; message?: string; } export interface ProgressEventData { value: number; currentSize: number; totalSize: number; speed: number; } export declare enum StatusCode { PENDING = "pending", PAUSED = "paused", DOWNLOADING = "downloading", COMPLETED = "completed", ERROR = "error" } export interface DownloadOptions { url: string; query?: Object | string; headers?: Record<string, string>; path?: string; fileName?: string; } export interface DownloadsData { status?: StatusCode; resolve?: Function; reject?: Function; callback?: Function; request?: any; path?: string; }