« get me outta code hell

data, yaml: match Error constructors more closely when extending - hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src/data/yaml.js
diff options
context:
space:
mode:
author(quasar) nebula <qznebula@protonmail.com>2024-01-06 09:23:14 -0400
committer(quasar) nebula <qznebula@protonmail.com>2024-01-06 09:23:14 -0400
commit39c553661b354a7cddc8de80315dd99337f1dde2 (patch)
tree1be32284acd4ee4cbeea64702da78a4a18149c0b /src/data/yaml.js
parentbca7dbeebc6205aa36d480d9dd9db9c645c7b353 (diff)
data, yaml: match Error constructors more closely when extending
Diffstat (limited to 'src/data/yaml.js')
-rw-r--r--src/data/yaml.js12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/data/yaml.js b/src/data/yaml.js
index caf414e..72e212b 100644
--- a/src/data/yaml.js
+++ b/src/data/yaml.js
@@ -262,12 +262,14 @@ function makeProcessDocument(
         thing[property] = value;
       } catch (caughtError) {
         skippedFields.add(field);
-        fieldValueErrors.push(new FieldValueError(field, value, caughtError));
+        fieldValueErrors.push(new FieldValueError(
+          field, value, {cause: caughtError}));
       }
     }
 
     if (!empty(fieldValueErrors)) {
-      aggregate.push(new FieldValueAggregateError(thingConstructor, fieldValueErrors));
+      aggregate.push(new FieldValueAggregateError(
+        fieldValueErrors, thingConstructor));
     }
 
     if (skippedFields.size >= 1) {
@@ -335,7 +337,7 @@ export class FieldCombinationError extends Error {
 export class FieldValueAggregateError extends AggregateError {
   [Symbol.for('hsmusic.aggregate.translucent')] = true;
 
-  constructor(thingConstructor, errors) {
+  constructor(errors, thingConstructor) {
     const constructorText =
       colors.green(thingConstructor.name);
 
@@ -346,7 +348,7 @@ export class FieldValueAggregateError extends AggregateError {
 }
 
 export class FieldValueError extends Error {
-  constructor(field, value, cause) {
+  constructor(field, value, options) {
     const fieldText =
       colors.green(`"${field}"`);
 
@@ -355,7 +357,7 @@ export class FieldValueError extends Error {
 
     super(
       `Failed to set ${fieldText} field to ${valueText}`,
-      {cause});
+      options);
   }
 }