js-uploader
Version:
A JavaScript library for file upload
24 lines (23 loc) • 1.57 kB
TypeScript
import { EventEmitter } from './modules';
import { Observable } from 'rxjs';
import { FileChunk, ID, MaybePromise, TPromise, UploadFile, UploadTask } from '../interface';
export default class Base extends EventEmitter {
private uploaderID?;
protected constructor(uploaderID?: string | number | undefined);
protected toObserverble<T>(input: TPromise<T>): Observable<T>;
protected createObserverble<T>(input: T | ((...args: any[]) => TPromise<T>), ...args: any[]): Observable<T>;
protected presist(task: UploadTask, file: UploadFile, chunk: FileChunk): void;
presistChunkOnly(...chunks: FileChunk[]): Promise<void>;
presistFileOnly(...files: UploadFile[]): Promise<void>;
presistTaskOnly(...tasks: UploadTask[]): Promise<void>;
protected presistUploadFile(file: UploadFile | undefined): Promise<any>;
protected presistBlob(key: string, blob: Blob): Promise<unknown>;
presistTaskWithoutBlob(tasks: UploadTask[], nofication$?: Observable<any>): Observable<UploadTask[]>;
presistTask(tasks: UploadTask[], nofication$?: Observable<any>): Observable<UploadTask[]>;
protected removeChunkFromStroage(...chunks: FileChunk[] | ID[]): Promise<void>;
protected removeFileFromFileStore(...fileIDs: ID[]): void;
protected removeFileFromStroage(...files: UploadFile[] | ID[]): Promise<void>;
protected removeTaskFromStroage(...tasks: UploadTask[]): Promise<void>;
protected clearStorage(uploaderID?: ID): Promise<unknown>;
protected hookWrap<T extends MaybePromise, V = any>(fn: T, promiseValue?: V): Promise<any>;
}