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