Именно для валидации
типов можно попробовать эту библиотеку
https://www.npmjs.com/package/typescript-is
P. S.
Могу ли я сделать валидатор вызывающий parseInt когда поле не отвечает типу из интерфейса, но в реалтайме...
Зачем? Вызывающая сторона должна привести данные в соответствие с контрактом.
А если уж так сильно хочется передавать и строки, тогда приведи интерфейс в соответствующий вид:
export interface episode {
season: number | string;
}
А затем самостоятельно уже проверяете какой тип у
season и выполняете нужные действия.
Иначе какой смысл использовать TS, если нарушаете собственные же правила.