diff options
| author | (quasar) nebula <qznebula@protonmail.com> | 2025-11-25 16:15:00 -0400 |
|---|---|---|
| committer | (quasar) nebula <qznebula@protonmail.com> | 2025-11-25 16:15:00 -0400 |
| commit | 7cf701e6e44dbbd15694542969b48b6707ab0c24 (patch) | |
| tree | 6e8ff13580b00a163d4d2faa161c314a0d0aae76 /src/data/things/track.js | |
| parent | 9c3f0a79ee38ee5a13617ed0406d42e579ed49f3 (diff) | |
data: Track: chop withAllReleases
Diffstat (limited to 'src/data/things/track.js')
| -rw-r--r-- | src/data/things/track.js | 39 |
1 files changed, 36 insertions, 3 deletions
diff --git a/src/data/things/track.js b/src/data/things/track.js index e957a73f..a8c4f8d9 100644 --- a/src/data/things/track.js +++ b/src/data/things/track.js @@ -4,6 +4,7 @@ import CacheableObject from '#cacheable-object'; import {colors} from '#cli'; import {input} from '#composite'; import {onlyItem} from '#sugar'; +import {sortByDate} from '#sort'; import Thing from '#thing'; import {getKebabCase} from '#wiki-data'; @@ -88,7 +89,6 @@ import { exitWithoutUniqueCoverArt, inheritContributionListFromMainRelease, inheritFromMainRelease, - withAllReleases, withDirectorySuffix, withOtherReleases, withPropertyFromAlbum, @@ -953,8 +953,41 @@ export class Track extends Thing { }), allReleases: [ - withAllReleases(), - exposeDependency({dependency: '#allReleases'}), + { + dependencies: [ + 'mainReleaseTrack', + 'secondaryReleases', + input.myself(), + ], + + compute: (continuation, { + mainReleaseTrack, + secondaryReleases, + [input.myself()]: thisTrack, + }) => + (mainReleaseTrack + ? continuation({ + ['#mainReleaseTrack']: mainReleaseTrack, + ['#secondaryReleaseTracks']: mainReleaseTrack.secondaryReleases, + }) + : continuation({ + ['#mainReleaseTrack']: thisTrack, + ['#secondaryReleaseTracks']: secondaryReleases, + })), + }, + + { + dependencies: [ + '#mainReleaseTrack', + '#secondaryReleaseTracks', + ], + + compute: ({ + ['#mainReleaseTrack']: mainReleaseTrack, + ['#secondaryReleaseTracks']: secondaryReleaseTracks, + }) => + sortByDate([mainReleaseTrack, ...secondaryReleaseTracks]), + }, ], otherReleases: [ |