11import { Action } from "./Action" ;
22import { ActionMetadata } from "./metadata/ActionMetadata" ;
33import { ActionParameterHandler } from "./ActionParameterHandler" ;
4- import { Driver } from "./driver/Driver " ;
4+ import { BaseDriver } from "./driver/BaseDriver " ;
55import { InterceptorInterface } from "./InterceptorInterface" ;
66import { InterceptorMetadata } from "./metadata/InterceptorMetadata" ;
77import { MetadataBuilder } from "./metadata-builder/MetadataBuilder" ;
8- import { RoutingControllersOptions } from "./RoutingControllersOptions" ;
8+ import { RoutingControllersOptions } from "./RoutingControllersOptions" ;
99import { getFromContainer } from "./container" ;
1010import { isPromiseLike } from "./util/isPromiseLike" ;
1111import { runInSequence } from "./util/runInSequence" ;
1212
1313/**
1414 * Registers controllers and middlewares in the given server framework.
1515 */
16- export class RoutingControllers {
16+ export class RoutingControllers < T extends BaseDriver > {
1717
1818 // -------------------------------------------------------------------------
1919 // Private properties
@@ -22,7 +22,7 @@ export class RoutingControllers {
2222 /**
2323 * Used to check and handle controller action parameters.
2424 */
25- private parameterHandler : ActionParameterHandler ;
25+ private parameterHandler : ActionParameterHandler < T > ;
2626
2727 /**
2828 * Used to build metadata objects for controllers and middlewares.
@@ -38,7 +38,7 @@ export class RoutingControllers {
3838 // Constructor
3939 // -------------------------------------------------------------------------
4040
41- constructor ( private driver : Driver , private options : RoutingControllersOptions ) {
41+ constructor ( private driver : T , private options : RoutingControllersOptions ) {
4242 this . parameterHandler = new ActionParameterHandler ( driver ) ;
4343 this . metadataBuilder = new MetadataBuilder ( options ) ;
4444 }
0 commit comments