« 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/Artist.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/data/things/Artist.js')
-rw-r--r--src/data/things/Artist.js28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/data/things/Artist.js b/src/data/things/Artist.js
index b82ef8bf..6ce448ff 100644
--- a/src/data/things/Artist.js
+++ b/src/data/things/Artist.js
@@ -218,6 +218,34 @@ export class Artist extends Thing {
       reverse: soupyReverse.input('musicVideoContributorContributionsBy'),
     }),
 
+    musicVideoContributions: [
+      {
+        dependencies: [
+          'musicVideoArtistContributions',
+          'musicVideoContributorContributions',
+        ],
+
+        compute: (continuation, {
+          musicVideoArtistContributions,
+          musicVideoContributorContributions,
+        }) => continuation({
+          ['#contributions']: [
+            ...musicVideoArtistContributions,
+            ...musicVideoContributorContributions,
+          ],
+        }),
+      },
+
+      {
+        dependencies: ['#contributions'],
+        compute: ({'#contributions': contributions}) =>
+          sortContributionsChronologically(
+            contributions,
+            sortAlbumsTracksChronologically,
+            {getThing: contrib => contrib.thing.thing}),
+      },
+    ],
+
     otherMusicVideoArtistContributionsToOwnAlbums: [
       withReverseReferenceList({
         reverse: soupyReverse.input('musicVideoArtistContributionsToAlbumsBy'),