import { Container , decorate , injectable } from 'inversify' ; import { ApiController , ErrorController , RequestStartMiddleware , RequestStartMiddlewareAsync , RequestEndMiddleware , RequestEndMiddlewareAsync , Middleware , MiddlewareAsync , ActionFilter , ActionFilterAsync , ErrorMiddleware , ErrorMiddlewareAsync , ResultFilter , ResultFilterAsync , ExceptionFilter , ExceptionFilterAsync , IUserIdentity , UserIdentity } from '../../../../index' ; import { HomeController } from '../controllers/home.controller' ; import { ApplicationError } from '../controllers/application.error' ; import { IAboutService , AboutService } from '../services/about.service' ; import { StartMiddleware , ResponseMiddleware } from '../services/middleware' ; decorate ( injectable ( ) , ApiController ) ; decorate ( injectable ( ) , ErrorController ) ; decorate ( injectable ( ) , RequestStartMiddleware ) ; decorate ( injectable ( ) , RequestStartMiddlewareAsync ) ; decorate ( injectable ( ) , RequestEndMiddleware ) ; decorate ( injectable ( ) , RequestEndMiddlewareAsync ) ; decorate ( injectable ( ) , Middleware ) ; decorate ( injectable ( ) , MiddlewareAsync ) ; decorate ( injectable ( ) , ActionFilter ) ; decorate ( injectable ( ) , ActionFilterAsync ) ; decorate ( injectable ( ) , ErrorMiddleware ) ; decorate ( injectable ( ) , ErrorMiddlewareAsync ) ; decorate ( injectable ( ) , ResultFilter ) ; decorate ( injectable ( ) , ResultFilterAsync ) ; decorate ( injectable ( ) , ExceptionFilter ) ; decorate ( injectable ( ) , ExceptionFilterAsync ) ; decorate ( injectable ( ) , IUserIdentity ) ; decorate ( injectable ( ) , UserIdentity ) ; let container = new Container ( ) ; container . bind ( IAboutService ) . to ( AboutService ) ; container . bind ( HomeController ) . toSelf ( ) ; container . bind ( ApplicationError ) . toSelf ( ) ; container . bind ( StartMiddleware ) . toSelf ( ) ; container . bind ( ResponseMiddleware ) . toSelf ( ) ; export { container as InversifyContainer } ;