csv = require('csv');
result = {};
options = { header: true, quotedEmpty:true, delimiter: "|" };
data1 = [ { a:'aa', b:'bb', c:'cc', d:'dd' }, {a:1, b:2, c:3, d:4}, {a:'%', b:'$', c:'#', d:'&'} ];
data2 = [ { x:'x', y:'y', z:'z', q:'q' }, {x:11, y:22, z:33, q:44}, {x:'()', y:'{}', z:'[]', q:'<>'} ];
csv.stringify(data1, options, (e, r1) => {
result.r1 = r1;
csv.stringify(data2, options, (e, r2) => {
result.r2 = r2;
console.log("==========================\n", result.r1, "==========================");
console.log("==========================\n", result.r2, "==========================");
});
});
====================================
a|b|c|d
aa|bb|cc|dd
1|2|3|4
%|$|#|&
====================================
====================================
a|b|c|d
""|""|""|""
""|""|""|""
""|""|""|""
====================================
Using explicit object literal instead of "options" variable works.