@triniwiz/nativescript-downloader
Version:
Download Manager for NativeScript
60 lines (59 loc) • 1.62 kB
TypeScript
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;
}