@apizr-io/class-utils
Version:
Package containing all class-validator function with all custom apizr class validation functions
44 lines • 1.51 kB
JavaScript
;
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