fs-read-data
is a simple mechanism to read files in this one of multiple formats {json, js, yaml, ini, toml}.
Provides a CLI and API interface to underlying capability, making conversion of data-formats a breeze, especially when coupled with fs-write-data
It's common to have data files in one of multiple well-known formats (json, yaml, ini, toml). Sometimes these are config files, sometimes they are just declartive definitions.
This is a tool to help work with such files without getting in your way.
Great for checking validity of hand-crafted data files.
Compared to a single spurious babel module installation, the additional weight of multiple file parsers was considered acceptable collateral-weight.
npm install fs-read-data
yarn install fs-read-data
Usage: read-data [fname]
reads [fname] in {json, yaml, ini, toml}, prints resulting json to stdout.
Options:
-V, --version output the version number
-h, --help output usage information
Exposes a single function via the API
/**
* Reads filename in one of the supported formats
* and returns a promise that resolves to a JavaScript object.
*
* @async
* @param fname file to read
*/
async readFile(fname);
const read = require('fs-read-data').readFile;
// one of these
// auto-detects available extension, throws on multiple extensions
const data = await read(`/path/to/file/data`);
// read specific extension
const data = await read(`/path/to/file/data.json`);
const data = await read(`/path/to/file/data.yaml`);
const data = await read(`/path/to/file/data.yml`);
const data = await read(`/path/to/file/data.js`); // must return a single object
const data = await read(`/path/to/file/data.ini`);
const data = await read(`/path/to/file/data.toml`);
This is an aggregation module, much like fs-extra. It's built upon the shoulders of libraries that provide it's core functionality.
Support cast: awaiting commander
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
Bugs, PRs, comments, suggestions welcomed!