« get me outta code hell

data, yaml: make CacheableObjectPropertyValueError formally translucent - hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
author(quasar) nebula <qznebula@protonmail.com>2024-01-06 09:04:54 -0400
committer(quasar) nebula <qznebula@protonmail.com>2024-01-06 09:14:21 -0400
commit95d6d14500c36e96836f0b74a845e31c04dec62c (patch)
tree6ba156dae0daaf835d936ed32c33593651328180 /src
parent5415182c9944a995f84ba644e91196e554665aec (diff)
data, yaml: make CacheableObjectPropertyValueError formally translucent
Diffstat (limited to 'src')
-rw-r--r--src/data/things/cacheable-object.js2
-rw-r--r--src/data/yaml.js7
2 files changed, 3 insertions, 6 deletions
diff --git a/src/data/things/cacheable-object.js b/src/data/things/cacheable-object.js
index a8610fad..6b8d5def 100644
--- a/src/data/things/cacheable-object.js
+++ b/src/data/things/cacheable-object.js
@@ -356,6 +356,8 @@ export default class CacheableObject {
 }
 
 export class CacheableObjectPropertyValueError extends Error {
+  [Symbol.for('hsmusic.aggregate.translucent')] = true;
+
   constructor(property, oldValue, newValue, error) {
     super(
       `Error setting ${colors.green(property)} (${inspect(oldValue)} -> ${inspect(newValue)})`,
diff --git a/src/data/yaml.js b/src/data/yaml.js
index f2540b65..1fd37b2f 100644
--- a/src/data/yaml.js
+++ b/src/data/yaml.js
@@ -346,12 +346,7 @@ export class FieldValueAggregateError extends AggregateError {
 }
 
 export class FieldValueError extends Error {
-  constructor(field, property, value, caughtError) {
-    const cause =
-      (caughtError instanceof CacheableObjectPropertyValueError
-        ? caughtError.cause
-        : caughtError);
-
+  constructor(field, property, value, cause) {
     const fieldText =
       colors.green(`"${field}"`);