UNPKG

ts-ioc-container

Version:
23 lines (22 loc) 629 B
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); } }