« get me outta code hell

cacheable-object: don't hit superclass finalized status - hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
diff options
context:
space:
mode:
author(quasar) nebula <qznebula@protonmail.com>2025-02-22 13:36:38 -0400
committer(quasar) nebula <qznebula@protonmail.com>2025-02-22 13:37:56 -0400
commitbd58ecd5a73e1cc67b73e3fcb664011a02c06087 (patch)
treed053865ea592eddec2fbb73fd9f3368ab274d578
parentd35275e1312cdc889aede73293afd971274384dc (diff)
cacheable-object: don't hit superclass finalized status
Also report errors finalizing properly
-rw-r--r--src/data/cacheable-object.js2
-rw-r--r--src/data/things/index.js4
2 files changed, 5 insertions, 1 deletions
diff --git a/src/data/cacheable-object.js b/src/data/cacheable-object.js
index 4b354ef7..087f7825 100644
--- a/src/data/cacheable-object.js
+++ b/src/data/cacheable-object.js
@@ -37,7 +37,7 @@ export default class CacheableObject {
   }
 
   static finalizeCacheableObjectPrototype() {
-    if (this[CacheableObject.constructorFinalized]) {
+    if (Object.hasOwn(this, CacheableObject.constructorFinalized)) {
       throw new Error(`Constructor ${this.name} already finalized`);
     }
 
diff --git a/src/data/things/index.js b/src/data/things/index.js
index 309d0803..d0eb5aa7 100644
--- a/src/data/things/index.js
+++ b/src/data/things/index.js
@@ -186,6 +186,10 @@ function finalizeCacheableObjectPrototypes() {
     op(constructor) {
       constructor.finalizeCacheableObjectPrototype();
     },
+
+    showFailedClasses(failedClasses) {
+      logError`Failed to finalize cacheable object prototypes for classes: ${failedClasses.join(', ')}`;
+    },
   });
 }