@nodedaemon/core
Version:
Production-ready Node.js process manager with zero external dependencies
48 lines • 1.35 kB
TypeScript
import { EventEmitter } from 'events';
interface WatchedFile {
path: string;
hash: string;
size: number;
mtime: number;
}
export declare class FileWatcher extends EventEmitter {
private watchers;
private watchedFiles;
private debouncedHandlers;
private ignorePatterns;
private isWatching;
constructor();
private setupIgnorePatterns;
watch(paths: string | string[], options?: {
ignoreInitial?: boolean;
recursive?: boolean;
ignored?: string[];
}): void;
private watchPath;
private handleFileEvent;
private getDebouncedHandler;
private processFileChange;
private calculateFileHash;
private shouldIgnore;
private scanInitialFiles;
private scanDirectory;
private emitFileEvent;
unwatch(): void;
getWatchedFiles(): string[];
isFileWatched(filePath: string): boolean;
getFileInfo(filePath: string): WatchedFile | undefined;
addIgnorePattern(pattern: string): void;
removeIgnorePattern(pattern: string): void;
clearIgnorePatterns(): void;
getIgnorePatterns(): string[];
pause(): void;
resume(): void;
getStats(): {
watchedPaths: number;
watchedFiles: number;
isWatching: boolean;
ignorePatterns: number;
};
}
export {};
//# sourceMappingURL=FileWatcher.d.ts.map