UNPKG

filesops

Version:

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

89 lines 2.81 kB
import { PermissionInfo } from './types'; /** * File and directory permission checking utilities */ export declare class PermissionChecker { /** * Check if current user can access a file/directory */ static canAccess(filePath: string): Promise<boolean>; /** * Check if current user can read a file/directory */ static canRead(filePath: string): Promise<boolean>; /** * Check if current user can write to a file/directory */ static canWrite(filePath: string): Promise<boolean>; /** * Check if current user can execute a file */ static canExecute(filePath: string): Promise<boolean>; /** * Get detailed permission information */ static getPermissions(filePath: string): Promise<PermissionInfo>; /** * Check multiple permission types at once */ static checkPermissions(filePath: string, permissions: Array<'read' | 'write' | 'execute'>): Promise<Record<string, boolean>>; /** * Format permissions as Unix-style string (e.g., "rwxr-xr--") */ static formatPermissions(permissions: PermissionInfo): string; /** * Check if a path is a valid file or directory */ static exists(filePath: string): Promise<{ exists: boolean; isFile: boolean; isDirectory: boolean; }>; /** * Check if current user is likely the owner of the file */ static isOwner(filePath: string): Promise<boolean>; /** * Get file/directory creation and modification times along with permissions */ static getDetailedInfo(filePath: string): Promise<{ permissions: PermissionInfo; createdAt: Date; modifiedAt: Date; accessedAt: Date; size: number; isFile: boolean; isDirectory: boolean; isSymbolicLink: boolean; }>; /** * Check if file is hidden (starts with dot on Unix systems) */ static isHidden(filePath: string): boolean; /** * Validate permission string (e.g., "755", "rwxr-xr-x") */ static validatePermissionString(permString: string): boolean; /** * Convert octal permission to symbolic format */ static octalToSymbolic(octal: string): string; /** * Convert symbolic permission to octal format */ static symbolicToOctal(symbolic: string): string; /** * Check if directory is writable (can create files in it) */ static isDirectoryWritable(dirPath: string): Promise<boolean>; /** * Get permission summary for multiple files */ static getPermissionSummary(filePaths: string[]): Promise<Array<{ path: string; permissions: PermissionInfo | null; accessible: boolean; error?: string; }>>; } //# sourceMappingURL=permissions.d.ts.map