ts-ioc-container
Version:
Typescript IoC container
21 lines (20 loc) • 751 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.DEFAULT_CONTAINER_RESOLVER = void 0;
const utils_1 = require("../utils");
const DependencyNotFoundError_1 = require("../errors/DependencyNotFoundError");
const DEFAULT_CONTAINER_RESOLVER = (scope, keyOrAlias, options) => {
if (utils_1.Is.constructor(keyOrAlias)) {
return scope.resolveClass(keyOrAlias, options);
}
try {
return scope.resolveOneByKey(keyOrAlias, options);
}
catch (e) {
if (e instanceof DependencyNotFoundError_1.DependencyNotFoundError) {
return scope.resolveOneByAlias(keyOrAlias, options);
}
throw e;
}
};
exports.DEFAULT_CONTAINER_RESOLVER = DEFAULT_CONTAINER_RESOLVER;