UNPKG

@inversifyjs/core

Version:

InversifyJs core package

30 lines 1.47 kB
import { isPromise } from '@inversifyjs/common'; export function resolveBindingServiceDeactivations(params, serviceIdentifier, value) { const deactivations = params.getDeactivations(serviceIdentifier); if (deactivations === undefined) { return undefined; } if (isPromise(value)) { return resolveBindingDeactivationsFromIteratorAsync(value, deactivations[Symbol.iterator]()); } return resolveBindingDeactivationsFromIterator(value, deactivations[Symbol.iterator]()); } function resolveBindingDeactivationsFromIterator(value, deactivationsIterator) { let deactivationIteratorResult = deactivationsIterator.next(); while (deactivationIteratorResult.done !== true) { const nextDeactivationValue = deactivationIteratorResult.value(value); if (isPromise(nextDeactivationValue)) { return resolveBindingDeactivationsFromIteratorAsync(value, deactivationsIterator); } deactivationIteratorResult = deactivationsIterator.next(); } } async function resolveBindingDeactivationsFromIteratorAsync(value, deactivationsIterator) { const resolvedValue = await value; let deactivationIteratorResult = deactivationsIterator.next(); while (deactivationIteratorResult.done !== true) { await deactivationIteratorResult.value(resolvedValue); deactivationIteratorResult = deactivationsIterator.next(); } } //# sourceMappingURL=resolveBindingServiceDeactivations.js.map