UNPKG

@dazejs/framework

Version:

Daze.js - A powerful web framework for Node.js

29 lines 1.4 kB
"use strict"; 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