UNPKG

gather-ts

Version:

A powerful code analysis and packaging tool designed for creating AI-friendly code representations for javascript and typescript projects.

38 lines (37 loc) 1.07 kB
import { IDependencyMap } from "@/types"; import { IService } from "@/types/services"; import { ILogger } from "@/utils/logging/interfaces/ILogger"; export interface IDependencyCacheDeps { logger: ILogger; } export interface IDependencyCacheOptions { debug?: boolean; timeout?: number; } export interface ICacheOperationOptions { timeout?: number; force?: boolean; } export interface IDependencyCacheEntry { dependencies: IDependencyMap; timestamp: number; hash: string; timeout: number; } export interface IDependencyCacheStats { size: number; hits: number; misses: number; oldestEntry: number | null; averageAge: number; invalidations: number; errors: number; } export interface IDependencyCache extends IService { get(key: string, options?: ICacheOperationOptions): IDependencyMap | null; set(key: string, dependencies: IDependencyMap, options?: ICacheOperationOptions): void; delete(key: string): void; clear(): void; has(key: string): boolean; getStats(): IDependencyCacheStats; }