UNPKG

jayvfs

Version:

virtual file system in node-js

50 lines (39 loc) 1.27 kB
const fs = require('fs'); const readline = require('readline').createInterface({ input: require('fs').createReadStream('./.conf') }); const path = require('path'); let fsStructLoader = function() { this.dirs = []; this.files = []; this.configPath = './.conf'; this.loadFileStructure(); }; fsStructLoader.prototype.loadFileStructure = function() { let lines = fs.readFileSync(this.configPath, 'utf8', function(){}).split('\n'); for (var line = 0; line < lines.length; line++) { if (lines[line].charAt(0) === '#') { lines.splice(line, 1); line -= 1; } } lines = lines.filter(n => n); this.dirs = this.find(lines, 'sub_directories').split(' '); this.files = this.find(lines, 'files').split(' '); }; fsStructLoader.prototype.find = function(lines, str) { for (var i = 0; i < lines.length; i++) { if (lines[i].match(str)) { return lines[i].split(' = ')[1]; } } return null; }; fsStructLoader.prototype.getDirs = function() { return JSON.parse(JSON.stringify(this.dirs)); }; fsStructLoader.prototype.getFiles = function() { return JSON.parse(JSON.stringify(this.files)); }; let fsLoader = new fsStructLoader(); module.exports = fsLoader;