« get me outta code hell

data: Artist.musicVideoContributions - 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>2026-04-28 19:44:04 -0300
committer(quasar) nebula <qznebula@protonmail.com>2026-04-28 19:44:04 -0300
commite6b52c36dc1b705195528f3e1bfaf6e1cbc754d8 (patch)
treedd4128a0b305eb8388436309c74cfa4f352d8925 /src
parent873d1fa8f938843d3b2c97e2229c1a3403621416 (diff)
data: Artist.musicVideoContributions
Diffstat (limited to 'src')
-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'),