import { Container , injectable , interfaces } from 'inversify' ; import { Abstract , IServiceContainer , Newable } from './types' ; @ injectable ( ) export class ServiceContainer implements IServiceContainer { constructor ( private container ) { } public get < T > ( serviceIdentifier ) { return this . container . get < T > ( serviceIdentifier ) ; } public getAll < T > ( serviceIdentifier , name ? ) { return name ? this . container . getAllNamed < T > ( serviceIdentifier , name ) : this . container . getAll < T > ( serviceIdentifier ) ; } }