UNPKG

ts-ioc-container

Version:
25 lines (24 loc) 892 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DEFAULT_CONTAINER_RESOLVER = void 0; exports.isDependencyKey = isDependencyKey; const utils_1 = require("../utils"); const DependencyNotFoundError_1 = require("../errors/DependencyNotFoundError"); function isDependencyKey(token) { return ['string', 'symbol'].includes(typeof token); } const DEFAULT_CONTAINER_RESOLVER = (scope, keyOrAlias, options) => { if ((0, utils_1.isConstructor)(keyOrAlias)) { return scope.resolveByClass(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;