UNPKG

@kameleoon/javascript-sdk-core

Version:
39 lines (38 loc) 1.17 kB
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 {};