UNPKG

@eggjs/tegg-schedule-decorator

Version:

tegg schedule decorator

26 lines 2.23 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ScheduleMetaBuilder = void 0; const ScheduleMetadata_1 = require("../model/ScheduleMetadata"); const ScheduleInfoUtil_1 = require("../util/ScheduleInfoUtil"); const DEFAULT_SCHEDULE_OPTIONS = { immediate: false, disable: false, env: undefined, }; class ScheduleMetaBuilder { constructor(clazz) { this.clazz = clazz; } build() { const params = ScheduleInfoUtil_1.ScheduleInfoUtil.getScheduleParams(this.clazz); if (!params) { throw new Error(`class ${this.clazz.name} is not a schedule`); } const options = ScheduleInfoUtil_1.ScheduleInfoUtil.getScheduleOptions(this.clazz); const scheduleOptions = Object.assign({}, DEFAULT_SCHEDULE_OPTIONS, options); return new ScheduleMetadata_1.ScheduleMetadata(params.type, params.scheduleData, scheduleOptions.immediate, scheduleOptions.disable, scheduleOptions.env); } } exports.ScheduleMetaBuilder = ScheduleMetaBuilder; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2NoZWR1bGVNZXRhQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9idWlsZGVyL1NjaGVkdWxlTWV0YUJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsZ0VBQTZEO0FBQzdELCtEQUE0RDtBQUU1RCxNQUFNLHdCQUF3QixHQUFvQjtJQUNoRCxTQUFTLEVBQUUsS0FBSztJQUNoQixPQUFPLEVBQUUsS0FBSztJQUNkLEdBQUcsRUFBRSxTQUFTO0NBQ2YsQ0FBQztBQUVGLE1BQWEsbUJBQW1CO0lBRzlCLFlBQVksS0FBd0I7UUFDbEMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVELEtBQUs7UUFDSCxNQUFNLE1BQU0sR0FBRyxtQ0FBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1osTUFBTSxJQUFJLEtBQUssQ0FBQyxTQUFTLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxvQkFBb0IsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7UUFDRCxNQUFNLE9BQU8sR0FBRyxtQ0FBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEUsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsd0JBQXdCLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDN0UsT0FBTyxJQUFJLG1DQUFnQixDQUN6QixNQUFNLENBQUMsSUFBSSxFQUNYLE1BQU0sQ0FBQyxZQUFZLEVBQ25CLGVBQWUsQ0FBQyxTQUFVLEVBQzFCLGVBQWUsQ0FBQyxPQUFRLEVBQ3hCLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QixDQUFDO0NBQ0Y7QUFyQkQsa0RBcUJDIn0=