@foxpage/foxpage-manager
Version:
foxpage resource manager
65 lines (64 loc) • 1.26 kB
TypeScript
import _LRUCache from 'lru-cache';
import { ResourceCache } from '@foxpage/foxpage-types';
export interface LRUCacheOptions {
cloned?: boolean;
}
/**
* lru cache
*
* @export
* @class LRUCache
* @implements {ResourceCache<T>}
* @template T
*/
export declare class LRUCache<T> implements ResourceCache<T> {
lruCache: _LRUCache<string, T>;
opt?: LRUCacheOptions;
constructor(maxSize?: number, opt?: LRUCacheOptions);
/**
* set resource
*
* @param {string} id
* @param {T} resource
*/
set(id: string, resource: T): void;
/**
* get resource
*
* @param {string} id
* @return {*} {(T | null | undefined)}
*/
get(id: string): T | null | undefined;
/**
* get count
* @returns count
*/
getCurCount(): number;
/**
* has resource
*
* @param {string} id
* @return {*} {boolean}
*/
has(id: string): boolean;
/**
* delete resource
*
* @param {string} id
*/
delete(id: string): void;
/**
* reset
*
*/
destroy(): void;
/**
* dump
*
* @return {*} {Array<{ key: string; value: T }>}
*/
dump(): Array<{
key: string;
value: T;
}>;
}