Version: 0.5.00.5.10.5.20.5.30.5.40.5.50.5.60.5.70.6.0-alpha0.6.0-alpha.10.6.0-alpha.20.6.0-alpha.30.6.0-alpha.40.6.0-alpha.50.6.0-alpha.60.6.0-alpha.70.6.0-alpha.80.6.0-alpha.90.6.0-alpha.100.6.0-beta.10.6.0-beta.30.6.0-beta.40.6.0-beta.50.6.0-beta.60.6.00.6.10.6.20.6.30.6.40.6.50.6.60.6.70.6.80.6.90.6.100.6.110.6.120.7.0-alpha.10.7.0-alpha.20.7.0-alpha.30.7.0-alpha.40.7.0-alpha.50.7.0-alpha.60.7.0-alpha.70.7.0-alpha.80.7.0-alpha.90.7.0-alpha.100.7.0-alpha.110.7.0-alpha.120.7.0-alpha.130.7.0-alpha.140.7.0-alpha.150.7.00.7.10.7.20.7.30.7.40.7.50.7.60.7.70.8.00.8.1-alpha.10.8.1-alpha.20.8.10.9.0-alpha.10.9.0-alpha.20.9.0-alpha.30.9.0-alpha.40.9.0-alpha.50.9.0-alpha.60.9.00.10.00.10.10.10.20.10.30.10.40.11.00.11.10.11.2
import { Action } from './Action';
/**
* Used to register custom parameter handler in the controller action parameters.
*/
export interface CustomParameterDecorator {
* Indicates if this parameter is required or not.
* If parameter is required and value provided by it is not set then routing-controllers will throw an error.
required?: boolean;
* Factory function that returns value to be written to this parameter.
* In function it provides you Action object which contains current request, response, context objects.
* It also provides you original value of this parameter.
* It can return promise, and if it returns promise then promise will be resolved before calling controller action.
value: (action: Action, value?: any) => Promise<any> | any;
}