UNPKG

ha-job-scheduler

Version:

Highly available cron job scheduler using Redis

33 lines (32 loc) 986 B
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getPreviousDate = exports.defer = void 0; const cron_parser_1 = __importDefault(require("cron-parser")); function defer() { // eslint-disable-next-line let done = (value) => { }; const promise = new Promise((res) => { done = res; }); return { done, promise, }; } exports.defer = defer; /** * Get the previous invocation date based on the rule */ const getPreviousDate = (rule) => { const isString = typeof rule === 'string'; // Parse rule const interval = isString ? cron_parser_1.default.parseExpression(rule) : cron_parser_1.default.parseExpression(rule.rule, { tz: rule.tz }); // Previous date return interval.prev().toDate(); }; exports.getPreviousDate = getPreviousDate;