tsioc
Version:
tsioc is AOP, Ioc container, via typescript decorator
34 lines (33 loc) • 874 B
TypeScript
import { MapSet } from '../utils/index';
import { Type } from '../types';
import { IContainer } from '../IContainer';
import { ICacheManager } from '../ICacheManager';
/**
* cache target.
*
* @export
* @interface CacheTarget
*/
export interface CacheTarget {
target: any;
expires: number;
}
/**
* cache manager.
*
* @export
* @class CacheManager
* @implements {ICacheManager}
*/
export declare class CacheManager implements ICacheManager {
private container;
cacheTokens: MapSet<Type<any>, CacheTarget>;
constructor(container: IContainer);
isChecking(): boolean;
hasCache(targetType: Type<any>): boolean;
cache(targetType: Type<any>, target: any, expires: number): void;
get(targetType: Type<any>, expires?: number): any;
private timeout;
checkExpires(): void;
destroy(targetType: Type<any>, target?: any): void;
}