@altostra/core
Version:
Core library for shared types and logic
1 lines • 1.15 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0}),exports.isScheduler=exports.isSchedule=exports.isCronSchedule=exports.isRateSchedule=exports.isRatedScheduling=exports.isTimeUnit=void 0;const CronString_1=require("../../aws/CustomTypes/CronString"),Numerics_1=require("../../common/CustomTypes/Numerics"),type_validations_1=require("@altostra/type-validations"),Common_1=require("./Common");exports.isTimeUnit=(0,type_validations_1.enumOf)("minutes","hours","days"),exports.isRatedScheduling=(0,type_validations_1.objectOf)({unit:exports.isTimeUnit,amount:Numerics_1.isNaturalNumber}),exports.isRateSchedule=(0,type_validations_1.objectOf)({rate:exports.isRatedScheduling}),exports.isCronSchedule=(0,type_validations_1.objectOf)({cron:CronString_1.isCronString}),exports.isSchedule=(0,type_validations_1.anyOf)(exports.isRateSchedule,exports.isCronSchedule),exports.isScheduler=(0,type_validations_1.allOf)((0,type_validations_1.objectOf)(Object.assign(Object.assign({},Common_1.resourceBaseValidators),{type:(0,type_validations_1.is)("resource.scheduler")})),exports.isSchedule,(function(e){return!("rate"in e)||!("cron"in e)}));