UNPKG

910 BTypeScriptView Raw
1import { Request } from '../base';
2import { ContextBuilder } from '../context-builder';
3import { Sanitizers } from './sanitizers';
4import { Validators } from './validators';
5import { ContextHandler } from './context-handler';
6import { ContextRunner } from './context-runner';
7export interface ValidationChain extends Validators<ValidationChain>, Sanitizers<ValidationChain>, ContextHandler<ValidationChain>, ContextRunner {
8 (req: Request, res: any, next: (error?: any) => void): void;
9 builder: ContextBuilder;
10}
11/**
12 * A copy of `ValidationChain` where methods that would return the chain itself can return any other
13 * value.
14 * Useful for typing functions which accept either standard or custom validation chains.
15 */
16export type ValidationChainLike = {
17 [K in keyof ValidationChain]: ValidationChain[K] extends (...args: infer A) => ValidationChain ? (...args: A) => any : ValidationChain[K];
18};