UNPKG

vulcain-corejs

Version:
38 lines (36 loc) 1.26 kB
"use strict"; 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 { let c = require(Path.join(dir, fn)); if (!c || !callback) return; for (let 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