UNPKG

@inversifyjs/core

Version:

InversifyJs core package

32 lines 1.33 kB
import { isScopedBinding } from '../../binding/calculations/isScopedBinding.js'; import { bindingScopeValues } from '../../binding/models/BindingScope.js'; import { resolveBindingDeactivations } from './resolveBindingDeactivations.js'; const CACHE_KEY_TYPE = 'cache'; export function resolveBindingsDeactivations(params, bindings) { if (bindings === undefined) { return; } const singletonScopedBindings = filterCachedSinglentonScopedBindings(bindings); const deactivationPromiseResults = []; for (const binding of singletonScopedBindings) { const deactivationResult = resolveBindingDeactivations(params, binding); if (deactivationResult !== undefined) { deactivationPromiseResults.push(deactivationResult); } } if (deactivationPromiseResults.length > 0) { return Promise.all(deactivationPromiseResults).then(() => undefined); } } function filterCachedSinglentonScopedBindings(bindings) { const filteredBindings = []; for (const binding of bindings) { if (isScopedBinding(binding) && binding.scope === bindingScopeValues.Singleton && binding.cache.isRight) { filteredBindings.push(binding); } } return filteredBindings; } //# sourceMappingURL=resolveBindingsDeactivations.js.map