UNPKG

cdk-rds-scheduler

Version:
34 lines 5.27 kB
"use strict"; var _a; Object.defineProperty(exports, "__esModule", { value: true }); exports.Cron = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); class Cron { /** * Create a cron expression */ constructor(options) { this.validate(options); this.minute = options.minute ?? '*'; this.hour = options.hour ?? '*'; this.day = options.day ?? '*'; this.month = options.month ?? '*'; this.year = options.year ?? '*'; this.weekDay = options.weekDay ?? '?'; } /** * Return the cron expression */ toString() { return `cron(${this.minute} ${this.hour} ${this.day} ${this.month} ${this.weekDay} ${this.year})`; } validate(options) { if (options.minute?.includes('/') && parseInt(options.minute.split('/')[1]) < 1) { throw new Error('Cron expressions that lead to rates faster than 1 minute are not supported.'); } } } exports.Cron = Cron; _a = JSII_RTTI_SYMBOL_1; Cron[_a] = { fqn: "cdk-rds-scheduler.Cron", version: "1.1.5" }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Jvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jcm9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBb0RBLE1BQWEsSUFBSTtJQVFmOztTQUVLO0lBQ0wsWUFBWSxPQUFvQjtRQUM5QixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXZCLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUM7UUFDcEMsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxJQUFJLEdBQUcsQ0FBQztRQUNoQyxJQUFJLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDO1FBQzlCLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssSUFBSSxHQUFHLENBQUM7UUFDbEMsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxJQUFJLEdBQUcsQ0FBQztRQUNoQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLElBQUksR0FBRyxDQUFDO0lBQ3hDLENBQUM7SUFFRDs7U0FFSztJQUNFLFFBQVE7UUFDYixPQUFPLFFBQVEsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQztJQUNwRyxDQUFDO0lBRU8sUUFBUSxDQUFDLE9BQW9CO1FBQ25DLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDaEYsTUFBTSxJQUFJLEtBQUssQ0FBQyw2RUFBNkUsQ0FBQyxDQUFDO1FBQ2pHLENBQUM7SUFDSCxDQUFDOztBQWpDSCxvQkFrQ0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIE9wdGlvbnMgdG8gY29uZmlndXJlIGEgY3JvbiBleHByZXNzaW9uXG4gKlxuICogQWxsIGZpZWxkcyBhcmUgc3RyaW5ncyBzbyB5b3UgY2FuIHVzZSBjb21wbGV4IGV4cHJlc3Npb25zLiBBYnNlbmNlIG9mXG4gKiBhIGZpZWxkIGltcGxpZXMgJyonIG9yICc/Jywgd2hpY2hldmVyIG9uZSBpcyBhcHByb3ByaWF0ZS5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9ldmVudGJyaWRnZS9sYXRlc3QvdXNlcmd1aWRlL2ViLWNyb24tZXhwcmVzc2lvbnMuaHRtbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIENyb25PcHRpb25zIHtcbiAgLyoqXG4gICAgICogVGhlIG1pbnV0ZSB0byBydW4gdGhpcyBydWxlIGF0XG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCAtIEV2ZXJ5IG1pbnV0ZVxuICAgICAqL1xuICByZWFkb25seSBtaW51dGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAgICogVGhlIGhvdXIgdG8gcnVuIHRoaXMgcnVsZSBhdFxuICAgICAqXG4gICAgICogQGRlZmF1bHQgLSBFdmVyeSBob3VyXG4gICAgICovXG4gIHJlYWRvbmx5IGhvdXI/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAgICogVGhlIGRheSBvZiB0aGUgbW9udGggdG8gcnVuIHRoaXMgcnVsZSBhdFxuICAgICAqXG4gICAgICogQGRlZmF1bHQgLSBFdmVyeSBkYXkgb2YgdGhlIG1vbnRoXG4gICAgICovXG4gIHJlYWRvbmx5IGRheT86IHN0cmluZztcblxuICAvKipcbiAgICAgKiBUaGUgbW9udGggdG8gcnVuIHRoaXMgcnVsZSBhdFxuICAgICAqXG4gICAgICogQGRlZmF1bHQgLSBFdmVyeSBtb250aFxuICAgICAqL1xuICByZWFkb25seSBtb250aD86IHN0cmluZztcblxuICAvKipcbiAgICAgKiBUaGUgeWVhciB0byBydW4gdGhpcyBydWxlIGF0XG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCAtIEV2ZXJ5IHllYXJcbiAgICAgKi9cbiAgcmVhZG9ubHkgeWVhcj86IHN0cmluZztcblxuICAvKipcbiAgICAgKiBUaGUgZGF5IG9mIHRoZSB3ZWVrIHRvIHJ1biB0aGlzIHJ1bGUgYXRcbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IC0gQW55IGRheSBvZiB0aGUgd2Vla1xuICAgICAqL1xuICByZWFkb25seSB3ZWVrRGF5Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgQ3JvbiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgbWludXRlOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgaG91cjogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IGRheTogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IG1vbnRoOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgd2Vla0RheTogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IHllYXI6IHN0cmluZztcblxuICAvKipcbiAgICAgKiBDcmVhdGUgYSBjcm9uIGV4cHJlc3Npb25cbiAgICAgKi9cbiAgY29uc3RydWN0b3Iob3B0aW9uczogQ3Jvbk9wdGlvbnMpIHtcbiAgICB0aGlzLnZhbGlkYXRlKG9wdGlvbnMpO1xuXG4gICAgdGhpcy5taW51dGUgPSBvcHRpb25zLm1pbnV0ZSA/PyAnKic7XG4gICAgdGhpcy5ob3VyID0gb3B0aW9ucy5ob3VyID8/ICcqJztcbiAgICB0aGlzLmRheSA9IG9wdGlvbnMuZGF5ID8/ICcqJztcbiAgICB0aGlzLm1vbnRoID0gb3B0aW9ucy5tb250aCA/PyAnKic7XG4gICAgdGhpcy55ZWFyID0gb3B0aW9ucy55ZWFyID8/ICcqJztcbiAgICB0aGlzLndlZWtEYXkgPSBvcHRpb25zLndlZWtEYXkgPz8gJz8nO1xuICB9XG5cbiAgLyoqXG4gICAgICogUmV0dXJuIHRoZSBjcm9uIGV4cHJlc3Npb25cbiAgICAgKi9cbiAgcHVibGljIHRvU3RyaW5nKCkge1xuICAgIHJldHVybiBgY3Jvbigke3RoaXMubWludXRlfSAke3RoaXMuaG91cn0gJHt0aGlzLmRheX0gJHt0aGlzLm1vbnRofSAke3RoaXMud2Vla0RheX0gJHt0aGlzLnllYXJ9KWA7XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlKG9wdGlvbnM6IENyb25PcHRpb25zKSB7XG4gICAgaWYgKG9wdGlvbnMubWludXRlPy5pbmNsdWRlcygnLycpICYmIHBhcnNlSW50KG9wdGlvbnMubWludXRlLnNwbGl0KCcvJylbMV0pIDwgMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDcm9uIGV4cHJlc3Npb25zIHRoYXQgbGVhZCB0byByYXRlcyBmYXN0ZXIgdGhhbiAxIG1pbnV0ZSBhcmUgbm90IHN1cHBvcnRlZC4nKTtcbiAgICB9XG4gIH1cbn0iXX0=