This commit is contained in:
Morten Olsen
2025-09-09 12:46:31 +02:00
parent 1b02bc8e81
commit 7eb5266fb6
13 changed files with 421 additions and 33 deletions

View File

@@ -0,0 +1,14 @@
type ServiceDepencency<T> = new (services: Services) => T;
class Services {
#instances: Map<ServiceDepencency<unknown>, unknown> = new Map<ServiceDepencency<unknown>, unknown>();
public get<T>(service: ServiceDepencency<T>) {
if (!this.#instances.has(service)) {
this.#instances.set(service, new service(this));
}
return this.#instances.get(service) as T;
}
}
export { Services };