node-cron-expression
Version:
Declarative functional crontab expression builder
57 lines • 3.02 kB
JavaScript
import { DayOfTheMonthExpression, DayOfTheWeekExpression } from './expression';
/**
* In specific day of the month
*
* ```
* onDayOfTheMonth(3); // * * 3 * *
* onDayOfTheMonth([3,5]); // * * 3,5 * *
* ```
*
*/
export const onDayOfTheMonth = (dayOfTheMonth) => {
return new DayOfTheMonthExpression({
minute: '0',
hour: '0',
dayOfTheMonth: `${Array.isArray(dayOfTheMonth) ? dayOfTheMonth.join(',') : dayOfTheMonth}`,
});
};
const map = {
Monday: 1,
Tuesday: 2,
Wednesday: 3,
Thursday: 4,
Friday: 5,
Saturday: 6,
Sunday: 0,
};
/**
* In specific day of the week
*
* ```
* onDayOfTheWeek(3); // 0 0 * * 3
* onDayOfTheWeek([3,5]); // 0 0 * * 3,5
*
* onDayOfTheWeek('Monday'); // 0 0 * * 1
* onDayOfTheWeek(['Sunday', 'Thursday']); // 0 0 * * 0,4
* ```
*/
export const onDayOfTheWeek = (dayOfTheWeek) => {
const arrayInput = Array.isArray(dayOfTheWeek)
? dayOfTheWeek
: [dayOfTheWeek];
if (typeof arrayInput[0] === 'string') {
return new DayOfTheWeekExpression({
minute: '0',
hour: '0',
dayOfTheWeek: arrayInput
.map((day) => map[day])
.join(','),
});
}
return new DayOfTheWeekExpression({
minute: '0',
hour: '0',
dayOfTheWeek: arrayInput.join(','),
});
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL29uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUUvRTs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUM3QixhQUE4QyxFQUM5QyxFQUFFO0lBQ0YsT0FBTyxJQUFJLHVCQUF1QixDQUFDO1FBQ2pDLE1BQU0sRUFBRSxHQUFHO1FBQ1gsSUFBSSxFQUFFLEdBQUc7UUFDVCxhQUFhLEVBQUUsR0FDYixLQUFLLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUMzRCxFQUFFO0tBQ0gsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRUYsTUFBTSxHQUFHLEdBQUc7SUFDVixNQUFNLEVBQUUsQ0FBQztJQUNULE9BQU8sRUFBRSxDQUFDO0lBQ1YsU0FBUyxFQUFFLENBQUM7SUFDWixRQUFRLEVBQUUsQ0FBQztJQUNYLE1BQU0sRUFBRSxDQUFDO0lBQ1QsUUFBUSxFQUFFLENBQUM7SUFDWCxNQUFNLEVBQUUsQ0FBQztDQUNWLENBQUM7QUFFRjs7Ozs7Ozs7OztHQVVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQzVCLFlBSXlCLEVBQ3pCLEVBQUU7SUFDRixNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQztRQUM1QyxDQUFDLENBQUMsWUFBWTtRQUNkLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBRW5CLElBQUksT0FBTyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssUUFBUSxFQUFFO1FBQ3JDLE9BQU8sSUFBSSxzQkFBc0IsQ0FBQztZQUNoQyxNQUFNLEVBQUUsR0FBRztZQUNYLElBQUksRUFBRSxHQUFHO1lBQ1QsWUFBWSxFQUFHLFVBQW9DO2lCQUNoRCxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDdEIsSUFBSSxDQUFDLEdBQUcsQ0FBQztTQUNiLENBQUMsQ0FBQztLQUNKO0lBRUQsT0FBTyxJQUFJLHNCQUFzQixDQUFDO1FBQ2hDLE1BQU0sRUFBRSxHQUFHO1FBQ1gsSUFBSSxFQUFFLEdBQUc7UUFDVCxZQUFZLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7S0FDbkMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDIn0=