From 59e475ee6ec3c89d24c57e80cd5bcb9ed1875593 Mon Sep 17 00:00:00 2001 From: Adi Roiban Date: Fri, 8 Jun 2018 17:35:54 +0100 Subject: [PATCH] Allow multi-characters delimtier at serialization. --- papaparse.js | 5 +++-- tests/test-cases.js | 6 ++++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/papaparse.js b/papaparse.js index 8106e8d..6887f99 100755 --- a/papaparse.js +++ b/papaparse.js @@ -326,9 +326,10 @@ return; if (typeof _config.delimiter === 'string' - && _config.delimiter.length === 1 - && Papa.BAD_DELIMITERS.indexOf(_config.delimiter) === -1) + && !Papa.BAD_DELIMITERS.filter(function(value) { return _config.delimiter.includes(value); }).length) { + // We have a string as config and it does not contains any + // of the invalid delimiters. _delimiter = _config.delimiter; } diff --git a/tests/test-cases.js b/tests/test-cases.js index b7f55ef..ad0d9a5 100644 --- a/tests/test-cases.js +++ b/tests/test-cases.js @@ -1396,6 +1396,12 @@ var UNPARSE_TESTS = [ config: { delimiter: RECORD_SEP }, expected: 'a' + RECORD_SEP + 'b' + RECORD_SEP + 'c\r\nd' + RECORD_SEP + 'e' + RECORD_SEP + 'f' }, + { + description: "Custom delimiter (Multi-character)", + input: [['A', 'b', 'c'], ['d', 'e', 'f']], + config: { delimiter: ', ' }, + expected: 'A, b, c\r\nd, e, f' + }, { description: "Bad delimiter (\\n)", notes: "Should default to comma",