UNPKG

csv-parse

Version:

CSV parsing implementing the Node.js `stream.Transform` API

46 lines (39 loc) 962 B
// Generated by CoffeeScript 2.3.2 // # CSV Parse Sync // Provides a synchronous alternative to the CSV parser. // ## Usage // `const records = parse(data, [options]` var StringDecoder, parse; ({StringDecoder} = require('string_decoder')); parse = require('./index'); module.exports = function(data, options = {}) { var chunks, decoder, err, parser; chunks = options.objname ? {} : []; if (data instanceof Buffer) { decoder = new StringDecoder(); data = decoder.write(data); } parser = new parse.Parser(options); parser.push = function(chunk) { if (options.objname) { return chunks[chunk[0]] = chunk[1]; } else { return chunks.push(chunk); } }; err = parser.__write(data, false); if (err) { throw err; } if (data instanceof Buffer) { err = parser.__write(data.end(), true); if (err) { throw err; } } err = parser.__flush(); if (err) { throw err; } return chunks; };