Server/scripts/util/walk.js

20 lines
512 B
JavaScript
Raw Normal View History

2024-09-05 00:21:51 -07:00
const fs = require("fs");
/** dir: string. types: string[] ( file types ) */
module.exports = function walk(dir, types = ["ts"]) {
var results = [];
var list = fs.readdirSync(dir);
list.forEach(function (file) {
file = dir + "/" + file;
var stat = fs.statSync(file);
if (stat && stat.isDirectory()) {
/* Recurse into a subdirectory */
results = results.concat(walk(file, types));
} else {
if (!types.find((x) => file.endsWith(x))) return;
results.push(file);
}
});
return results;
};