请问如下代码应该怎么优化,已查过GPT,但是结果不太满意
const validateTimeRange = (rule, value, callback, formData, type, periodTime) => {
const { dateParams } = formData;
const {
beginTime,
endTime,
startHour,
endHour
} = dateParams[timeCheckGetIndex(rule)];
const isHour = type === 'hour';
const isStart = periodTime === 'start';
const start = isStart
? `${timeConvert(isHour ? beginTime : value, 'YYYY-MM-DD')} ${isHour ? value : startHour}:00:00`
: `${timeConvert(beginTime, 'YYYY-MM-DD')} ${startHour}:00:00`;
const end = isStart
? `${timeConvert(endTime, 'YYYY-MM-DD')} ${endHour}:00:00`
: `${timeConvert(isHour ? endTime : value, 'YYYY-MM-DD')} ${isHour ? value : endHour}:00:00`;
if (isStart && dayjs(start).isAfter(dayjs(end))) {
callback(new Error('开始时间应小于结束时间'));
} else if (dayjs(end).isBefore(dayjs(start))) {
callback(new Error('结束时间应大于开始时间'));
}
callback();
};
主要是中间那段start和end的声明怎么优化下比较好,那部分代码有点绕