@steelbreeze/csv
Advanced tools
Comparing version 1.0.0-alpha to 1.0.0-alpha.1
@@ -12,3 +12,3 @@ "use strict"; | ||
const tokens = text.replace(/^\uFEFF|\r\n$|\n$|\r$/g, '') // trim byte order mark from beginning and trailing EOL if needed | ||
.split(/\r\n|\n|\r/).map(row => // split text into rows at EOL | ||
.split(/\r\n(?=(?:(?:[^"]*"){2})*[^"]*$)|\n(?=(?:(?:[^"]*"){2})*[^"]*$)|\r(?=(?:(?:[^"]*"){2})*[^"]*$)/).map(row => // split text into rows at EOL | ||
row.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/) // split row into tokens based on comma delimiter (unless in quotes); see answer here: https://stackoverflow.com/questions/23582276/split-string-by-comma-but-ignore-commas-inside-quotes/23582323#23582323 | ||
@@ -15,0 +15,0 @@ .map(token => token.replace(/(^"|"$)/g, '') // dequote tokens if needed |
{ | ||
"name": "@steelbreeze/csv", | ||
"version": "1.0.0-alpha", | ||
"version": "1.0.0-alpha.1", | ||
"description": "Tools for reading and writnig files formatted as CSV", | ||
@@ -5,0 +5,0 @@ "main": "lib/node/index.js", |
@@ -10,3 +10,3 @@ | ||
const tokens = text.replace(/^\uFEFF|\r\n$|\n$|\r$/g, '') // trim byte order mark from beginning and trailing EOL if needed | ||
.split(/\r\n|\n|\r/).map(row => // split text into rows at EOL | ||
.split(/\r\n(?=(?:(?:[^"]*"){2})*[^"]*$)|\n(?=(?:(?:[^"]*"){2})*[^"]*$)|\r(?=(?:(?:[^"]*"){2})*[^"]*$)/).map(row => // split text into rows at EOL | ||
row.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/) // split row into tokens based on comma delimiter (unless in quotes); see answer here: https://stackoverflow.com/questions/23582276/split-string-by-comma-but-ignore-commas-inside-quotes/23582323#23582323 | ||
@@ -13,0 +13,0 @@ .map(token => token.replace(/(^"|"$)/g, '') // dequote tokens if needed |
282572