export type Validator = { field: keyof T, errorMsg: string, validationFunc: (obj: T) => boolean } /** * Ejecuta una lista de validadores en orden, si alguno * falla devuelve un Error */ export class BodyValidator { validatorList: Validator[] = [] constructor( validators: Validator[] ) { this.validatorList = validators } public validate(obj: T) { for (const validator of this.validatorList) { if (validator.validationFunc(obj) == false) throw new Error(validator.errorMsg) } return true; } }