A factory used to create generic file parsers.
npm install lol-file-parserA factory used to create generic file parsers.


- GitHub git clone https://github.com/Pupix/lol-file-parser.git
- npm: npm install lol-file-parser
- yarn: yarn add lol-file-parser
``js
var fs = require('fs-extra'),
fileParser = require('lol-file-parser'),
// Create a JSONParser Class
class JSONParser extends FileParser {
async _parse(parser) {
return parser.string(parser.size());
}
async _read(parsedData) {
return JSON.parse(parsedData);
}
}
// Create an instance of out new class
json = new JSONParser();
// Read the package.json file
json.read('package.json').then(console.log)
// {
// "name": "lol-file-parser",
// "license": "MIT",
// "homepage": "https://github.com/Pupix/lol-file-parser",
// ...
// }
`
---
The parser has two flows and each further method depends on the previous one
---
To create a parser you need to extend the base parser and override the
following methods:
Used to create a data structure.
Parameters
1. data {*} Initial data to generate the structure.
Returns
Promise
Used to write data to disk.
Parameters
1. createdData {*} The data passed by _create.
2. output {string} The path where the file should be stored.
Returns
Promise
---
Used to parse data from a file / buffer.
Parameters
1. parser {*} An instance of a binary-buffer-parser.
Returns
Promise
Used to further parse the data into a human readable format.
Parameters
1. data {*} The data passed by _parse.
2. parser {Parser} An instance of a binary-buffer-parser.
Returns
Promise
Used to write the parsed data to disk.
Parameters
1. data {*} The data passed by _read.
2. output {string} The path where the file should be stored.
3. parser {Parser} An instance of a binary-buffer-parser.
Returns
Promise
---
After you set up your parser and create an instance, the following methods will be available:
It will create a data structure from the passed data.
Parameters
1. data {*} The original data.
Returns
Promise
It will create a data structure and write it to disk.
Parameters
1. data {*} The original data.
2. output {string} The path where the file should be stored.
Returns
Promise
---
It will parse a file from the input file / buffer.
Parameters
1. input {string, Buffer} A path to where the file to parse resides, or the file's buffer itself.
Returns
Promise
It will parse and create a human readable structure of a file from the input` path/buffer.
Parameters
1. input {string, Buffer} A path to where the file to parse resides, or the file's buffer itself.
Returns
Promise
It will read a file / buffer and store a human readable version of it on disk.
Parameters
1. input {string, Buffer} A path to where the file to parse resides, or the file's buffer itself.
2. output {string} The path where the file should be stored.
Returns
Promise