Cache.d.ts 724 B

1234567891011121314151617181920212223242526
  1. export interface CacheEntry<T> {
  2. t: number;
  3. value: T;
  4. }
  5. export declare class Cache<T> {
  6. method: (key: string) => Promise<T>;
  7. ttl: number;
  8. evictionTime: number;
  9. gcPeriod: number;
  10. maxEntries: number;
  11. private entries;
  12. map: Map<string, CacheEntry<T>>;
  13. private timer;
  14. constructor(method?: (key: string) => Promise<T>);
  15. put(key: string, value: T): void;
  16. getFromSource(key: string): Promise<T>;
  17. get(key: string): Promise<T>;
  18. getSync(key: string): T | null;
  19. exists(key: string): boolean;
  20. scheduleGC(): void;
  21. startGC(): void;
  22. runGC: () => void;
  23. stopGC: () => void;
  24. retire(key: string, newTime?: number): boolean;
  25. remove(key: string): boolean;
  26. }