node-cron-expression
Version:
Declarative functional crontab expression builder
60 lines • 3.07 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.onDayOfTheWeek = exports.onDayOfTheMonth = void 0;
const expression_1 = require("./expression");
/**
* In specific day of the month
*
* ```
* onDayOfTheMonth(3); // * * 3 * *
* onDayOfTheMonth([3,5]); // * * 3,5 * *
* ```
*
*/
exports.onDayOfTheMonth = (dayOfTheMonth) => {
return new expression_1.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
* ```
*/
exports.onDayOfTheWeek = (dayOfTheWeek) => {
const arrayInput = Array.isArray(dayOfTheWeek)
? dayOfTheWeek
: [dayOfTheWeek];
if (typeof arrayInput[0] === 'string') {
return new expression_1.DayOfTheWeekExpression({
minute: '0',
hour: '0',
dayOfTheWeek: arrayInput
.map((day) => map[day])
.join(','),
});
}
return new expression_1.DayOfTheWeekExpression({
minute: '0',
hour: '0',
dayOfTheWeek: arrayInput.join(','),
});
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL29uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUErRTtBQUUvRTs7Ozs7Ozs7R0FRRztBQUNVLFFBQUEsZUFBZSxHQUFHLENBQzdCLGFBQThDLEVBQzlDLEVBQUU7SUFDRixPQUFPLElBQUksb0NBQXVCLENBQUM7UUFDakMsTUFBTSxFQUFFLEdBQUc7UUFDWCxJQUFJLEVBQUUsR0FBRztRQUNULGFBQWEsRUFBRSxHQUNiLEtBQUssQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQzNELEVBQUU7S0FDSCxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUM7QUFFRixNQUFNLEdBQUcsR0FBRztJQUNWLE1BQU0sRUFBRSxDQUFDO0lBQ1QsT0FBTyxFQUFFLENBQUM7SUFDVixTQUFTLEVBQUUsQ0FBQztJQUNaLFFBQVEsRUFBRSxDQUFDO0lBQ1gsTUFBTSxFQUFFLENBQUM7SUFDVCxRQUFRLEVBQUUsQ0FBQztJQUNYLE1BQU0sRUFBRSxDQUFDO0NBQ1YsQ0FBQztBQUVGOzs7Ozs7Ozs7O0dBVUc7QUFDVSxRQUFBLGNBQWMsR0FBRyxDQUM1QixZQUl5QixFQUN6QixFQUFFO0lBQ0YsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUM7UUFDNUMsQ0FBQyxDQUFDLFlBQVk7UUFDZCxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUVuQixJQUFJLE9BQU8sVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLFFBQVEsRUFBRTtRQUNyQyxPQUFPLElBQUksbUNBQXNCLENBQUM7WUFDaEMsTUFBTSxFQUFFLEdBQUc7WUFDWCxJQUFJLEVBQUUsR0FBRztZQUNULFlBQVksRUFBRyxVQUFvQztpQkFDaEQsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQ3RCLElBQUksQ0FBQyxHQUFHLENBQUM7U0FDYixDQUFDLENBQUM7S0FDSjtJQUVELE9BQU8sSUFBSSxtQ0FBc0IsQ0FBQztRQUNoQyxNQUFNLEVBQUUsR0FBRztRQUNYLElBQUksRUFBRSxHQUFHO1FBQ1QsWUFBWSxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO0tBQ25DLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyJ9