|
|
|
@ -1,6 +1,6 @@
@@ -1,6 +1,6 @@
|
|
|
|
|
/* |
|
|
|
|
Papa Parse |
|
|
|
|
v4.0.6 |
|
|
|
|
v4.0.7 |
|
|
|
|
https://github.com/mholt/PapaParse
|
|
|
|
|
*/ |
|
|
|
|
(function(global) |
|
|
|
@ -1169,7 +1169,7 @@
@@ -1169,7 +1169,7 @@
|
|
|
|
|
return finish(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (quoteSearch == inputLen-1 && hasCloseQuote(input.substring(cursor, quoteSearch+1))) |
|
|
|
|
if (quoteSearch == inputLen-1) |
|
|
|
|
{ |
|
|
|
|
// Closing quote at EOF
|
|
|
|
|
row.push(input.substring(cursor, quoteSearch).replace(/""/g, '"')); |
|
|
|
@ -1181,9 +1181,12 @@
@@ -1181,9 +1181,12 @@
|
|
|
|
|
|
|
|
|
|
// If this quote is escaped, it's part of the data; skip it
|
|
|
|
|
if (input[quoteSearch+1] == '"') |
|
|
|
|
{ |
|
|
|
|
quoteSearch++; |
|
|
|
|
continue; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (input[quoteSearch+1] == delim && hasCloseQuote(input.substring(cursor, quoteSearch+1))) |
|
|
|
|
if (input[quoteSearch+1] == delim) |
|
|
|
|
{ |
|
|
|
|
// Closing quote followed by delimiter
|
|
|
|
|
row.push(input.substring(cursor, quoteSearch).replace(/""/g, '"')); |
|
|
|
@ -1193,7 +1196,7 @@
@@ -1193,7 +1196,7 @@
|
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (input.substr(quoteSearch+1, newlineLen) == newline && hasCloseQuote(input.substring(cursor, quoteSearch+1))) |
|
|
|
|
if (input.substr(quoteSearch+1, newlineLen) == newline) |
|
|
|
|
{ |
|
|
|
|
// Closing quote followed by newline
|
|
|
|
|
row.push(input.substring(cursor, quoteSearch).replace(/""/g, '"')); |
|
|
|
@ -1321,27 +1324,6 @@
@@ -1321,27 +1324,6 @@
|
|
|
|
|
{ |
|
|
|
|
return cursor; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
// hasCloseQuote determines if a field has a closing quote.
|
|
|
|
|
// field should be a string without the opening quote
|
|
|
|
|
// but with the closing quote (which might not actually be
|
|
|
|
|
// a closing quote).
|
|
|
|
|
function hasCloseQuote(field) |
|
|
|
|
{ |
|
|
|
|
if (field.length == 0) |
|
|
|
|
return false; |
|
|
|
|
|
|
|
|
|
if (field[field.length-1] != '"') |
|
|
|
|
return false; |
|
|
|
|
|
|
|
|
|
if (field.length > 2) |
|
|
|
|
return field[field.length-2] != '"' || field[field.length-3] == '"'; |
|
|
|
|
|
|
|
|
|
if (field.length > 1) |
|
|
|
|
return field[field.length-2] != '"'; |
|
|
|
|
|
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|