UNPKG

@swell/cli

Version:

Swell's command line interface/utility

41 lines (39 loc) 1.1 kB
const getFunctionTemplate = ({ description, events, extension, 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}', },`; } let extensionAppend = ''; if (extension) { extensionAppend = `extension: '${extension}',\n `; } return `export const config${language === 'ts' ? ': SwellConfig' : ''} = { ${extensionAppend}description: '${description}'${typeAppend} }; export default async function (req${language === 'ts' ? ': SwellRequest' : ''}) { const { swell, store, data } = req; } `; }; export { getFunctionTemplate, };