Typescript не понимает функция ли свойство

Всем привет, у меня есть такая структура

interface IValidation {
    required: {
        value: boolean,
        message: string
    },
    pattern: {
        value: string | ((value: string) => boolean),
        message: string
    }
}

И я пытаюсь

Будем считать что validations[key] это {
key: pattern: {value: (data) => return true}
}

if(validations[key]?.pattern &&
 Object.prototype.toString.call(validations[key]?.pattern?.value) === "[object Function]") {
      return validations[key].pattern?.value(value);
 }

Почему typescript не понимает что это функция?

введите сюда описание изображения

Пробовал так же

if(validations[key]?.pattern && validations[key]?.pattern?.value instanceof Function) {
    return validations[key].pattern?.value(value);
}

if(validations[key]?.pattern && typeof validations[key]?.pattern?.value !== "string") {
     return validations[key].pattern?.value(value);
}

Ответы (0 шт):