From 9e20be3397fde456ae770cc7d4dfe95cfc2eff3f Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Wed, 3 Jan 2024 20:32:23 -0400 Subject: validators: validateArrayItems: nest in a cause layer --- src/data/things/validators.js | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) (limited to 'src') diff --git a/src/data/things/validators.js b/src/data/things/validators.js index 01062e7d..c15a6cc7 100644 --- a/src/data/things/validators.js +++ b/src/data/things/validators.js @@ -213,20 +213,12 @@ function validateArrayItemsHelper(itemValidator) { if (value !== true) { throw new Error(`Expected validator to return true`); } - } catch (error) { - const annotation = `(index: ${colors.yellow(`${index}`)}, item: ${inspect(item)})`; - - error.message = - (error.message.includes('\n') || strlen(annotation) > 20 - ? annotation + '\n' + - error.message - .split('\n') - .map(line => ` ${line}`) - .join('\n') - : `${annotation} ${error}`); - + } catch (caughtError) { + const indexPart = colors.yellow(`zero-index ${index}`) + const itemPart = inspect(item); + const message = `Error at ${indexPart}: ${itemPart}`; + const error = new Error(message, {cause: caughtError}); error[Symbol.for('hsmusic.annotateError.indexInSourceArray')] = index; - throw error; } }; -- cgit 1.3.0-6-gf8a5