1.0.4 • Published 10 years ago

obj-csv v1.0.4

Weekly downloads
5
License
ISC
Repository
github
Last release
10 years ago

obj-csv

Coverts a JavaScript object into a csv String.

How to use

Install the module:

npm install obj-csv --save
//import the module to your project
var objToCsv = require('obj-csv');

//convert a object
var users = [{
	personal_info: {
		firstName: 'Sebastian',
		lastName: 'Vizcaino',
		phonenumber: '+573192399909'
	}
}, {
	personal_info: {
		firstName: 'Annie',
		lastName: 'Black',
		phonenumber: '+1234567086'
	}
}];

//objToCsv(object_to_convert, choose_fields_to_be_included_in_csv, callback);
objToCsv(users, ['personal_info.firstName', 'personal_info.lastName', 'personal_info.phonenumber'], function(err, csv) {
	console.log(csv);
});

Output:

"personal_info.firstName","personal_info.lastName","personal_info.phonenumber"
"Sebastian","Vizcaino","+573192399909"
"Annie","Black","+1234567086"

How to use along with restize

Code below add the possibility to export server response.

var objToCsv = require('obj-csv');

//post middleware for list operation
var Tocsv = function(req, res, next) {
	var csv_query = (req.query._csv) ? req.query._csv.split('|') : [];
	if (csv_query.length > 0) {
		jsonToCsv(res.locals.data, csv_query, function(err, csv) {
			res.attachment('file.csv');
			res.locals.data = csv;
			next();
		});
	} else {
		next();
	}
};

...
// restize configuration
this.config = {
	model: User,
    fields: '-salt -hash -password',
    display_field: "%name",
    post: {
		list: Tocsv
	}
};
...

Example:

Using the code above:

GET /api/users?_csv=personal_info.firstName|personal_info.lastName

will response with a .csv file with all the users with their first name and last name.

License

MIT

1.0.4

10 years ago

1.0.3

10 years ago

1.0.2

10 years ago

1.0.1

10 years ago

1.0.0

10 years ago