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