@dazejs/framework
Version:
Daze.js - A powerful web framework for Node.js
29 lines • 1.4 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Matcher = void 0;
const moment_timezone_1 = __importDefault(require("moment-timezone"));
class Matcher {
matchPattern(pattern, value) {
if (~pattern.indexOf(',')) {
const patterns = pattern.split(',');
return !!~patterns.indexOf(value.toString());
}
return pattern === value.toString();
}
match(pattern, date, timezone) {
const _date = timezone ? moment_timezone_1.default.tz(date, timezone).toDate() : date;
const expressions = pattern.split(' ');
const runOnSecond = this.matchPattern(expressions[0], _date.getSeconds());
const runOnMinute = this.matchPattern(expressions[1], _date.getMinutes());
const runOnHour = this.matchPattern(expressions[2], _date.getHours());
const runOnDay = this.matchPattern(expressions[3], _date.getDate());
const runOnMonth = this.matchPattern(expressions[4], _date.getMonth() + 1);
const runOnWeekDay = this.matchPattern(expressions[5], _date.getDay());
return runOnSecond && runOnMinute && runOnHour && runOnDay && runOnMonth && runOnWeekDay;
}
}
exports.Matcher = Matcher;
//# sourceMappingURL=matcher.js.map