read-lines-riched v0.2.5
What is this?
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.
Installing
npm install --save read-lines-richedRun tests
npm testHighlights of functionality
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.
Usage
Reading from beginning to end using Promise
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();Reading from end to beginning using Async
const readLinesStartToEnd = require("read-lines-riched").readLinesStartToEnd(file_path);
(async function () {
var line;
while (line = await readLinesStartToEnd.readNextLine()) {
console.log(line);
}
readLinesStartToEnd.closeReader();
})();Reading from end to beginning on chunks of 4kb.
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();
})();Changelog
All notable changes to this project can be seen here.
Contributing
- 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
License
This project is licensed under the MIT License - see the LICENSE.md file for details
Copyright (c) 2018 Puzzle9900