s3-cli-js
Version:
A TypeScript-based npm package that replaces AWS CLI for S3 operations using presigned URLs
34 lines • 1.24 kB
TypeScript
/**
* Concurrent operations utility for S3 file transfers
*/
import { S3ClientWrapper } from '../s3-client';
import { FileOperation, ConcurrentProgress } from '../types';
export interface ConcurrentOperationOptions {
concurrency: number;
onProgress?: (progress: ConcurrentProgress) => void;
dryRun?: boolean;
}
export interface ConcurrentOperationResult {
completed: FileOperation[];
failed: Array<{
operation: FileOperation;
error: Error;
}>;
totalBytes: number;
}
/**
* Execute file operations concurrently with controlled concurrency
*/
export declare function executeConcurrentOperations(client: S3ClientWrapper, operations: FileOperation[], options: ConcurrentOperationOptions): Promise<ConcurrentOperationResult>;
/**
* Create file operations for upload directory
*/
export declare function createUploadOperations(sourceDir: string, bucket: string, keyPrefix: string, files: string[]): FileOperation[];
/**
* Create file operations for download directory
*/
export declare function createDownloadOperations(bucket: string, objects: Array<{
key: string;
size: number;
}>, keyPrefix: string, destination: string): FileOperation[];
//# sourceMappingURL=concurrent.d.ts.map