full-stack-svelte-kit
Version:
This framework is built on top of `@sveltejs/kit`.
27 lines (21 loc) • 1.02 kB
JavaScript
export default function routeHelper({filename, script}) {
let fileName = filename.split('/');
const extension = fileName.pop();
const routesIndex = fileName.findIndex((value) => value === 'routes');
fileName.splice(routesIndex + 1, 0, 'generated')
const endPointFileToWrite = fileName.join('/') + '/' + extension.replace('.svelte', script.attrs && script.attrs.lang && script.attrs.lang === 'ts' ? '.ts' : '.js');
let routesName = '/' + fileName.slice(routesIndex + 1).join('/') + '/' + extension.replace('.svelte', '').replace('index', '');
routesName.split('/').forEach((segment) => {
const param = segment.match(/\[(.*?)\]/);
if (param && param.length > 0) {
routesName = routesName.replace(param[0], '${page.params["' + param[1] + '"]}');
}
});
if (routesName.endsWith('/')) {
routesName = routesName.slice(0, -1);
}
return {
fileToWrite: endPointFileToWrite,
routesName,
}
}