@swell/cli
Version:
Swell's command line interface/utility
37 lines (35 loc) • 1.01 kB
JavaScript
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, };