« get me outta code hell

hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src/data/things/thing.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/data/things/thing.js')
-rw-r--r--src/data/things/thing.js12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/data/things/thing.js b/src/data/things/thing.js
index bc10e06b..f1ae6c71 100644
--- a/src/data/things/thing.js
+++ b/src/data/things/thing.js
@@ -577,14 +577,18 @@ export default class Thing extends CacheableObject {
       return constructedDescriptor;
     },
 
-    withDynamicContribs: (contribsByRefProperty, dependencyName) => ({
+    // Resolves the contribsByRef contained in the provided dependency,
+    // providing (named by the second argument) the result. "Resolving"
+    // means mapping the "who" reference of each contribution to an artist
+    // object, and filtering out those whose "who" doesn't match any artist.
+    withResolvedContribs: ({from: contribsByRefDependency, to: outputDependency}) => ({
       flags: {expose: true, compose: true},
 
       expose: {
-        dependencies: ['artistData', contribsByRefProperty],
-        compute: ({artistData, [contribsByRefProperty]: contribsByRef}, callback) =>
+        dependencies: ['artistData', contribsByRefDependency],
+        compute: ({artistData, [contribsByRefDependency]: contribsByRef}, callback) =>
           callback({
-            [dependencyName]:
+            [outputDependency]:
               Thing.findArtistsFromContribs(contribsByRef, artistData),
           }),
       },