CoolFace
Apppublic

strong-tie/inbound-calls

sourceHugging Faceupdated 2y agoView on Hugging Face
0likes
toad-cache.d.cts139 linesDownload Raw Back to toad-cache
1type CacheConstructor<T> = new (max?: number, ttlInMsecs?: number, cacheId?: string, cacheStatistics?: HitStatisticsRecord) => T2 3type CacheEntry<T> = {4    expiry: number5    key: any6    prev: CacheEntry<T> | null7    next: CacheEntry<T> | null8    value: T9}10 11interface ToadCache<T> {12    first: any;13    last: any;14    max: number;15    ttl: number;16    size: number;17    clear(): void;18    delete(key: any): void;19    deleteMany(keys: any[]): void;20    evict(): void;21    expiresAt(key: any): any;22    keys(): any;23    get(key: any): T | undefined;24    getMany(keys: any[]): (T | undefined)[];25    set(key: any, value: T): void;26}27 28declare class FifoMap<T> implements ToadCache<T>{29    constructor(max?: number, ttlInMsecs?: number);30    first: any;31    items: Map<any, T>;32    last: any;33    max: number;34    ttl: number;35    size: number;36    clear(): void;37    delete(key: any): void;38    deleteMany(keys: any[]): void;39    evict(): void;40    expiresAt(key: any): any;41    get(key: any): T | undefined;42    getMany(keys: any[]): (T | undefined)[];43    keys(): IterableIterator<any>;44    set(key: any, value: T): void;45}46 47declare class FifoObject<T> implements ToadCache<T> {48    constructor(max?: number, ttlInMsecs?: number);49    first: any;50    items: Record<any, CacheEntry<T>>;51    last: any;52    size: number;53    max: number;54    ttl: number;55    clear(): void;56    delete(key: any): void;57    deleteMany(keys: any[]): void;58    evict(): void;59    expiresAt(key: any): any;60    get(key: any): T | undefined;61    getMany(keys: any[]): (T | undefined)[];62    keys(): string[];63    set(key: any, value: T): void;64}65 66declare class LruMap<T> implements ToadCache<T> {67    constructor(max?: number, ttlInMsecs?: number);68    first: any;69    items: Map<any, T>;70    last: any;71    max: number;72    ttl: number;73    size: number;74    clear(): void;75    delete(key: any): void;76    deleteMany(keys: any[]): void;77    evict(): void;78    expiresAt(key: any): any;79    get(key: any): T | undefined;80    getMany(keys: any[]): (T | undefined)[];81    keys(): IterableIterator<any>;82    set(key: any, value: T): void;83}84 85declare class LruObject<T> implements ToadCache<T> {86    constructor(max?: number, ttlInMsecs?: number);87    first: any;88    items: Record<any, CacheEntry<T>>;89    last: any;90    size: number;91    max: number;92    ttl: number;93 94    clear(): void;95    delete(key: any): void;96    deleteMany(keys: any[]): void;97    evict(): void;98    expiresAt(key: any): any;99    get(key: any): T | undefined;100    getMany(keys: any[]): (T | undefined)[];101    keys(): string[];102    set(key: any, value: T): void;103}104 105declare class HitStatisticsRecord {106    records: Record<string, Record<string, {107        expirations: number,108        evictions: number,109        hits: number,110        emptyHits: number,111        falsyHits: number,112        misses: number,113        invalidateAll: number,114        invalidateOne: number,115        cacheSize: number,116        sets: number,117    }>>118 119    initForCache(cacheId: string, currentTimeStamp: string): void120    resetForCache(cacheId: string): void121}122 123declare class LruObjectHitStatistics<T> extends LruObject<T>{124    constructor(max?: number, ttlInMsecs?: number, cacheId?: string, globalStatisticsRecord?: HitStatisticsRecord, statisticTtlInHours?: number);125}126 127export {128    CacheConstructor,129    ToadCache,130    LruObject,131    LruMap,132    FifoMap,133    FifoObject,134    HitStatisticsRecord,135    LruObjectHitStatistics,136    FifoObject as Fifo,137    LruObject as Lru138}139