ts-ioc-container
Version:
Typescript IoC container
23 lines (22 loc) • 629 B
JavaScript
import { DependencyNotFoundError } from '../errors/DependencyNotFoundError';
export 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(`Provider ${key.toString()} does not exist`);
}
return this.providers.get(key);
}
destroy() {
this.providers.clear();
}
has(keyOrAlias) {
return this.providers.has(keyOrAlias);
}
}