whale-plus
Version:
A Component Library for Vue 3
33 lines (32 loc) • 1.15 kB
TypeScript
import { TaskQueue } from '../upload-core/TaskQueue';
import type { RequestStrategy } from './RequestStrategy.ts';
import type { ChunkSplitor } from './split/ChunkSplitor.ts';
import type { Chunk } from './split/FileChunk.ts';
export interface FileListener {
uploadSuccessListener(chunk: Chunk): void;
chunkListener(chunks: Chunk[]): void;
chunkEndListener(hash: string): void;
}
export declare class MaxFileUpload {
private requestStrategy;
private splitStrategy;
private taskQueue;
private file;
private token;
private uploadEmitter;
private chunkSize;
private fileListener;
setFileListener(listener: FileListener): this;
setRequestStrategy(requestStrategy: RequestStrategy): this;
setSplitStrategy(splitStrategy: ChunkSplitor): this;
setTaskQueue(taskQueue: TaskQueue): this;
setFile(file: File): this;
setToken(token: string): this;
setChunkSize(chunkSize: number): this;
static with(file: File): MaxFileUpload;
private constructor();
start(): Promise<void>;
private handleChunks;
uploadChunk(chunk: Chunk): Promise<void>;
private handleWholeHash;
}