objects-to-file
v1.0.3
Published
Create a delimited value, output file from an array of objects
Downloads
5
Maintainers
Readme
objects-to-file
Create a delimited value, output file from an array of objects
objectsToFile([{}, {}, {}]) => :page_facing_up:
Install
$ npm install --save objects-to-file
OR $ yarn add objects-to-file
Usage
Basic
const fs = require('fs');
const objectsToFile = require('objects-to-file');
const cats = [
{ name: 'Bubbles', breed: 'Persian', age: '24', color: 'honey-brown' },
{ name: 'Garfield', breed: 'Tabby', age: '33', color: 'orange with stripes' }
];
objectsToFile(cats, './cat_data.txt', { header: true })
.then(file => console.log(`data: ${file}`)
.catch(console.log);
// ./cat_data.txt:
// name,breed,age,color
// Bubbles,Persian,24,honey-brown
// Garfield,Tabby,33,orange with stripes
Advance
const fs = require('fs');
const objectsToFile = require('objects-to-file');
const dogData = [
'./data/dogs/german_sheperd',
'./data/dogs/pug',
'./data/dogs/beagle'
];
let dogOutput = dogsPaths
.map((filePath) => require(dogPaths))
.map((dog, index) => objectsToFile(dog, `./output/DATA_${index}.csv`);
Promise
.all(dogOutput)
.then((files) => {
const paths = files.toString().replace(/,/g, ', ');
console.log(`Files stored at: ${paths}`);
// Files stored at: ./output/DATA_0.csv, ./output/DATA_1.csv, ./output/DATA_2.csv
})
.catch(console.log);
API
objectsToFile(data, outputPath[, options])
Creates a file based on an array of objects. Unless specified, it will use the first object as a mapping for subsequent objects.
Returns a {Promise}, when resolved returns the file location path
data | <array>
The input array of objects.
outputPath | <string>
The output file location
options | <object>
options.keys | <array>[<string> | <int>]
A list of keys to map and dictate the order of the value output. Any non-existent fields will be omitted.
options.header | <bool>
Set true
to print the key on the first chunk of the file. Note: this will not work with options.raw = true
options.count | <int>
Number of desired objects to be written.
options.bar | <object>
Assign a progress bar instance to be bar.tick()
per each chunk written.
options.delimiter | <string>
The delimiter to be used to seperate values. Default: ","
options.EOL | <string>
The End of Line character to be used. Default: "\n"
options.encoding | <string>
The encoding to be used for the output file. Default: "utf8"
options.raw | <bool>
Set true
to print all the values within the objects, ignoring keys or first object key mapping.
options.encoding | <string>
The encoding to be used for the output file. Default: "utf8"
Related
:repeat: file-line-parse - Parse a file, line by line, to an array of objects.
License
MIT