Untitled
unknown
plain_text
a year ago
795 B
6
Indexable
const { cycleWeekInterval } = config; // const totalValidNextRun = cycleWeekInterval * daysOfWeeks.length; // run 20 times of cron const totalValidNextRun = 20; const allValidNextRun = []; for (let i = 0; i < totalValidNextRun; i++) { allValidNextRun.push(dayjs(interval.next())); } // group by week const groupByWeek = _groupBy(allValidNextRun, (d) => d.week()); const weeks = Object.keys(groupByWeek); // split by valid week let validDates = []; let prevIndex = 0; for (let i = 0; i < weeks.length; i++) { prevIndex = prevIndex + cycleWeekInterval; if (i === 0) { validDates.push(weeks[i]); } if (weeks[prevIndex]) { validDates.push(weeks[prevIndex]); } } return _flatten(validDates.map((index) => groupByWeek[index]));
Editor is loading...
Leave a Comment