schedule-parser.js 648 B

123456789101112131415161718192021
  1. /** 语句:schedule 定时执行(解析在此,执行在 sequence-runner) */
  2. const types = ['schedule']
  3. function parse(action, parseContext) {
  4. const { parseActions } = parseContext
  5. const parsed = {
  6. type: 'schedule',
  7. condition: action.condition || {},
  8. interval: action.interval && Array.isArray(action.interval) ? parseActions(action.interval) : [],
  9. }
  10. if (parsed.condition.repeat === 'forever' || parsed.condition.repeat === 'Forever') {
  11. parsed.condition.repeat = -1
  12. }
  13. return Object.assign({}, action, parsed)
  14. }
  15. async function execute() {
  16. return { success: true }
  17. }
  18. module.exports = { types, parse, execute }