Как объявить интерфейс функции с несколькими вариантами вызова?
Функция должна принимать или один или 4 параметра
Пробую так
export interface IValidator {
(value: any): ValidationError;
(value: any, instance: any, name: string, strict: boolean): ValidationError;
}
Однако следующий код выдает ошибку при объявлении BadValidator
const BadValidator: IValidator = (value: any, i: any, n: string, s: boolean): ValidationError => {
return null;
};
const SmallValidator: IValidator = (value: any): ValidationError => {
return null;
};
Type '(value: any, i: any, n: string, s: boolean) => ValidationError'
is not assignable to type 'IValidator'.