From 342c028a597aa42c5ddf0f47a4fd1b2111289dd7 Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Wed, 26 Nov 2025 18:50:55 -0400 Subject: data: Album: chop withTracks, withCoverArtDate --- package.json | 1 - src/data/composite/things/album/index.js | 2 - .../composite/things/album/withCoverArtDate.js | 50 ------------- src/data/composite/things/album/withTracks.js | 29 -------- src/data/things/album.js | 82 +++++++++++++--------- 5 files changed, 49 insertions(+), 115 deletions(-) delete mode 100644 src/data/composite/things/album/index.js delete mode 100644 src/data/composite/things/album/withCoverArtDate.js delete mode 100644 src/data/composite/things/album/withTracks.js diff --git a/package.json b/package.json index 46596068..b16967d0 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,6 @@ "#composite/data": "./src/data/composite/data/index.js", "#composite/wiki-data": "./src/data/composite/wiki-data/index.js", "#composite/wiki-properties": "./src/data/composite/wiki-properties/index.js", - "#composite/things/album": "./src/data/composite/things/album/index.js", "#composite/things/art-tag": "./src/data/composite/things/art-tag/index.js", "#composite/things/artist": "./src/data/composite/things/artist/index.js", "#composite/things/artwork": "./src/data/composite/things/artwork/index.js", diff --git a/src/data/composite/things/album/index.js b/src/data/composite/things/album/index.js deleted file mode 100644 index de1d37c3..00000000 --- a/src/data/composite/things/album/index.js +++ /dev/null @@ -1,2 +0,0 @@ -export {default as withCoverArtDate} from './withCoverArtDate.js'; -export {default as withTracks} from './withTracks.js'; diff --git a/src/data/composite/things/album/withCoverArtDate.js b/src/data/composite/things/album/withCoverArtDate.js deleted file mode 100644 index c006fab9..00000000 --- a/src/data/composite/things/album/withCoverArtDate.js +++ /dev/null @@ -1,50 +0,0 @@ -import {input, templateCompositeFrom} from '#composite'; -import {isDate} from '#validators'; - -import {raiseOutputWithoutDependency} from '#composite/control-flow'; -import {withHasArtwork} from '#composite/wiki-data'; - -export default templateCompositeFrom({ - annotation: `withCoverArtDate`, - - inputs: { - from: input({ - validate: isDate, - defaultDependency: '_coverArtDate', - acceptsNull: true, - }), - }, - - outputs: ['#coverArtDate'], - - steps: () => [ - withHasArtwork({ - contribs: '_coverArtistContribs', - artworks: '_coverArtworks', - }), - - raiseOutputWithoutDependency({ - dependency: '#hasArtwork', - mode: input.value('falsy'), - output: input.value({'#coverArtDate': null}), - }), - - { - dependencies: [input('from')], - compute: (continuation, { - [input('from')]: from, - }) => - (from - ? continuation.raiseOutput({'#coverArtDate': from}) - : continuation()), - }, - - { - dependencies: ['date'], - compute: (continuation, {date}) => - (date - ? continuation({'#coverArtDate': date}) - : continuation({'#coverArtDate': null})), - }, - ], -}); diff --git a/src/data/composite/things/album/withTracks.js b/src/data/composite/things/album/withTracks.js deleted file mode 100644 index 835ee570..00000000 --- a/src/data/composite/things/album/withTracks.js +++ /dev/null @@ -1,29 +0,0 @@ -import {input, templateCompositeFrom} from '#composite'; - -import {withFlattenedList, withPropertyFromList} from '#composite/data'; - -import {raiseOutputWithoutDependency} from '#composite/control-flow'; - -export default templateCompositeFrom({ - annotation: `withTracks`, - - outputs: ['#tracks'], - - steps: () => [ - raiseOutputWithoutDependency({ - dependency: 'trackSections', - output: input.value({'#tracks': []}), - }), - - withPropertyFromList({ - list: 'trackSections', - property: input.value('tracks'), - }), - - withFlattenedList({ - list: '#trackSections.tracks', - }).outputs({ - ['#flattenedList']: '#tracks', - }), - ], -}); diff --git a/src/data/things/album.js b/src/data/things/album.js index 594046b9..42db1773 100644 --- a/src/data/things/album.js +++ b/src/data/things/album.js @@ -34,8 +34,6 @@ import { parseWallpaperParts, } from '#yaml'; -import {withPropertyFromObject} from '#composite/data'; - import { exitWithoutDependency, exposeConstant, @@ -44,6 +42,12 @@ import { exposeUpdateValueOrContinue, } from '#composite/control-flow'; +import { + withFlattenedList, + withPropertyFromList, + withPropertyFromObject, +} from '#composite/data'; + import { exitWithoutArtwork, withDirectory, @@ -77,7 +81,6 @@ import { wikiData, } from '#composite/wiki-properties'; -import {withCoverArtDate, withTracks} from '#composite/things/album'; import {withContinueCountingFrom, withStartCountingFrom} from '#composite/things/track-section'; @@ -219,23 +222,29 @@ export class Album extends Thing { .call(this, 'Cover Artwork'), ], - coverArtistContribs: [ - withCoverArtDate(), + coverArtistContribs: contributionList({ + date: 'coverArtDate', + artistProperty: input.value('albumCoverArtistContributions'), + }), - contributionList({ - date: '#coverArtDate', - artistProperty: input.value('albumCoverArtistContributions'), + coverArtDate: [ + withHasArtwork({ + contribs: '_coverArtistContribs', + artworks: '_coverArtworks', }), - ], - coverArtDate: [ - withCoverArtDate({ - from: input.updateValue({ - validate: isDate, - }), + exitWithoutDependency({ + dependency: '#hasArtwork', + mode: input.value('falsy'), + }), + + exposeUpdateValueOrContinue({ + validate: input.value(isDate), }), - exposeDependency({dependency: '#coverArtDate'}), + exposeDependency({ + dependency: 'date', + }), ], coverArtFileExtension: [ @@ -306,14 +315,10 @@ export class Album extends Thing { .call(this, 'Wallpaper Artwork'), ], - wallpaperArtistContribs: [ - withCoverArtDate(), - - contributionList({ - date: '#coverArtDate', - artistProperty: input.value('albumWallpaperArtistContributions'), - }), - ], + wallpaperArtistContribs: contributionList({ + date: 'coverArtDate', + artistProperty: input.value('albumWallpaperArtistContributions'), + }), wallpaperFileExtension: [ exitWithoutArtwork({ @@ -355,14 +360,10 @@ export class Album extends Thing { .call(this, 'Banner Artwork'), ], - bannerArtistContribs: [ - withCoverArtDate(), - - contributionList({ - date: '#coverArtDate', - artistProperty: input.value('albumBannerArtistContributions'), - }), - ], + bannerArtistContribs: contributionList({ + date: 'coverArtDate', + artistProperty: input.value('albumBannerArtistContributions'), + }), bannerFileExtension: [ exitWithoutArtwork({ @@ -452,8 +453,23 @@ export class Album extends Thing { hasBannerArt: contribsPresent({contribs: '_bannerArtistContribs'}), tracks: [ - withTracks(), - exposeDependency({dependency: '#tracks'}), + exitWithoutDependency({ + dependency: 'trackSections', + value: input.value([]), + }), + + withPropertyFromList({ + list: 'trackSections', + property: input.value('tracks'), + }), + + withFlattenedList({ + list: '#trackSections.tracks', + }), + + exposeDependency({ + dependency: '#flattenedList', + }), ], }); -- cgit 1.3.0-6-gf8a5