UNPKG

fast-md5-web

Version:

A TypeScript project with tsup bundler for Rust WASM MD5 calculation

55 lines (52 loc) 1.86 kB
export { Md5Calculator, default as WasmInit } from '../wasm/pkg'; interface SharedMemoryConfig { enabled: boolean; memorySize: number; chunkSize: number; } declare class Md5CalculatorPool { private workers; private availableWorkers; private pendingTasks; private activeTasks; private taskCallbacks; private poolSize; private sharedMemoryConfig; private sharedMemory; private sharedMemoryView; private memoryBlocks; private maxConcurrentTasks; constructor(poolSize?: number, sharedMemoryConfig?: SharedMemoryConfig, maxConcurrentTasks?: number); private isSharedArrayBufferSupported; private initializeSharedMemory; private initializeWorkers; private createWorker; private processNextTask; private processLargeFile; private processSmallFile; calculateMd5(data: Uint8Array | File, md5Length?: number, timeout?: number, onProgress?: (progress: number) => void, priority?: number): Promise<string>; destroy(): void; private allocateSharedMemory; private releaseSharedMemory; private defragmentMemory; private mergeAdjacentBlocks; getPoolStatus(): { totalWorkers: number; availableWorkers: number; pendingTasks: number; activeTasks: number; maxConcurrentTasks: number; sharedMemoryEnabled: boolean; sharedMemoryUsage?: { total: number; used: number; available: number; fragmentation: number; }; }; enableSharedMemory(memorySize?: number, chunkSize?: number): boolean; disableSharedMemory(): void; calculateMd5Batch(files: (Uint8Array | File)[], md5Length?: number, onProgress?: (completed: number, total: number) => void): Promise<string[]>; cancelTask(taskId: string): boolean; } export { Md5CalculatorPool };