UNPKG

csv-append

Version:
44 lines (38 loc) 1.19 kB
'use strict'; 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;