node-cron-expression
Version:
Declarative functional crontab expression builder
70 lines • 3.48 kB
JavaScript
import { HourExpression, MinuteExpression, MonthExpression, } from './expression';
/**
* Every single minute or every X minute after current date time
*
* ```
* everyMinute(3); // *\/3 * * * *
* ```
*/
export const everyMinute = (minute) => {
return new MinuteExpression({
minute: minute !== undefined ? `${minute}` : undefined,
});
};
/**
* Every single hour or every X hours after current date time. Defaults
* to the first minute of that hour.
*
* ```
* everyHour(3); // 0 *\/3 * * *
* ```
*/
export const everyHour = (hour) => {
return new HourExpression({
minute: '0',
hour: hour !== undefined ? `${hour}` : undefined,
});
};
/**
* Every single month or every X months after current date time. Defaults
* to the first minute, first hour and first day of the month.
*
* ```
* everyHour(3); // 0 *\/3 * * *
* ```
*/
export const everyMonth = (month) => {
return new MonthExpression({
minute: '0',
hour: '0',
dayOfTheMonth: '1',
month: month !== undefined ? `${month}` : month,
});
};
/**
* Every X time point
*
* ```
* every(3).minutes(); // *\/3 * * *
* every(3).hours(); // 0 *\/3 * * *
* every(3).months(); // 0 0 1 *\/3 *
* ```
*/
export const every = (input) => {
return {
minutes: () => new MinuteExpression({
minute: `*/${input}`,
}),
hours: () => new HourExpression({
minute: '0',
hour: `*/${input}`,
}),
months: () => new MonthExpression({
minute: '0',
hour: '0',
dayOfTheMonth: '1',
month: `*/${input}`,
}),
};
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2V2ZXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxjQUFjLEVBQ2QsZ0JBQWdCLEVBQ2hCLGVBQWUsR0FDaEIsTUFBTSxjQUFjLENBQUM7QUFFdEI7Ozs7OztHQU1HO0FBQ0gsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQUMsTUFBZSxFQUFFLEVBQUU7SUFDN0MsT0FBTyxJQUFJLGdCQUFnQixDQUFDO1FBQzFCLE1BQU0sRUFBRSxNQUFNLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTO0tBQ3ZELENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUVGOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsQ0FBQyxJQUFXLEVBQUUsRUFBRTtJQUN2QyxPQUFPLElBQUksY0FBYyxDQUFDO1FBQ3hCLE1BQU0sRUFBRSxHQUFHO1FBQ1gsSUFBSSxFQUFFLElBQUksS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVM7S0FDakQsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7R0FPRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUFDLEtBQWEsRUFBRSxFQUFFO0lBQzFDLE9BQU8sSUFBSSxlQUFlLENBQUM7UUFDekIsTUFBTSxFQUFFLEdBQUc7UUFDWCxJQUFJLEVBQUUsR0FBRztRQUNULGFBQWEsRUFBRSxHQUFHO1FBQ2xCLEtBQUssRUFBRSxLQUFLLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLO0tBQ2hELENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUVGOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLENBQUMsS0FBYSxFQUFFLEVBQUU7SUFDckMsT0FBTztRQUNMLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FDWixJQUFJLGdCQUFnQixDQUFDO1lBQ25CLE1BQU0sRUFBRSxLQUFLLEtBQUssRUFBRTtTQUNyQixDQUFDO1FBQ0osS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUNWLElBQUksY0FBYyxDQUFDO1lBQ2pCLE1BQU0sRUFBRSxHQUFHO1lBQ1gsSUFBSSxFQUFFLEtBQUssS0FBSyxFQUFFO1NBQ25CLENBQUM7UUFDSixNQUFNLEVBQUUsR0FBRyxFQUFFLENBQ1gsSUFBSSxlQUFlLENBQUM7WUFDbEIsTUFBTSxFQUFFLEdBQUc7WUFDWCxJQUFJLEVBQUUsR0FBRztZQUNULGFBQWEsRUFBRSxHQUFHO1lBQ2xCLEtBQUssRUFBRSxLQUFLLEtBQUssRUFBRTtTQUNwQixDQUFDO0tBQ0wsQ0FBQztBQUNKLENBQUMsQ0FBQyJ9