@kameleoon/javascript-sdk-core
Version:
Kameleoon JS SDK Core
39 lines (38 loc) • 1.17 kB
TypeScript
import { AddParametersType } from './types';
interface ICacheManager<T> {
/**
* Add item to cache
* @param {AddParametersType<T>} parameters - parameters for adding new item cache
* @returns {void}
*/
add({ key, data, lifetime }: AddParametersType<T>): void;
/**
* Get item that is not expired from cache
* @param {string} key - key of item
* @returns {T} an item that is not expired
*/
getAliveItem(key: string): T | null;
}
/**
* @class
* CacheManager - a class for managing cache
*/
export declare class CacheManager<T> implements ICacheManager<T> {
private cacheMap;
private intervalId;
private cleanupTimeout;
/**
* @param {number} cleanupTimeout - timeout for cleaning cache in seconds
* generic type `T` is a type of data that will be stored in cache
* @example
* ```typescript
* const cacheManager = new CacheManager<number>(60);
* ```
*/
constructor(cleanupTimeout: number);
add({ key, data, lifetime }: AddParametersType<T>): void;
getAliveItem(key: string): T | null;
private activate;
private cleanupInterval;
}
export {};