UNPKG

@swell/cli

Version:

Swell's command line interface/utility

37 lines (35 loc) 1.01 kB
const getFunctionTemplate = ({ description, events, language, route, schedule, trigger, }) => { let typeAppend = ``; if (trigger === 'model') { const eventsList = events .split(/\s*,\s*/g) .filter(Boolean) .map((eventName) => `'${eventName}'`) .join(', '); typeAppend = `, model: { events: [${eventsList}], conditions: {}, },`; } if (trigger === 'route') { typeAppend = `, route: { public: ${route === 'public' || !route ? 'true' : 'false'} },`; } if (trigger === 'cron') { typeAppend = `, cron: { schedule: '${schedule}', },`; } return `export const config${language === 'ts' ? ': SwellConfig' : ''} = { description: '${description}'${typeAppend} }; export default async function (req${language === 'ts' ? ': SwellRequest' : ''}) { const { swell, store, settings, data${trigger === 'route' ? ', session' : ''} } = req; } `; }; export { getFunctionTemplate, };