« get me outta code hell

cacheable-object: define properties on symbol, allow symbol props - hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src/data/things
diff options
context:
space:
mode:
author(quasar) nebula <qznebula@protonmail.com>2024-03-04 18:06:33 -0400
committer(quasar) nebula <qznebula@protonmail.com>2024-04-24 11:53:15 -0300
commitf235520de72c44a78066247e548145cf53713792 (patch)
tree1ec190e3b20cf9ccc0eeed3128b065901e2a3036 /src/data/things
parentf0a6720198c1bc22d25db929cbca2871c289f678 (diff)
cacheable-object: define properties on symbol, allow symbol props
This commit really does two separate things:

* Move the definition for `propertyDescriptors` from that string
  key into `Symbol.for('CacheableObject.propertyDescriptors')`
* Allow and support descriptors for key-based properties, by
  iterating over Reflect.ownKeys() instead of Object.entries()
Diffstat (limited to 'src/data/things')
-rw-r--r--src/data/things/index.js4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/data/things/index.js b/src/data/things/index.js
index 3bf84091..01a8198b 100644
--- a/src/data/things/index.js
+++ b/src/data/things/index.js
@@ -2,10 +2,10 @@ import * as path from 'node:path';
 import {fileURLToPath} from 'node:url';
 
 import {openAggregate, showAggregate} from '#aggregate';
+import CacheableObject from '#cacheable-object';
 import {logError} from '#cli';
 import {compositeFrom} from '#composite';
 import * as serialize from '#serialize';
-
 import Thing from '#thing';
 
 import * as albumClasses from './album.js';
@@ -142,7 +142,7 @@ function evaluatePropertyDescriptors() {
         }
       }
 
-      constructor.propertyDescriptors = results;
+      constructor[CacheableObject.propertyDescriptors] = results;
     },
 
     showFailedClasses(failedClasses) {