Files
fluxcurrent/packages/core/src/utils/services.ts
Morten Olsen 7eb5266fb6 foo
2025-09-09 12:46:31 +02:00

15 lines
408 B
TypeScript

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 };