UNPKG

serverless-offline-schedule

Version:

[![serverless](http://public.serverless.com/badges/v3.svg)](http://www.serverless.com) [![npm version](https://badge.fury.io/js/serverless-offline-schedule.svg)](https://badge.fury.io/js/serverless-offline-schedule) [![License: MIT](https://img.shields.io

36 lines (35 loc) 1.37 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const child_process_1 = __importDefault(require("child_process")); const convertRateToCron = (rate) => { const parts = rate.split(' '); if (!parts[1]) { throw new Error(`Invalid rate format: '${rate}'`); } if (parts[1].startsWith('minute')) { return `*/${parts[0]} * * * *`; } if (parts[1].startsWith('hour')) { return `0 */${parts[0]} * * *`; } if (parts[1].startsWith('day')) { return `0 0 */${parts[0]} * *`; } throw new Error(`Invalid rate format: '${rate}'`); }; exports.convertExpressionToCron = (scheduleRate) => { if (scheduleRate.startsWith('cron(')) { return scheduleRate.replace('cron(', '').replace(')', ''); } if (scheduleRate.startsWith('rate(')) { const params = scheduleRate.replace('rate(', '').replace(')', ''); return convertRateToCron(params); } throw new Error(`Invalid schedule rate: '${scheduleRate}'`); }; exports.slsInvokeFunction = (name, input) => { return child_process_1.default.execSync(`serverless invoke local --function ${name} --data '${JSON.stringify(input)}'`, { cwd: './', stdio: 'inherit' }); };