csvline.js 704 Bytes
var getEol = require("./getEol");
var rowSplit = require("./rowSplit");
/**
 * Convert lines to csv columns
 * @param  {[type]} lines [file lines]
 * @param  {[type]} param [Converter param]
 * @return {[type]}  {lines:[[col1,col2,col3...]],partial:String}
 */
module.exports = function(lines, param) {
  var csvLines = [];
  var left = "";
  while (lines.length) {
    var line = left + lines.shift();
    var row = rowSplit(line, param);
      if (row.closed || param.alwaysSplitAtEOL) {
      csvLines.push(row.cols);
      left = "";
    } else {
      left = line + (getEol(line, param) || "\n"); // if unable to getEol from data, assume "\n"
    }
  }
  return {lines: csvLines, partial: left};
};