create util/parseTransactions.js

add parse functions for json and csv
This commit is contained in:
Baltazar Gomez 2018-02-22 22:39:56 -07:00 committed by GitHub
parent a8eb8e7372
commit 89e7a8fcf9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -0,0 +1,31 @@
function parseJson(data) {
return JSON.stringify(data);
}
function parseCsv(data) {
// Get items for header
const getHeaders = temp =>
Object.entries(temp)
.map(([key]) => key)
.join(',');
// Get rows content
const getData = list =>
list
.map(item => {
const row = Object.entries(item)
.map(([key, value]) => value)
.join(',');
return row;
})
.join('\n');
// Return CSV string
return `${getHeaders(data[0])} \n ${getData(data)}`;
}
export function parseTransactions(transactions, format) {
const formats = {
csv: data => parseCsv(data),
json: data => parseJson(data),
};
return formats[format] ? formats[format](transactions) : undefined;
}