const fs = require('fs') class readFileLine { configPath = "./src/core/config/configure.config.ts"; lineLength = 0; textArr = []; lineBuffer = new Buffer(4096); getFileList() { this.text = fs.createReadStream(this.configPath) return new Promise((s, e) => { this.textArr = []; let status = false this.text.on('data', (data) => { for (var i = 0; i < data.length; i++) { if (data[i] == 10 || data[i] == 13) { if (data[i] == 10) { try { var line = this.lineBuffer.slice(0, this.lineLength); if (line.length != 0) { let str = line.toString('utf8') .replace(/^\s+|\s+$/g, '') .replace(/\'/g, "") .replace(/,/g, "") if (str.includes("start -")) { status = true continue; } if (str.includes("end -")) { status = false break; } if (status) { this.textArr.push(str); } } } finally { this.lineLength = 0; } } } else { this.lineBuffer[this.lineLength] = data[i]; this.lineLength++; } } s(this.textArr) }) }) } } module.exports = new readFileLine();