filestack-js
Version:
Official JavaScript library for Filestack
105 lines (104 loc) • 3.08 kB
TypeScript
import EventEmitter from 'eventemitter3';
import { File, UploadTags } from './../file';
import { StoreUploadOptions } from './../types';
import { Security } from './../../../client';
import { FsRetryConfig } from './../../../request';
export declare const DEFAULT_PART_SIZE: number;
export declare const MIN_PART_SIZE: number;
export declare const INTELLIGENT_CHUNK_SIZE: number;
export declare const INTELLIGENT_MOBILE_CHUNK_SIZE: number;
export declare const MIN_CHUNK_SIZE: number;
export declare const DEFAULT_STORE_LOCATION = "s3";
export declare const enum UploadMode {
DEFAULT = "default",
INTELLIGENT = "intelligent",
FALLBACK = "fallback"
}
export declare abstract class UploaderAbstract extends EventEmitter {
protected readonly storeOptions: StoreUploadOptions;
protected readonly concurrency: number;
protected partSize: number;
protected intelligentChunkSize: number;
protected url: string;
protected timeout: number;
protected uploadMode: UploadMode;
protected apikey: string;
protected security: Security;
protected isModeLocked: boolean;
protected retryConfig: FsRetryConfig;
protected integrityCheck: boolean;
protected uploadTags: UploadTags;
constructor(storeOptions: StoreUploadOptions, concurrency?: number);
setSecurity(security: Security): void;
setApikey(apikey: string): void;
setTimeout(timeout: number): void;
setRetryConfig(cfg: FsRetryConfig): void;
setUrl(url: string): void;
setUploadTags(tags: UploadTags): void;
/**
* Set state of checking file integrity
* @param state
*/
setIntegrityCheck(state: any): void;
/**
* Sets upload mode
*
* @param {UploadMode} mode
* @param {boolean} [lock=false]
* @returns
* @memberof MultipartUploader
*/
setUploadMode(mode: UploadMode, lock?: boolean): void;
/**
* Set upload part size
* if part size is smaller than minimum 5mb it will throw error
*
* @param {number} size
* @returns {void}
* @memberof S3Uploader
*/
setPartSize(size: number): void;
/**
* Returns current part size
*/
getPartSize(): number;
/**
* Set start part size for ii
*
* @param {number} size
* @memberof S3Uploader
*/
setIntelligentChunkSize(size: number): void;
/**
* Returns intelligent chunk size
*/
getIntelligentChunkSize(): number;
/**
* Returns filestack upload url
*
* @private
* @returns
* @memberof MultipartUploader
*/
getUrl(): string;
/**
* Pause upload queue
*
* @memberof MultipartUploader
*/
abstract pause(): void;
/**
* resume upload queue if its paused
*
* @memberof MultipartUploader
*/
abstract resume(): void;
/**
* Aborts queue (all pending requests with will be aborted)
*
* @memberof MultipartUploader
*/
abstract abort(msg?: string): void;
abstract addFile(file: File): string;
abstract execute(): Promise<any>;
}