diff options
Diffstat (limited to 'src/data/things/track.js')
-rw-r--r-- | src/data/things/track.js | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/src/data/things/track.js b/src/data/things/track.js index da6b3227..b2336a44 100644 --- a/src/data/things/track.js +++ b/src/data/things/track.js @@ -4,8 +4,15 @@ import CacheableObject from '#cacheable-object'; import {colors} from '#cli'; import {input} from '#composite'; import Thing from '#thing'; -import {isBoolean, isColor, isContributionList, isDate, isFileExtension} - from '#validators'; + +import { + isBoolean, + isColor, + isContentString, + isContributionList, + isDate, + isFileExtension, +} from '#validators'; import { parseAdditionalFiles, @@ -157,6 +164,20 @@ export class Track extends Thing { // > Update & expose - Credits and contributors + artistText: [ + exposeUpdateValueOrContinue({ + validate: input.value(isContentString), + }), + + withPropertyFromAlbum({ + property: input.value('trackArtistText'), + }), + + exposeDependency({ + dependency: '#album.trackArtistText', + }), + ], + artistContribs: [ inheritContributionListFromMainRelease(), @@ -569,6 +590,10 @@ export class Track extends Thing { // Credits and contributors + 'Artist Text': { + property: 'artistText', + }, + 'Artists': { property: 'artistContribs', transform: parseContributors, |