function isBelow(data: string | number | date) {
//...
}
если вы ожидаете смешанный тип - вам же нужно проверить какой именно тип был передан в функцию, правильно? иначе как с ним можно будет работать? Эти проверки выполняются "вручную" внутри функции, при этом проверять на все существующие типы тоже нет смысла, если вы ожидаете например, как в вашем случае: только 2 варианта "число" или "дату
Допишите там внутри чтобы и строку пропускало, или преобразуйте в число или дату или измените mixed на
Разве это было не понятно с самого начала?
Ну в таком случае придется лезть в чужой код. не очень хорошая практика.