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 { 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