diff options
author | (quasar) nebula <qznebula@protonmail.com> | 2025-03-31 15:02:27 -0300 |
---|---|---|
committer | (quasar) nebula <qznebula@protonmail.com> | 2025-04-10 16:02:35 -0300 |
commit | 02216898a5bf22359219b77eb48ba9928fa7ea94 (patch) | |
tree | 62b0dcc13e6b9316587d74cc4102fec62d7c1608 /src/data | |
parent | 0ee4a82115ae8d41260521ea9080bf0c7d455ab0 (diff) |
data, content: always fallback coverArtDate to date
Diffstat (limited to 'src/data')
-rw-r--r-- | src/data/composite/things/track/withTrackArtDate.js | 24 | ||||
-rw-r--r-- | src/data/composite/wiki-data/withCoverArtDate.js | 23 | ||||
-rw-r--r-- | src/data/things/album.js | 18 | ||||
-rw-r--r-- | src/data/things/art-tag.js | 2 | ||||
-rw-r--r-- | src/data/things/track.js | 15 |
5 files changed, 17 insertions, 65 deletions
diff --git a/src/data/composite/things/track/withTrackArtDate.js b/src/data/composite/things/track/withTrackArtDate.js index e2c4d8bc..9b7b61c7 100644 --- a/src/data/composite/things/track/withTrackArtDate.js +++ b/src/data/composite/things/track/withTrackArtDate.js @@ -1,11 +1,3 @@ -// Gets the date of cover art release. This represents only the track's own -// unique cover artwork, if any. -// -// If the 'fallback' option is false (the default), this will only output -// the track's own coverArtDate or its album's trackArtDate. If 'fallback' -// is set, and neither of these is available, it'll output the track's own -// date instead. - import {input, templateCompositeFrom} from '#composite'; import {isDate} from '#validators'; @@ -24,11 +16,6 @@ export default templateCompositeFrom({ defaultDependency: 'coverArtDate', acceptsNull: true, }), - - fallback: input({ - type: 'boolean', - defaultValue: false, - }), }, outputs: ['#trackArtDate'], @@ -57,20 +44,13 @@ export default templateCompositeFrom({ }), { - dependencies: [ - '#album.trackArtDate', - input('fallback'), - ], - + dependencies: ['#album.trackArtDate'], compute: (continuation, { ['#album.trackArtDate']: albumTrackArtDate, - [input('fallback')]: fallback, }) => (albumTrackArtDate ? continuation.raiseOutput({'#trackArtDate': albumTrackArtDate}) - : fallback - ? continuation() - : continuation.raiseOutput({'#trackArtDate': null})), + : continuation()), }, withDate().outputs({ diff --git a/src/data/composite/wiki-data/withCoverArtDate.js b/src/data/composite/wiki-data/withCoverArtDate.js index 0c644c77..a114d5ff 100644 --- a/src/data/composite/wiki-data/withCoverArtDate.js +++ b/src/data/composite/wiki-data/withCoverArtDate.js @@ -1,7 +1,3 @@ -// Gets the current thing's coverArtDate, or, if the 'fallback' option is set, -// the thing's date. This is always null if the thing doesn't actually have -// any coverArtistContribs. - import {input, templateCompositeFrom} from '#composite'; import {isDate} from '#validators'; @@ -18,11 +14,6 @@ export default templateCompositeFrom({ defaultDependency: 'coverArtDate', acceptsNull: true, }), - - fallback: input({ - type: 'boolean', - defaultValue: false, - }), }, outputs: ['#coverArtDate'], @@ -50,21 +41,11 @@ export default templateCompositeFrom({ }, { - dependencies: [input('fallback')], - compute: (continuation, { - [input('fallback')]: fallback, - }) => - (fallback - ? continuation() - : continuation.raiseOutput({'#coverArtDate': null})), - }, - - { dependencies: ['date'], compute: (continuation, {date}) => (date - ? continuation.raiseOutput({'#coverArtDate': date}) - : continuation.raiseOutput({'#coverArtDate': null})), + ? continuation({'#coverArtDate': date}) + : continuation({'#coverArtDate': null})), }, ], }); diff --git a/src/data/things/album.js b/src/data/things/album.js index 5aba75f7..e7ab9def 100644 --- a/src/data/things/album.js +++ b/src/data/things/album.js @@ -104,16 +104,10 @@ export class Album extends Thing { dateAddedToWiki: simpleDate(), coverArtDate: [ - // ~~TODO: Why does this fall back, but Track.coverArtDate doesn't?~~ - // TODO: OK so it's because tracks don't *store* dates just like that. - // Really instead of fallback being a flag, it should be a date value, - // if this option is worth existing at all. withCoverArtDate({ from: input.updateValue({ validate: isDate, }), - - fallback: input.value(true), }), exposeDependency({dependency: '#coverArtDate'}), @@ -181,9 +175,7 @@ export class Album extends Thing { }), coverArtistContribs: [ - withCoverArtDate({ - fallback: input.value(true), - }), + withCoverArtDate(), contributionList({ date: '#coverArtDate', @@ -202,9 +194,7 @@ export class Album extends Thing { }), wallpaperArtistContribs: [ - withCoverArtDate({ - fallback: input.value(true), - }), + withCoverArtDate(), contributionList({ date: '#coverArtDate', @@ -213,9 +203,7 @@ export class Album extends Thing { ], bannerArtistContribs: [ - withCoverArtDate({ - fallback: input.value(true), - }), + withCoverArtDate(), contributionList({ date: '#coverArtDate', diff --git a/src/data/things/art-tag.js b/src/data/things/art-tag.js index c88fcdc2..886a256c 100644 --- a/src/data/things/art-tag.js +++ b/src/data/things/art-tag.js @@ -105,7 +105,7 @@ export class ArtTag extends Thing { ...reverse.albumsWhoseArtworksFeature(artTag), ...reverse.tracksWhoseArtworksFeature(artTag), ], - {getDate: thing => thing.coverArtDate ?? thing.date}), + {getDate: thing => thing.coverArtDate}), }, }, diff --git a/src/data/things/track.js b/src/data/things/track.js index 69953d33..afb2197d 100644 --- a/src/data/things/track.js +++ b/src/data/things/track.js @@ -283,9 +283,7 @@ export class Track extends Thing { value: input.value([]), }), - withTrackArtDate({ - fallback: input.value(true), - }), + withTrackArtDate(), withResolvedContribs({ from: input.updateValue({validate: isContributionList}), @@ -340,6 +338,13 @@ export class Track extends Thing { }), ], + trackArtwork: [ + constitutibleArtwork({ + contribs: 'coverArtistContribs', + date: 'coverArtDate', + }), + ], + artTags: [ exitWithoutUniqueCoverArt({ value: input.value([]), @@ -356,9 +361,7 @@ export class Track extends Thing { value: input.value([]), }), - withTrackArtDate({ - fallback: input.value(true), - }), + withTrackArtDate(), referencedArtworkList({ date: '#trackArtDate', |