async getFormattedData(data: object): Promise<Type1 | Type2 | Type3> {
const anyDataObject = this.validateData(data);
const result = this.formatDataByType(anyDataObject);
return result;
}
formatDataByType<T extends UniversalType>(data: T): T {
// какая-то работа в зависимости от разного набора данных в data объекте определяясь по типу
}
? (['New', 'Interesting', 'Not Answer'] satisfies IQuestionsFilter['filter'][]).map(...)
type Props = { type: 'create', a: number } | { type: 'edit' }