ts-ioc-container
Version:
Typescript IoC container
27 lines (26 loc) • 793 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ProviderMap = void 0;
const DependencyNotFoundError_1 = require("../errors/DependencyNotFoundError");
class ProviderMap {
providers = new Map();
register(key, provider) {
this.providers.set(key, provider);
}
findOneByKey(key) {
return this.providers.get(key);
}
findOneByKeyOrFail(key) {
if (!this.providers.has(key)) {
throw new DependencyNotFoundError_1.DependencyNotFoundError(`Provider ${key.toString()} does not exist`);
}
return this.providers.get(key);
}
destroy() {
this.providers.clear();
}
has(keyOrAlias) {
return this.providers.has(keyOrAlias);
}
}
exports.ProviderMap = ProviderMap;