UNPKG

filesops

Version:

Advanced file operations library with search, type detection, size calculation, and permission utilities

92 lines 2.78 kB
import { FileTypeDetector } from './fileType'; import { SizeCalculator } from './size'; import { PermissionChecker } from './permissions'; import { FileInfo } from './types'; /** * Convenience functions that combine multiple utilities */ /** * Get comprehensive file information including type, size, and permissions */ export declare function getFileInfo(filePath: string): Promise<{ path: string; name: string; type: ReturnType<typeof FileTypeDetector.detectFromPath>; size: Awaited<ReturnType<typeof SizeCalculator.getFileSize>>; permissions: Awaited<ReturnType<typeof PermissionChecker.getPermissions>>; exists: boolean; }>; /** * Find files by type and size criteria */ export declare function findByTypeAndSize(searchPath: string, fileType: string, minSize?: number, maxSize?: number): Promise<FileInfo[]>; /** * Get disk usage summary for a directory */ export declare function getDiskUsage(dirPath: string, includeHidden?: boolean): Promise<{ largestFiles: { path: string; size: import("./types").SizeInfo; }[]; totalSize: import("./types").SizeInfo; fileCount: number; directoryCount: number; averageFileSize: import("./types").SizeInfo; }>; /** * Clean up files based on criteria (age, size, type) */ export declare function findFilesToCleanup(searchPath: string, options?: { olderThan?: Date; largerThan?: number; extensions?: string[]; includeHidden?: boolean; }): Promise<FileInfo[]>; /** * Check if directory structure is readable/writable */ export declare function checkDirectoryAccess(dirPath: string): Promise<{ readable: boolean; writable: boolean; executable: boolean; canCreateFiles: boolean; permissions: Awaited<ReturnType<typeof PermissionChecker.getPermissions>>; }>; /** * Find duplicate files by size and optionally by content hash */ export declare function findDuplicatesBySize(searchPath: string): Promise<Array<{ size: number; files: FileInfo[]; }>>; /** * Get file system overview for a path */ export declare function getFileSystemOverview(searchPath: string): Promise<{ overview: { totalFiles: number; totalDirectories: number; totalSize: import("./types").SizeInfo; }; filesByType: { type: string; count: number; totalSize: import("./types").SizeInfo; }[]; permissions: import("./types").PermissionInfo; largestFiles: { path: string; size: import("./types").SizeInfo; }[]; }>; /** * Batch operations for multiple files */ export declare function batchFileInfo(filePaths: string[]): Promise<{ successful: any[]; failed: { filePath: string; error: any; }[]; }>; //# sourceMappingURL=utils.d.ts.map