From 8a20f2b849da363336d3f7f71b14762af954457f Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Tue, 25 Nov 2025 16:54:41 -0400 Subject: data: Track: chop withDirectorySuffix, withSuffixDirectoryFromAlbum --- src/data/composite/things/track/index.js | 2 - .../composite/things/track/withDirectorySuffix.js | 29 ------------- .../things/track/withSuffixDirectoryFromAlbum.js | 45 ------------------- src/data/things/track.js | 50 +++++++++++----------- 4 files changed, 24 insertions(+), 102 deletions(-) delete mode 100644 src/data/composite/things/track/withDirectorySuffix.js delete mode 100644 src/data/composite/things/track/withSuffixDirectoryFromAlbum.js diff --git a/src/data/composite/things/track/index.js b/src/data/composite/things/track/index.js index 6b11089b..8036d4df 100644 --- a/src/data/composite/things/track/index.js +++ b/src/data/composite/things/track/index.js @@ -2,8 +2,6 @@ export {default as alwaysReferenceByDirectory} from './alwaysReferenceByDirector export {default as exitWithoutUniqueCoverArt} from './exitWithoutUniqueCoverArt.js'; export {default as inheritContributionListFromMainRelease} from './inheritContributionListFromMainRelease.js'; export {default as inheritFromMainRelease} from './inheritFromMainRelease.js'; -export {default as withDirectorySuffix} from './withDirectorySuffix.js'; export {default as withPropertyFromAlbum} from './withPropertyFromAlbum.js'; export {default as withPropertyFromMainRelease} from './withPropertyFromMainRelease.js'; -export {default as withSuffixDirectoryFromAlbum} from './withSuffixDirectoryFromAlbum.js'; export {default as withTrackNumber} from './withTrackNumber.js'; diff --git a/src/data/composite/things/track/withDirectorySuffix.js b/src/data/composite/things/track/withDirectorySuffix.js deleted file mode 100644 index 13813eeb..00000000 --- a/src/data/composite/things/track/withDirectorySuffix.js +++ /dev/null @@ -1,29 +0,0 @@ -import {input, templateCompositeFrom} from '#composite'; - -import {raiseOutputWithoutDependency} from '#composite/control-flow'; -import {withPropertyFromObject} from '#composite/data'; - -import withSuffixDirectoryFromAlbum from './withSuffixDirectoryFromAlbum.js'; - -export default templateCompositeFrom({ - annotation: `withDirectorySuffix`, - - outputs: ['#directorySuffix'], - - steps: () => [ - withSuffixDirectoryFromAlbum(), - - raiseOutputWithoutDependency({ - dependency: '#suffixDirectoryFromAlbum', - mode: input.value('falsy'), - output: input.value({'#directorySuffix': null}), - }), - - withPropertyFromObject({ - object: 'trackSection', - property: input.value('directorySuffix'), - }).outputs({ - '#trackSection.directorySuffix': '#directorySuffix', - }), - ], -}); diff --git a/src/data/composite/things/track/withSuffixDirectoryFromAlbum.js b/src/data/composite/things/track/withSuffixDirectoryFromAlbum.js deleted file mode 100644 index b9d8848d..00000000 --- a/src/data/composite/things/track/withSuffixDirectoryFromAlbum.js +++ /dev/null @@ -1,45 +0,0 @@ -import {input, templateCompositeFrom} from '#composite'; - -import {withResultOfAvailabilityCheck} from '#composite/control-flow'; -import {withPropertyFromObject} from '#composite/data'; - -export default templateCompositeFrom({ - annotation: `withSuffixDirectoryFromAlbum`, - - inputs: { - flagValue: input({ - defaultDependency: '_suffixDirectoryFromAlbum', - acceptsNull: true, - }), - }, - - outputs: ['#suffixDirectoryFromAlbum'], - - steps: () => [ - withResultOfAvailabilityCheck({ - from: input('flagValue'), - }), - - { - dependencies: [ - '#availability', - input('flagValue'), - ], - - compute: (continuation, { - ['#availability']: availability, - [input('flagValue')]: flagValue, - }) => - (availability - ? continuation.raiseOutput({['#suffixDirectoryFromAlbum']: flagValue}) - : continuation()), - }, - - withPropertyFromObject({ - object: 'trackSection', - property: input.value('suffixTrackDirectories'), - }).outputs({ - '#trackSection.suffixTrackDirectories': '#suffixDirectoryFromAlbum', - }), - ], -}); diff --git a/src/data/things/track.js b/src/data/things/track.js index 401543f3..31eed682 100644 --- a/src/data/things/track.js +++ b/src/data/things/track.js @@ -89,9 +89,7 @@ import { exitWithoutUniqueCoverArt, inheritContributionListFromMainRelease, inheritFromMainRelease, - withDirectorySuffix, withPropertyFromAlbum, - withSuffixDirectoryFromAlbum, withTrackNumber, } from '#composite/things/track'; @@ -136,34 +134,23 @@ export class Track extends Thing { name: name('Unnamed Track'), nameText: contentString(), - directory: [ - withDirectorySuffix(), - - directory({ - suffix: '#directorySuffix', - }), - ], + directory: directory({ + suffix: 'directorySuffix', + }), suffixDirectoryFromAlbum: [ - { - dependencies: [ - input.updateValue({validate: isBoolean}), - ], - - compute: (continuation, { - [input.updateValue()]: value, - }) => continuation({ - ['#flagValue']: value ?? false, - }), - }, + exposeUpdateValueOrContinue({ + validate: input.value(isBoolean), + }), - withSuffixDirectoryFromAlbum({ - flagValue: '#flagValue', + withPropertyFromObject({ + object: 'trackSection', + property: input.value('suffixTrackDirectories'), }), exposeDependency({ - dependency: '#suffixDirectoryFromAlbum', - }) + dependency: '#trackSection.suffixTrackDirectories', + }), ], alwaysReferenceByDirectory: alwaysReferenceByDirectory(), @@ -632,8 +619,19 @@ export class Track extends Thing { commentatorArtists: commentatorArtists(), directorySuffix: [ - withDirectorySuffix(), - exposeDependency({dependency: '#directorySuffix'}), + exitWithoutDependency({ + dependency: 'suffixDirectoryFromAlbum', + mode: input.value('falsy'), + }), + + withPropertyFromObject({ + object: 'trackSection', + property: input.value('directorySuffix'), + }), + + exposeDependency({ + dependency: '#trackSection.directorySuffix', + }), ], date: [ -- cgit 1.3.0-6-gf8a5