UNPKG

node-cron-expression

Version:

Declarative functional crontab expression builder

44 lines 3.33 kB
import { DayOfTheMonthExpression, DayOfTheWeekExpression, Expression, HourExpression, MinuteExpression, MonthExpression, } from './expression'; /** * Provide two time points of the same type * to create a range * * ``` * between(atMinute(2), atMinute(20)); // 2-20 * * * * * ``` * */ export function between(startExpression, endExpression) { if (startExpression instanceof MinuteExpression && endExpression instanceof MinuteExpression) { return new Expression({ minute: `${startExpression.getMinute()}-${endExpression.getMinute()}`, }); } if (startExpression instanceof HourExpression && endExpression instanceof HourExpression) { return new Expression({ hour: `${startExpression.getHour()}-${endExpression.getHour()}`, }); } if (startExpression instanceof MonthExpression && endExpression instanceof MonthExpression) { return new Expression({ month: `${startExpression.getMonth()}-${endExpression.getMonth()}`, }); } if (startExpression instanceof DayOfTheMonthExpression && endExpression instanceof DayOfTheMonthExpression) { return new Expression({ dayOfTheMonth: `${startExpression.getDayOfTheMonth()}-${endExpression.getDayOfTheMonth()}`, }); } if (startExpression instanceof DayOfTheWeekExpression && endExpression instanceof DayOfTheWeekExpression) { return new Expression({ dayOfTheWeek: `${startExpression.getDayOfTheWeek()}-${endExpression.getDayOfTheWeek()}`, }); } throw new Error('Unrecognized class or input params of different type'); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmV0d2Vlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvYmV0d2Vlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLHNCQUFzQixFQUN0QixVQUFVLEVBQ1YsY0FBYyxFQUNkLGdCQUFnQixFQUNoQixlQUFlLEdBQ2hCLE1BQU0sY0FBYyxDQUFDO0FBRXRCOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxVQUFVLE9BQU8sQ0FDckIsZUFBa0IsRUFDbEIsYUFBZ0I7SUFFaEIsSUFDRSxlQUFlLFlBQVksZ0JBQWdCO1FBQzNDLGFBQWEsWUFBWSxnQkFBZ0IsRUFDekM7UUFDQSxPQUFPLElBQUksVUFBVSxDQUFDO1lBQ3BCLE1BQU0sRUFBRSxHQUFHLGVBQWUsQ0FBQyxTQUFTLEVBQUUsSUFBSSxhQUFhLENBQUMsU0FBUyxFQUFFLEVBQUU7U0FDdEUsQ0FBQyxDQUFDO0tBQ0o7SUFDRCxJQUNFLGVBQWUsWUFBWSxjQUFjO1FBQ3pDLGFBQWEsWUFBWSxjQUFjLEVBQ3ZDO1FBQ0EsT0FBTyxJQUFJLFVBQVUsQ0FBQztZQUNwQixJQUFJLEVBQUUsR0FBRyxlQUFlLENBQUMsT0FBTyxFQUFFLElBQUksYUFBYSxDQUFDLE9BQU8sRUFBRSxFQUFFO1NBQ2hFLENBQUMsQ0FBQztLQUNKO0lBQ0QsSUFDRSxlQUFlLFlBQVksZUFBZTtRQUMxQyxhQUFhLFlBQVksZUFBZSxFQUN4QztRQUNBLE9BQU8sSUFBSSxVQUFVLENBQUM7WUFDcEIsS0FBSyxFQUFFLEdBQUcsZUFBZSxDQUFDLFFBQVEsRUFBRSxJQUFJLGFBQWEsQ0FBQyxRQUFRLEVBQUUsRUFBRTtTQUNuRSxDQUFDLENBQUM7S0FDSjtJQUNELElBQ0UsZUFBZSxZQUFZLHVCQUF1QjtRQUNsRCxhQUFhLFlBQVksdUJBQXVCLEVBQ2hEO1FBQ0EsT0FBTyxJQUFJLFVBQVUsQ0FBQztZQUNwQixhQUFhLEVBQUUsR0FBRyxlQUFlLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxhQUFhLENBQUMsZ0JBQWdCLEVBQUUsRUFBRTtTQUMzRixDQUFDLENBQUM7S0FDSjtJQUNELElBQ0UsZUFBZSxZQUFZLHNCQUFzQjtRQUNqRCxhQUFhLFlBQVksc0JBQXNCLEVBQy9DO1FBQ0EsT0FBTyxJQUFJLFVBQVUsQ0FBQztZQUNwQixZQUFZLEVBQUUsR0FBRyxlQUFlLENBQUMsZUFBZSxFQUFFLElBQUksYUFBYSxDQUFDLGVBQWUsRUFBRSxFQUFFO1NBQ3hGLENBQUMsQ0FBQztLQUNKO0lBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyxzREFBc0QsQ0FBQyxDQUFDO0FBQzFFLENBQUMifQ==