vulcain-corejs
Version:
Vulcain micro-service framework
38 lines (36 loc) • 1.26 kB
JavaScript
const Path = require('path');
const fs = require('fs');
const system_1 = require('./../configurations/globals/system');
class Files {
static traverse(dir, callback, filter) {
if (!filter)
filter = (fn) => Path.extname(fn) === ".js";
if (fs.existsSync(dir)) {
fs.readdirSync(dir).forEach(fn => {
if (filter(fn)) {
try {
var c = require(Path.join(dir, fn));
if (!c || !callback)
return;
for (var ctl in c) {
callback(ctl, c[ctl]);
}
}
catch (err) {
system_1.System.log.error(null, err, `ERROR when trying to load component ${fn}`);
process.exit(1);
}
}
else {
let fullPath = Path.join(dir, fn);
if (fs.statSync(fullPath).isDirectory()) {
Files.traverse(Path.join(dir, fn), callback);
}
}
});
}
}
}
exports.Files = Files;
//# sourceMappingURL=files.js.map
;