kist
Version:
Lightweight Package Pipeline Processor with Plugin Architecture
42 lines • 1.27 kB
TypeScript
import { AbstractProcess } from "../abstract/AbstractProcess.js";
interface FileCacheOptions {
cacheDir?: string;
maxEntries?: number;
ttl?: number;
}
export declare class FileCache extends AbstractProcess {
private static instance;
private cache;
private cacheDir;
private maxEntries;
private ttl;
private cacheIndexPath;
private initialized;
private stats;
private constructor();
static getInstance(options?: FileCacheOptions): FileCache;
static resetInstance(): void;
initialize(): Promise<void>;
hasFileChanged(filePath: string): Promise<boolean>;
updateFileEntry(filePath: string): Promise<void>;
getChangedFiles(filePaths: string[]): Promise<string[]>;
updateFileEntries(filePaths: string[]): Promise<void>;
invalidate(filePath: string): void;
invalidatePattern(pattern: string): void;
clear(): void;
save(): Promise<void>;
getStats(): {
hits: number;
misses: number;
evictions: number;
size: number;
hitRate: string;
};
private normalizePath;
private computeFileHash;
private ensureCacheDirectory;
private loadCacheFromDisk;
private evictOldEntries;
}
export {};
//# sourceMappingURL=FileCache.d.ts.map