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