Skip to main content
Glama
toad-cache.d.ts3.37 kB
export type CacheConstructor<T> = new (max?: number, ttlInMsecs?: number, cacheId?: string, cacheStatistics?: HitStatisticsRecord) => T export type CacheEntry<T> = { expiry: number key: any prev: CacheEntry<T> | null next: CacheEntry<T> | null value: T } export interface ToadCache<T> { first: any; last: any; max: number; ttl: number; size: number; clear(): void; delete(key: any): void; deleteMany(keys: any[]): void; evict(): void; expiresAt(key: any): any; keys(): any; get(key: any): T | undefined; getMany(keys: any[]): (T | undefined)[]; set(key: any, value: T): void; } export class FifoMap<T> implements ToadCache<T>{ constructor(max?: number, ttlInMsecs?: number); first: any; items: Map<any, T>; last: any; max: number; ttl: number; size: number; clear(): void; delete(key: any): void; deleteMany(keys: any[]): void; evict(): void; expiresAt(key: any): any; get(key: any): T | undefined; getMany(keys: any[]): (T | undefined)[]; keys(): IterableIterator<any>; set(key: any, value: T): void; } export class FifoObject<T> implements ToadCache<T> { constructor(max?: number, ttlInMsecs?: number); first: any; items: Record<any, CacheEntry<T>>; last: any; size: number; max: number; ttl: number; clear(): void; delete(key: any): void; deleteMany(keys: any[]): void; evict(): void; expiresAt(key: any): any; get(key: any): T | undefined; getMany(keys: any[]): (T | undefined)[]; keys(): string[]; set(key: any, value: T): void; } export class LruMap<T> implements ToadCache<T> { constructor(max?: number, ttlInMsecs?: number); first: any; items: Map<any, T>; last: any; max: number; ttl: number; size: number; clear(): void; delete(key: any): void; deleteMany(keys: any[]): void; evict(): void; expiresAt(key: any): any; get(key: any): T | undefined; getMany(keys: any[]): (T | undefined)[]; keys(): IterableIterator<any>; set(key: any, value: T): void; } export class LruObject<T> implements ToadCache<T> { constructor(max?: number, ttlInMsecs?: number); first: any; items: Record<any, CacheEntry<T>>; last: any; size: number; max: number; ttl: number; clear(): void; delete(key: any): void; deleteMany(keys: any[]): void; evict(): void; expiresAt(key: any): any; get(key: any): T | undefined; getMany(keys: any[]): (T | undefined)[]; keys(): string[]; set(key: any, value: T): void; } export class HitStatisticsRecord { records: Record<string, Record<string, { expirations: number, evictions: number, hits: number, emptyHits: number, falsyHits: number, misses: number, invalidateAll: number, invalidateOne: number, cacheSize: number, sets: number, }>> initForCache(cacheId: string, currentTimeStamp: string): void resetForCache(cacheId: string): void } export class LruObjectHitStatistics<T> extends LruObject<T>{ constructor(max?: number, ttlInMsecs?: number, cacheId?: string, globalStatisticsRecord?: HitStatisticsRecord, statisticTtlInHours?: number); } export { FifoObject as Fifo } export { LruObject as Lru }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/krtw00/search-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server