« get me outta code hell

data: concise-retouch remaining toplevel property descriptors - 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:
author(quasar) nebula <qznebula@protonmail.com>2025-12-06 13:25:28 -0400
committer(quasar) nebula <qznebula@protonmail.com>2025-12-06 13:25:28 -0400
commitc7cc130f97c2a0f390ba0e07e3aa048395636817 (patch)
tree91e4e4b5b1d5c70b364dc7e530b424ea3e422b09 /src/data/things/artist.js
parentf2161a3fe8ff9b574f53156d08ca7853427be8e4 (diff)
data: concise-retouch remaining toplevel property descriptors
Diffstat (limited to 'src/data/things/artist.js')
-rw-r--r--src/data/things/artist.js39
1 files changed, 9 insertions, 30 deletions
diff --git a/src/data/things/artist.js b/src/data/things/artist.js
index 41d8504c..ce68d42d 100644
--- a/src/data/things/artist.js
+++ b/src/data/things/artist.js
@@ -4,7 +4,7 @@ import {inspect} from 'node:util';
 
 import CacheableObject from '#cacheable-object';
 import {colors} from '#cli';
-import {input} from '#composite';
+import {input, V} from '#composite';
 import Thing from '#thing';
 import {parseArtistAliases, parseArtwork} from '#yaml';
 
@@ -56,8 +56,7 @@ export class Artist extends Thing {
     avatarFileExtension: fileExtension('jpg'),
 
     avatarArtwork: [
-      exitWithoutDependency({
-        dependency: 'hasAvatar',
+      exitWithoutDependency('hasAvatar', {
         value: input.value(null),
         mode: input.value('falsy'),
       }),
@@ -83,11 +82,7 @@ export class Artist extends Thing {
 
     // Expose only
 
-    isArtist: [
-      exposeConstant({
-        value: input.value(true),
-      }),
-    ],
+    isArtist: exposeConstant(V(true)),
 
     trackArtistContributions: reverseReferenceList({
       reverse: soupyReverse.input('trackArtistContributionsBy'),
@@ -202,30 +197,14 @@ export class Artist extends Thing {
     ],
 
     totalDuration: [
-      withPropertyFromList({
-        list: 'musicContributions',
-        property: input.value('thing'),
-      }),
+      withPropertyFromList('musicContributions', V('thing')),
+      withPropertyFromList('#musicContributions.thing', V('isMainRelease')),
 
-      withPropertyFromList({
-        list: '#musicContributions.thing',
-        property: input.value('isMainRelease'),
-      }),
+      withFilteredList('musicContributions', '#musicContributions.thing.isMainRelease')
+        .outputs({'#filteredList': '#mainReleaseContributions'}),
 
-      withFilteredList({
-        list: 'musicContributions',
-        filter: '#musicContributions.thing.isMainRelease',
-      }).outputs({
-        '#filteredList': '#mainReleaseContributions',
-      }),
-
-      withContributionListSums({
-        list: '#mainReleaseContributions',
-      }),
-
-      exposeDependency({
-        dependency: '#contributionListDuration',
-      }),
+      withContributionListSums('#mainReleaseContributions'),
+      exposeDependency('#contributionListDuration'),
     ],
   });