@xuanqikai/one-click-upload
Version:
A CLI tool for one-click file upload to cloud storage services (OSS, TOS)
64 lines • 1.66 kB
TypeScript
import { BatchUploadResult, ProgressCallback, UploadResult } from '../types';
/**
* 上传重试配置
*/
export interface RetryConfig {
maxRetries: number;
baseDelay: number;
maxDelay: number;
backoffFactor: number;
}
/**
* 默认重试配置
*/
export declare const DEFAULT_RETRY_CONFIG: RetryConfig;
/**
* 执行带重试的操作
*/
export declare function retryOperation<T>(operation: () => Promise<T>, config?: Partial<RetryConfig>): Promise<T>;
/**
* 睡眠函数
*/
export declare function sleep(ms: number): Promise<void>;
/**
* 创建进度聚合器(用于批量上传)
*/
export declare function createProgressAggregator(totalFiles: number, onProgress?: ProgressCallback): (fileIndex: number, fileProgress: {
loaded: number;
total: number;
fileName: string;
}) => void;
/**
* 验证上传选项
*/
export declare function validateUploadOptions(options: {
localPath: string;
remotePath: string;
chunkSize?: number;
maxRetries?: number;
}): {
valid: boolean;
errors: string[];
};
/**
* 计算上传统计信息
*/
export declare function calculateUploadStats(results: UploadResult[]): {
totalFiles: number;
successCount: number;
failedCount: number;
totalSize: number;
successRate: number;
};
/**
* 过滤文件(排除隐藏文件、临时文件等)
*/
export declare function shouldUploadFile(filePath: string, options?: {
includeHidden?: boolean;
excludePatterns?: string[];
}): boolean;
/**
* 生成上传摘要报告
*/
export declare function generateUploadSummary(result: BatchUploadResult): string;
//# sourceMappingURL=uploadUtils.d.ts.map