const isWork = (start, end) => {
if (!start || !end) {
return false;
}
const startTime = moment(start, "kk:mm")
const endTime = moment(end, "kk:mm")
const isEndNextDay = endTime.isSameOrBefore(startTime)
if(isEndNextDay) {
endTime.add(1, 'day')
}
return moment().isBetween(startTime, endTime, null, '[]');
};
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' }