@inversifyjs/core
Version:
InversifyJs core package
26 lines • 1.25 kB
TypeScript
import { CacheBindingInvalidation } from '../models/CacheBindingInvalidation';
import { GetPlanOptions } from '../models/GetPlanOptions';
import { NonCachedServiceNodeContext } from '../models/NonCachedServiceNodeContext';
import { PlanResult } from '../models/PlanResult';
import { PlanServiceNode } from '../models/PlanServiceNode';
/**
* Service to cache plans.
*
* This class is used to cache plans and to notify PlanService subscribers when the cache is cleared.
* The cache should be cleared when a new binding is registered or when a binding is unregistered.
*
* Subscribers are supposed to be plan services from child containers.
*
* Ancestor binding constraints are the reason to avoid reusing plans from plan children nodes.
*/
export declare class PlanResultCacheService {
#private;
constructor();
clearCache(): void;
get(options: GetPlanOptions): PlanResult | undefined;
invalidateServiceBinding(invalidation: CacheBindingInvalidation): void;
set(options: GetPlanOptions, planResult: PlanResult): void;
setNonCachedServiceNode(node: PlanServiceNode, context: NonCachedServiceNodeContext): void;
subscribe(subscriber: PlanResultCacheService): void;
}
//# sourceMappingURL=PlanResultCacheService.d.ts.map