UNPKG

@bitblit/ratchet-common

Version:

Common tools for general use

21 lines (20 loc) 721 B
import { LoggerLevelName } from '../logger/logger-level-name.js'; export declare class ExpiringObject<T> { private _config; private _cacheObject; private _lastUpdatedEpochMS; private _timeRemainingMS; constructor(inputConfig?: ExpiringObjectConfig<T>); private defaultConfig; private defaultTimeRemainingMS; update(newValue: T, doNotUpdateClock?: boolean): void; fetchCacheObjectTimeRemainingMS(): Promise<number>; fetch(): Promise<T>; } export declare class ExpiringObjectConfig<T> { timeToLiveMS?: number; generator?: () => Promise<T>; initialValue?: T; logLevel?: LoggerLevelName; overrideTimeRemainingMS?: (lastUpdatedEpochMS: number) => Promise<number>; }