22// Licensed under the MIT License.
33import { Container , injectable , interfaces } from 'inversify' ;
44
5- import { Abstract , ClassType , IServiceManager , Newable } from './types' ;
6-
7- type identifier < T > = string | symbol | Newable < T > | Abstract < T > ;
5+ import { ClassType , IServiceManager } from './types' ;
86
97@injectable ( )
108export class ServiceManager implements IServiceManager {
119 constructor ( private container : Container ) { }
1210
1311 public add < T > (
14- serviceIdentifier : identifier < T > ,
12+ serviceIdentifier : interfaces . ServiceIdentifier < T > ,
1513
1614 // eslint-disable-next-line @typescript-eslint/no-explicit-any
1715 constructor : new ( ...args : any [ ] ) => T ,
@@ -38,12 +36,12 @@ export class ServiceManager implements IServiceManager {
3836 this . container . bind < interfaces . Factory < T > > ( factoryIdentifier ) . toFactory < T > ( factoryMethod ) ;
3937 }
4038
41- public addBinding < T1 , T2 > ( from : identifier < T1 > , to : identifier < T2 > ) : void {
39+ public addBinding < T1 , T2 > ( from : interfaces . ServiceIdentifier < T1 > , to : interfaces . ServiceIdentifier < T2 > ) : void {
4240 this . container . bind ( to ) . toService ( from ) ;
4341 }
4442
4543 public addSingleton < T > (
46- serviceIdentifier : identifier < T > ,
44+ serviceIdentifier : interfaces . ServiceIdentifier < T > ,
4745
4846 // eslint-disable-next-line @typescript-eslint/no-explicit-any
4947 constructor : new ( ...args : any [ ] ) => T ,
@@ -64,7 +62,7 @@ export class ServiceManager implements IServiceManager {
6462 }
6563
6664 public addSingletonInstance < T > (
67- serviceIdentifier : identifier < T > ,
65+ serviceIdentifier : interfaces . ServiceIdentifier < T > ,
6866 instance : T ,
6967 name ?: string | number | symbol | undefined ,
7068 ) : void {
@@ -75,11 +73,14 @@ export class ServiceManager implements IServiceManager {
7573 }
7674 }
7775
78- public get < T > ( serviceIdentifier : identifier < T > , name ?: string | number | symbol | undefined ) : T {
76+ public get < T > ( serviceIdentifier : interfaces . ServiceIdentifier < T > , name ?: string | number | symbol | undefined ) : T {
7977 return name ? this . container . getNamed < T > ( serviceIdentifier , name ) : this . container . get < T > ( serviceIdentifier ) ;
8078 }
8179
82- public tryGet < T > ( serviceIdentifier : identifier < T > , name ?: string | number | symbol | undefined ) : T | undefined {
80+ public tryGet < T > (
81+ serviceIdentifier : interfaces . ServiceIdentifier < T > ,
82+ name ?: string | number | symbol | undefined ,
83+ ) : T | undefined {
8384 try {
8485 return name
8586 ? this . container . getNamed < T > ( serviceIdentifier , name )
@@ -91,7 +92,10 @@ export class ServiceManager implements IServiceManager {
9192 return undefined ;
9293 }
9394
94- public getAll < T > ( serviceIdentifier : identifier < T > , name ?: string | number | symbol | undefined ) : T [ ] {
95+ public getAll < T > (
96+ serviceIdentifier : interfaces . ServiceIdentifier < T > ,
97+ name ?: string | number | symbol | undefined ,
98+ ) : T [ ] {
9599 return name
96100 ? this . container . getAllNamed < T > ( serviceIdentifier , name )
97101 : this . container . getAll < T > ( serviceIdentifier ) ;
0 commit comments