csv-append
Version:
Append data to a big csv file.
44 lines (38 loc) • 1.19 kB
JavaScript
Object.defineProperty(exports, '__esModule', { value: true });
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
var fs = _interopDefault(require('fs'));
var csvWriter = _interopDefault(require('csv-write-stream'));
var pump = _interopDefault(require('pump'));
const csvAppend = (path, appendToExisting = false) => {
const writeStream = fs.createWriteStream(path, {
flags: appendToExisting ? "a" : "w"
});
const writer = csvWriter({ sendHeaders: !appendToExisting });
writer.pipe(writeStream);
const append = (args) => {
if (Array.isArray(args)) {
for (let arg of args) {
writer.write(arg);
}
}
else {
writer.write(args);
}
return writer;
};
const end = () => {
return new Promise(resolve => {
pump(writer, writeStream, err => {
resolve();
});
writer.end();
});
};
return {
append,
end
};
};
exports.csvAppend = csvAppend;
exports.default = csvAppend;
;