in ark-demo/webapp/_templates/promptUtils.js [43:74]
async function getFiles(dir) {
const subdirs = await readdir(dir);
const files = await Promise.all(
subdirs.map(async (subdir) => {
const res = resolve(dir, subdir);
return (await stat(res)).isDirectory() ? getFiles(res) : res;
})
);
const processedFiles = files
.reduce((a, f) => a.concat(f), [])
.reduce((total, file) => {
// Process file name to convert it to object with path
let processedFile;
if (typeof file === 'string') {
processedFile = {
path: file.split(`src${path.sep}`)[file.split(`src${path.sep}`).length - 1],
name: file.split(path.sep)[file.split(path.sep).length - 1],
};
} else {
processedFile = file;
}
if (processedFile.name.includes('.js')) {
total.push(processedFile);
}
return total;
}, []);
return processedFiles;
}