filesops
Version:
Advanced file operations library with search, type detection, size calculation, and permission utilities
92 lines • 2.78 kB
TypeScript
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