create util/parseTransactions.js
add parse functions for json and csv
This commit is contained in:
parent
a8eb8e7372
commit
89e7a8fcf9
1 changed files with 31 additions and 0 deletions
31
src/renderer/util/parseTransactions.js
Normal file
31
src/renderer/util/parseTransactions.js
Normal 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;
|
||||
}
|
Loading…
Add table
Reference in a new issue