Skip to content

brh55/objects-to-file

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

objects-to-file Travis XO code style

Create a delimited value, output file from an array of objects

objectsToFile([{}, {}, {}]) => 📄

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>

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

🔁 file-to-objects - Parse a file, line by line, to an array of objects.

License

MIT

About

📝 Create a delimited value, output file from an array of objects in Node

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published