@allurereport/directory-watcher
Version:
File system watcher for directories
31 lines (30 loc) • 1.58 kB
TypeScript
import type { Dirent } from "node:fs";
export declare const isFileNotFoundError: (e: unknown) => e is Error;
export declare const difference: (before: Set<string>, after: Set<string>) => [Set<string>, Set<string>];
export declare const findMatching: (watchDirectory: string, existingResults: Set<string>, match: (dirent: Dirent) => boolean, maximumDepth?: number) => Promise<void>;
interface WatchOptions {
indexDelay?: number;
abortController?: AbortController;
}
export interface Watcher {
abort: (immediately?: boolean) => Promise<void>;
initialScan: () => Promise<void>;
watchEnd: () => Promise<void>;
}
interface WatchNewFilesOptions extends WatchOptions {
recursive?: boolean;
indexDelay?: number;
ignoreInitial?: boolean;
abortController?: AbortController;
}
export declare const newFilesInDirectoryWatcher: (directory: string, onNewFile: (file: string, dirent: Dirent) => Promise<void>, options?: WatchNewFilesOptions) => Watcher;
export declare const allureResultsDirectoriesWatcher: (directory: string, update: (newAllureResults: Set<string>, deletedAllureResults: Set<string>) => Promise<void>, options?: WatchOptions) => Watcher;
interface FileContentWatcherOptions extends WatchOptions {
minProcessingDelay?: number;
maxProcessingDelay?: number;
}
export declare const delayedFileProcessingWatcher: (processFile: (file: string) => Promise<void>, options?: FileContentWatcherOptions) => Watcher & {
addFile: (file: string) => Promise<void>;
};
export declare const md5File: (path: string) => Promise<string>;
export {};