UNPKG

@apizr-io/class-utils

Version:

Package containing all class-validator function with all custom apizr class validation functions

44 lines 1.51 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.IsCron = void 0; const class_validator_1 = require("class-validator"); const cron_validate_1 = __importDefault(require("cron-validate")); const DEFAULT_CRON_OPTIONS = { useAliases: true, useLastDayOfMonth: true, useLastDayOfWeek: true, useNearestWeekday: true, useNthWeekdayOfMonth: true, }; function IsCron(inputOptions) { return (object, propertyName) => { (0, class_validator_1.registerDecorator)({ name: 'isCron', target: object.constructor, propertyName, constraints: [], options: { message: (value) => `Cron expression ${value.property} must be valid`, }, validator: { validate(value) { if (typeof value !== 'string') { return false; } const cronResult = (0, cron_validate_1.default)(value, { override: { ...DEFAULT_CRON_OPTIONS, ...inputOptions, }, }); return cronResult.isValid(); }, }, }); }; } exports.IsCron = IsCron; //# sourceMappingURL=cron.decorator.js.map