fluxforge
Version:
企业级文件分块和并发处理库,具备 Web Workers、自动重试、实时进度跟踪和 MD5 完整性验证功能,专为现代浏览器设计。非常适合大文件上传、流式处理和数据处理管道场景。
26 lines (25 loc) • 931 B
TypeScript
export interface Chunk {
blob: Blob;
hash: string;
index: number;
start: number;
end: number;
}
export interface Options {
chunkSize?: number;
}
export interface ProcessOptions {
concurrency?: number;
onProgress?: (completed: number, total: number) => void;
}
export type ChunkProcessor = (chunk: Chunk, signal: AbortSignal) => void | Promise<void>;
export interface ProcessController {
pause: () => void;
resume: () => void;
cancel: () => void;
promise: Promise<void>;
}
export declare function chunkFile(file: File, options?: Options): Promise<Chunk>[];
export declare function processChunks(chunkPromises: Promise<Chunk>[], processor: ChunkProcessor, options?: ProcessOptions): ProcessController;
export declare function calculateFileHash(chunkPromises: Promise<Chunk>[]): Promise<string>;
export declare function collectChunks(chunkPromises: Promise<Chunk>[]): Promise<Chunk[]>;