CSV Utils
CSV Utils
CSV Utils
:[^"]*"")*[^"]*)"';
let field_rgx = new RegExp('^' + field_regular_expression);
let field_rgx_external_whitespaces = new RegExp('^ *' + field_regular_expression +
' *');
// TODO consider making this file (and rbql.js) both node and browser compatible:
https://caolan.org/posts/writing_for_node_and_the_browser.html
function split_lines(text) {
return text.split(/\r\n|\r|\n/);
}
function unquote_field(field) {
let rgx = new RegExp('^' + ' *' + field_regular_expression + ' *$');
let match_obj = rgx.exec(field);
if (match_obj !== null) {
return match_obj[1].replace(/""/g, '"');
}
return field;
}
function unquote_fields(fields) {
return fields.map(unquote_field);
}
module.exports.split_quoted_str = split_quoted_str;
module.exports.split_whitespace_separated_str = split_whitespace_separated_str;
module.exports.smart_split = smart_split;
module.exports.quote_field = quote_field;
module.exports.rfc_quote_field = rfc_quote_field;
module.exports.unquote_field = unquote_field;
module.exports.unquote_fields = unquote_fields;
module.exports.split_lines = split_lines;