@inversifyjs/container
Version:
InversifyJs container
36 lines • 2.11 kB
JavaScript
import { CacheBindingInvalidationKind, getClassMetadata, } from '@inversifyjs/core';
export class PlanParamsOperationsManager {
planParamsOperations;
#serviceReferenceManager;
constructor(serviceReferenceManager) {
this.#serviceReferenceManager = serviceReferenceManager;
this.planParamsOperations = {
getBindings: this.#serviceReferenceManager.bindingService.get.bind(this.#serviceReferenceManager.bindingService),
getBindingsChained: this.#serviceReferenceManager.bindingService.getChained.bind(this.#serviceReferenceManager.bindingService),
getClassMetadata,
getPlan: this.#serviceReferenceManager.planResultCacheService.get.bind(this.#serviceReferenceManager.planResultCacheService),
setBinding: this.#setBinding.bind(this),
setNonCachedServiceNode: this.#serviceReferenceManager.planResultCacheService.setNonCachedServiceNode.bind(this.#serviceReferenceManager.planResultCacheService),
setPlan: this.#serviceReferenceManager.planResultCacheService.set.bind(this.#serviceReferenceManager.planResultCacheService),
};
this.#serviceReferenceManager.onReset(() => {
this.#resetComputedProperties();
});
}
#resetComputedProperties() {
this.planParamsOperations.getBindings =
this.#serviceReferenceManager.bindingService.get.bind(this.#serviceReferenceManager.bindingService);
this.planParamsOperations.getBindingsChained =
this.#serviceReferenceManager.bindingService.getChained.bind(this.#serviceReferenceManager.bindingService);
this.planParamsOperations.setBinding = this.#setBinding.bind(this);
}
#setBinding(binding) {
this.#serviceReferenceManager.bindingService.set(binding);
this.#serviceReferenceManager.planResultCacheService.invalidateServiceBinding({
binding: binding,
kind: CacheBindingInvalidationKind.bindingAdded,
operations: this.planParamsOperations,
});
}
}
//# sourceMappingURL=PlanParamsOperationsManager.js.map