Files
operator/src/utils/service.ts
Morten Olsen 48f1bde404 linting
2025-07-28 22:27:40 +02:00

24 lines
537 B
TypeScript

import { LogService } from '../services/log/log.ts';
type Dependency<T> = new (services: Services) => T;
class Services {
#instances = new Map<Dependency<unknown>, unknown>();
constructor() {
console.log('Constructor', 'bar');
}
public get log() {
return this.get(LogService);
}
get = <T>(dependency: Dependency<T>): T => {
if (!this.#instances.has(dependency)) {
this.#instances.set(dependency, new dependency(this));
}
return this.#instances.get(dependency) as T;
};
}
export { Services };