From cd73f85962f542f9b44feb2a7616bc0d9aac797b Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Thu, 21 Sep 2023 11:05:00 -0300 Subject: data: miscellaneous utility updates --- src/data/things/track.js | 53 +++++++++++++++++++++++++++++++++++++----------- 1 file changed, 41 insertions(+), 12 deletions(-) (limited to 'src/data/things/track.js') diff --git a/src/data/things/track.js b/src/data/things/track.js index 05b762b9..f31fe3ae 100644 --- a/src/data/things/track.js +++ b/src/data/things/track.js @@ -68,10 +68,18 @@ export class Track extends Thing { }), withContainingTrackSection(), - withPropertyFromObject({object: '#trackSection', property: 'color'}), + + withPropertyFromObject({ + object: '#trackSection', + property: input.value('color'), + }), + exposeDependencyOrContinue({dependency: '#trackSection.color'}), - withPropertyFromAlbum({property: 'color'}), + withPropertyFromAlbum({ + property: input.value('color'), + }), + exposeDependency({dependency: '#album.color'}), ], @@ -127,9 +135,15 @@ export class Track extends Thing { validate: input.value(isFileExtension), }), - withPropertyFromAlbum({property: 'trackCoverArtFileExtension'}), + withPropertyFromAlbum({ + property: input.value('trackCoverArtFileExtension'), + }), + exposeDependencyOrContinue({dependency: '#album.trackCoverArtFileExtension'}), - exposeConstant({value: 'jpg'}), + + exposeConstant({ + value: input.value('jpg'), + }), ], // Date of cover art release. Like coverArtFileExtension, this represents @@ -148,7 +162,10 @@ export class Track extends Thing { validate: input.value(isDate), }), - withPropertyFromAlbum({property: 'trackArtDate'}), + withPropertyFromAlbum({ + property: input.value('trackArtDate'), + }), + exposeDependency({dependency: '#album.trackArtDate'}), ], @@ -185,7 +202,10 @@ export class Track extends Thing { exposeDependencyOrContinue({dependency: '#artistContribs'}), - withPropertyFromAlbum({property: 'artistContribs'}), + withPropertyFromAlbum({ + property: input.value('artistContribs'), + }), + exposeDependency({dependency: '#album.artistContribs'}), ], @@ -208,7 +228,10 @@ export class Track extends Thing { exposeDependencyOrContinue({dependency: '#coverArtistContribs'}), - withPropertyFromAlbum({property: 'trackCoverArtistContribs'}), + withPropertyFromAlbum({ + property: input.value('trackCoverArtistContribs'), + }), + exposeDependency({dependency: '#album.trackCoverArtistContribs'}), ], @@ -257,7 +280,11 @@ export class Track extends Thing { date: [ exposeDependencyOrContinue({dependency: 'dateFirstReleased'}), - withPropertyFromAlbum({property: 'date'}), + + withPropertyFromAlbum({ + property: input.value('date'), + }), + exposeDependency({dependency: '#album.date'}), ], @@ -608,9 +635,7 @@ export const withHasUniqueCoverArt = templateCompositeFrom({ : continuation()), }, - withResolvedContribs({ - from: 'coverArtistContribs', - }), + withResolvedContribs({from: 'coverArtistContribs'}), { dependencies: ['#resolvedContribs'], @@ -625,7 +650,9 @@ export const withHasUniqueCoverArt = templateCompositeFrom({ })), }, - withPropertyFromAlbum({property: 'trackCoverArtistContribs'}), + withPropertyFromAlbum({ + property: input.value('trackCoverArtistContribs'), + }), { dependencies: ['#album.trackCoverArtistContribs'], @@ -663,6 +690,8 @@ export const exitWithoutUniqueCoverArt = templateCompositeFrom({ export const trackReverseReferenceList = templateCompositeFrom({ annotation: `trackReverseReferenceList`, + compose: false, + inputs: { list: input({type: 'string'}), }, -- cgit 1.3.0-6-gf8a5