UNPKG

@alauda-fe/common

Version:

Alauda frontend team common codes.

44 lines 7.21 kB
export const CRON_ENABLE_7_FOR_SUNDAY = false; export const CronWeekDays = [ 'sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat', ]; export const WEEK_DAYS = [...CronWeekDays.slice(1), CronWeekDays[0]]; function formatWeekDaysValue(days) { return days .map(v => (v.length === 3 ? CronWeekDays.indexOf(v) : +v)) .sort((a, b) => a - b); } export function getCronWeekDayNumbers(schedule) { const matches = schedule.match(/(?: ((?:\d|mon|tue|wed|thu|fri|sat|sun)(?:,(?:\d|mon|tue|wed|thu|fri|sat|sun))*)| ((?:\d|mon|tue|wed|thu|fri|sat|sun)-(?:\d|mon|tue|wed|thu|fri|sat|sun)))$/); if (matches) { const days = matches[1] ? matches[1].split(',') : matches[2].split('-'); return formatWeekDaysValue(days); } return null; } export function isCronWeekDayCorrect(schedule) { const dayNumbers = getCronWeekDayNumbers(schedule); return !(!CRON_ENABLE_7_FOR_SUNDAY && dayNumbers && dayNumbers.pop() === 7); } export function isCronWeekDaysContinuous(days) { if (days.length === 7) { return true; } const sorted = days.sort((a, b) => a - b); const [first, ...others] = sorted; // If sunday exists, move it to end const handled = (first === 0 ? [...others, 7] : [...sorted]).map(item => item - (7 - days.length)); return handled.reduce((prev, cur, index) => prev && (index === 0 || handled[index - 1] + 1 === cur), true); } export function isCronFieldCountCorrect(exp) { const spaceCount = exp.split('').filter(val => val === ' ').length; const fieldCount = exp.split(' ').filter(Boolean).length; return spaceCount === 4 && fieldCount === 5; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Jvbi11dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2NvcmUvdXRpbHMvY3Jvbi11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLEtBQUssQ0FBQztBQUk5QyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQWtCO0lBQ3pDLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7Q0FDTixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLENBQUMsR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBRXJFLFNBQVMsbUJBQW1CLENBQUMsSUFBYztJQUN6QyxPQUFPLElBQUk7U0FDUixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN4RSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDM0IsQ0FBQztBQUVELE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxRQUFnQjtJQUNwRCxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsS0FBSyxDQUM1Qiw2SkFBNkosQ0FDOUosQ0FBQztJQUNGLElBQUksT0FBTyxFQUFFLENBQUM7UUFDWixNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDeEUsT0FBTyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUFDLFFBQWdCO0lBQ25ELE1BQU0sVUFBVSxHQUFHLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ25ELE9BQU8sQ0FBQyxDQUFDLENBQUMsd0JBQXdCLElBQUksVUFBVSxJQUFJLFVBQVUsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUM5RSxDQUFDO0FBRUQsTUFBTSxVQUFVLHdCQUF3QixDQUFDLElBQWM7SUFDckQsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3RCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDMUMsTUFBTSxDQUFDLEtBQUssRUFBRSxHQUFHLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQztJQUNsQyxtQ0FBbUM7SUFDbkMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQzlELElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FDakMsQ0FBQztJQUVGLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FDbkIsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQ25CLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxDQUFDLElBQUksT0FBTyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQ3pELElBQUksQ0FDTCxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxHQUFXO0lBQ2pELE1BQU0sVUFBVSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNuRSxNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDekQsT0FBTyxVQUFVLEtBQUssQ0FBQyxJQUFJLFVBQVUsS0FBSyxDQUFDLENBQUM7QUFDOUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBDUk9OX0VOQUJMRV83X0ZPUl9TVU5EQVkgPSBmYWxzZTtcblxuZXhwb3J0IHR5cGUgQ3JvbldlZWtEYXkgPSAnbW9uJyB8ICd0dWUnIHwgJ3dlZCcgfCAndGh1JyB8ICdmcmknIHwgJ3NhdCcgfCAnc3VuJztcblxuZXhwb3J0IGNvbnN0IENyb25XZWVrRGF5czogQ3JvbldlZWtEYXlbXSA9IFtcbiAgJ3N1bicsXG4gICdtb24nLFxuICAndHVlJyxcbiAgJ3dlZCcsXG4gICd0aHUnLFxuICAnZnJpJyxcbiAgJ3NhdCcsXG5dO1xuXG5leHBvcnQgY29uc3QgV0VFS19EQVlTID0gWy4uLkNyb25XZWVrRGF5cy5zbGljZSgxKSwgQ3JvbldlZWtEYXlzWzBdXTtcblxuZnVuY3Rpb24gZm9ybWF0V2Vla0RheXNWYWx1ZShkYXlzOiBzdHJpbmdbXSkge1xuICByZXR1cm4gZGF5c1xuICAgIC5tYXAodiA9PiAodi5sZW5ndGggPT09IDMgPyBDcm9uV2Vla0RheXMuaW5kZXhPZih2IGFzIENyb25XZWVrRGF5KSA6ICt2KSlcbiAgICAuc29ydCgoYSwgYikgPT4gYSAtIGIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q3JvbldlZWtEYXlOdW1iZXJzKHNjaGVkdWxlOiBzdHJpbmcpOiBudW1iZXJbXSB7XG4gIGNvbnN0IG1hdGNoZXMgPSBzY2hlZHVsZS5tYXRjaChcbiAgICAvKD86ICgoPzpcXGR8bW9ufHR1ZXx3ZWR8dGh1fGZyaXxzYXR8c3VuKSg/OiwoPzpcXGR8bW9ufHR1ZXx3ZWR8dGh1fGZyaXxzYXR8c3VuKSkqKXwgKCg/OlxcZHxtb258dHVlfHdlZHx0aHV8ZnJpfHNhdHxzdW4pLSg/OlxcZHxtb258dHVlfHdlZHx0aHV8ZnJpfHNhdHxzdW4pKSkkLyxcbiAgKTtcbiAgaWYgKG1hdGNoZXMpIHtcbiAgICBjb25zdCBkYXlzID0gbWF0Y2hlc1sxXSA/IG1hdGNoZXNbMV0uc3BsaXQoJywnKSA6IG1hdGNoZXNbMl0uc3BsaXQoJy0nKTtcbiAgICByZXR1cm4gZm9ybWF0V2Vla0RheXNWYWx1ZShkYXlzKTtcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNDcm9uV2Vla0RheUNvcnJlY3Qoc2NoZWR1bGU6IHN0cmluZykge1xuICBjb25zdCBkYXlOdW1iZXJzID0gZ2V0Q3JvbldlZWtEYXlOdW1iZXJzKHNjaGVkdWxlKTtcbiAgcmV0dXJuICEoIUNST05fRU5BQkxFXzdfRk9SX1NVTkRBWSAmJiBkYXlOdW1iZXJzICYmIGRheU51bWJlcnMucG9wKCkgPT09IDcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNDcm9uV2Vla0RheXNDb250aW51b3VzKGRheXM6IG51bWJlcltdKSB7XG4gIGlmIChkYXlzLmxlbmd0aCA9PT0gNykge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIGNvbnN0IHNvcnRlZCA9IGRheXMuc29ydCgoYSwgYikgPT4gYSAtIGIpO1xuICBjb25zdCBbZmlyc3QsIC4uLm90aGVyc10gPSBzb3J0ZWQ7XG4gIC8vIElmIHN1bmRheSBleGlzdHMsIG1vdmUgaXQgdG8gZW5kXG4gIGNvbnN0IGhhbmRsZWQgPSAoZmlyc3QgPT09IDAgPyBbLi4ub3RoZXJzLCA3XSA6IFsuLi5zb3J0ZWRdKS5tYXAoXG4gICAgaXRlbSA9PiBpdGVtIC0gKDcgLSBkYXlzLmxlbmd0aCksXG4gICk7XG5cbiAgcmV0dXJuIGhhbmRsZWQucmVkdWNlKFxuICAgIChwcmV2LCBjdXIsIGluZGV4KSA9PlxuICAgICAgcHJldiAmJiAoaW5kZXggPT09IDAgfHwgaGFuZGxlZFtpbmRleCAtIDFdICsgMSA9PT0gY3VyKSxcbiAgICB0cnVlLFxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNDcm9uRmllbGRDb3VudENvcnJlY3QoZXhwOiBzdHJpbmcpIHtcbiAgY29uc3Qgc3BhY2VDb3VudCA9IGV4cC5zcGxpdCgnJykuZmlsdGVyKHZhbCA9PiB2YWwgPT09ICcgJykubGVuZ3RoO1xuICBjb25zdCBmaWVsZENvdW50ID0gZXhwLnNwbGl0KCcgJykuZmlsdGVyKEJvb2xlYW4pLmxlbmd0aDtcbiAgcmV0dXJuIHNwYWNlQ291bnQgPT09IDQgJiYgZmllbGRDb3VudCA9PT0gNTtcbn1cbiJdfQ==