Easy way to read file lines async and efficiently on two directions: from the beginning to the end and from the end to the beginning.
npm install --save read-lines-riched
npm test
-
readLines(file_path[,options])- Return instance ofreadLineRichedconfigured with options to read file lines.optionsObject (Optional)bChunkInteger - Size in bytes of how many bytes are readed from file at the same time. Default is 1024.dirInteger - 1 read lines from beginning to the end. -1 read lines from the end to the beginning. Default is 1.
-
readLinesStartToEnd(file_path)- Return instance ofreadLineRichedthat read from the beginning of the file to the end reading chunks of 1kb. -
readLinesEndToStart(file_path)- Return instance ofreadLineRichedthat read from the end of the file to the beginning reading chunks of 1kb. -
readLineRiched.readNextLine()- Read next line of file based on given configuration.
const readLinesEndToStart = require("read-lines-riched").readLinesEndToStart(file_path);
var func = function () {
readLinesEndToStart.readNextLine().then(line => {
if (line) {
console.log(line);
func()
} else
readLinesEndToStart.closeReader();
});
};
func();
const readLinesStartToEnd = require("read-lines-riched").readLinesStartToEnd(file_path);
(async function () {
var line;
while (line = await readLinesStartToEnd.readNextLine()) {
console.log(line);
}
readLinesStartToEnd.closeReader();
})();
const readLinesRiched = require("read-lines-riched").readLines(file_path, {
bChunk: 1024 * 4,
dir: -1
});
(async function () {
var line;
while (line = await readLinesRiched.readNextLine()) {
console.log(line);
}
readLinesRiched.closeReader();
})();
All notable changes to this project can be seen here.
- Fork it on Github https://github.com/Puzzle9900/read-lines-riched
- Create your feature branch:
git checkout -b my-new-feature - Commit your changes:
git commit -am 'Add some feature' - Push to the branch:
git push origin my-new-feature - Submit a pull request :D
This project is licensed under the MIT License - see the LICENSE.md file for details
Copyright (c) 2018 Puzzle9900