From 446045fa5575766fd913309148021186fa67948a Mon Sep 17 00:00:00 2001 From: lana-k Date: Thu, 29 Jun 2023 22:13:56 +0200 Subject: [PATCH] Catch parsing errors in compete #110 --- src/lib/csv.js | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/src/lib/csv.js b/src/lib/csv.js index edc1115..e2dc4b4 100644 --- a/src/lib/csv.js +++ b/src/lib/csv.js @@ -73,21 +73,26 @@ export default { comments: false, step: undefined, complete: results => { - const res = { - data: this.getResult(results), - delimiter: results.meta.delimiter, - hasErrors: false, - rowCount: results.data.length + let res + try { + res = { + data: this.getResult(results), + delimiter: results.meta.delimiter, + hasErrors: false, + rowCount: results.data.length + } + res.messages = results.errors.map(msg => { + msg.type = msg.code === 'UndetectableDelimiter' ? 'info' : 'error' + if (msg.type === 'error') res.hasErrors = true + msg.hint = hintsByCode[msg.code] + return msg + }) + } catch (error) { + reject(error) } - res.messages = results.errors.map(msg => { - msg.type = msg.code === 'UndetectableDelimiter' ? 'info' : 'error' - if (msg.type === 'error') res.hasErrors = true - msg.hint = hintsByCode[msg.code] - return msg - }) resolve(res) }, - error: (error, file) => { + error: error => { reject(error) }, download: false,