« get me outta code hell

data, yaml: save() -> connect(), Thing.wikiData & friends - hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src/data/composite/things
diff options
context:
space:
mode:
author(quasar) nebula <qznebula@protonmail.com>2025-11-20 15:51:14 -0400
committer(quasar) nebula <qznebula@protonmail.com>2025-11-25 07:06:49 -0400
commitf44b69b6079c80da98aafe9022cb68923e52a03c (patch)
treef5899a51a4dba595a031b7a40c3e0ebd1a468380 /src/data/composite/things
parent03142771e556f9e115709832a98d81942528f10a (diff)
data, yaml: save() -> connect(), Thing.wikiData & friends
HOLY GUACAMOLE
Diffstat (limited to 'src/data/composite/things')
-rw-r--r--src/data/composite/things/track-section/index.js1
-rw-r--r--src/data/composite/things/track-section/withAlbum.js20
-rw-r--r--src/data/composite/things/track-section/withStartCountingFrom.js8
-rw-r--r--src/data/composite/things/track/index.js1
-rw-r--r--src/data/composite/things/track/withContainingTrackSection.js20
-rw-r--r--src/data/composite/things/track/withDirectorySuffix.js5
-rw-r--r--src/data/composite/things/track/withSuffixDirectoryFromAlbum.js6
-rw-r--r--src/data/composite/things/track/withTrackNumber.js8
8 files changed, 6 insertions, 63 deletions
diff --git a/src/data/composite/things/track-section/index.js b/src/data/composite/things/track-section/index.js
index f11a2ab5..1da49ea4 100644
--- a/src/data/composite/things/track-section/index.js
+++ b/src/data/composite/things/track-section/index.js
@@ -1,3 +1,2 @@
-export {default as withAlbum} from './withAlbum.js';
 export {default as withContinueCountingFrom} from './withContinueCountingFrom.js';
 export {default as withStartCountingFrom} from './withStartCountingFrom.js';
diff --git a/src/data/composite/things/track-section/withAlbum.js b/src/data/composite/things/track-section/withAlbum.js
deleted file mode 100644
index e257062e..00000000
--- a/src/data/composite/things/track-section/withAlbum.js
+++ /dev/null
@@ -1,20 +0,0 @@
-// Gets the track section's album.
-
-import {templateCompositeFrom} from '#composite';
-
-import {withUniqueReferencingThing} from '#composite/wiki-data';
-import {soupyReverse} from '#composite/wiki-properties';
-
-export default templateCompositeFrom({
-  annotation: `withAlbum`,
-
-  outputs: ['#album'],
-
-  steps: () => [
-    withUniqueReferencingThing({
-      reverse: soupyReverse.input('albumsWhoseTrackSectionsInclude'),
-    }).outputs({
-      ['#uniqueReferencingThing']: '#album',
-    }),
-  ],
-});
diff --git a/src/data/composite/things/track-section/withStartCountingFrom.js b/src/data/composite/things/track-section/withStartCountingFrom.js
index ef345327..20e18edb 100644
--- a/src/data/composite/things/track-section/withStartCountingFrom.js
+++ b/src/data/composite/things/track-section/withStartCountingFrom.js
@@ -3,8 +3,6 @@ import {input, templateCompositeFrom} from '#composite';
 import {raiseOutputWithoutDependency} from '#composite/control-flow';
 import {withNearbyItemFromList, withPropertyFromObject} from '#composite/data';
 
-import withAlbum from './withAlbum.js';
-
 export default templateCompositeFrom({
   annotation: `withStartCountingFrom`,
 
@@ -29,15 +27,13 @@ export default templateCompositeFrom({
           : continuation.raiseOutput({'#startCountingFrom': from})),
     },
 
-    withAlbum(),
-
     raiseOutputWithoutDependency({
-      dependency: '#album',
+      dependency: 'album',
       output: input.value({'#startCountingFrom': 1}),
     }),
 
     withPropertyFromObject({
-      object: '#album',
+      object: 'album',
       property: input.value('trackSections'),
     }),
 
diff --git a/src/data/composite/things/track/index.js b/src/data/composite/things/track/index.js
index 1c203cd9..be276d25 100644
--- a/src/data/composite/things/track/index.js
+++ b/src/data/composite/things/track/index.js
@@ -3,7 +3,6 @@ export {default as exitWithoutUniqueCoverArt} from './exitWithoutUniqueCoverArt.
 export {default as inheritContributionListFromMainRelease} from './inheritContributionListFromMainRelease.js';
 export {default as inheritFromMainRelease} from './inheritFromMainRelease.js';
 export {default as withAllReleases} from './withAllReleases.js';
-export {default as withContainingTrackSection} from './withContainingTrackSection.js';
 export {default as withCoverArtistContribs} from './withCoverArtistContribs.js';
 export {default as withDate} from './withDate.js';
 export {default as withDirectorySuffix} from './withDirectorySuffix.js';
diff --git a/src/data/composite/things/track/withContainingTrackSection.js b/src/data/composite/things/track/withContainingTrackSection.js
deleted file mode 100644
index 3d4d081e..00000000
--- a/src/data/composite/things/track/withContainingTrackSection.js
+++ /dev/null
@@ -1,20 +0,0 @@
-// Gets the track section containing this track from its album's track list.
-
-import {templateCompositeFrom} from '#composite';
-
-import {withUniqueReferencingThing} from '#composite/wiki-data';
-import {soupyReverse} from '#composite/wiki-properties';
-
-export default templateCompositeFrom({
-  annotation: `withContainingTrackSection`,
-
-  outputs: ['#trackSection'],
-
-  steps: () => [
-    withUniqueReferencingThing({
-      reverse: soupyReverse.input('trackSectionsWhichInclude'),
-    }).outputs({
-      ['#uniqueReferencingThing']: '#trackSection',
-    }),
-  ],
-});
diff --git a/src/data/composite/things/track/withDirectorySuffix.js b/src/data/composite/things/track/withDirectorySuffix.js
index c3651491..13813eeb 100644
--- a/src/data/composite/things/track/withDirectorySuffix.js
+++ b/src/data/composite/things/track/withDirectorySuffix.js
@@ -3,7 +3,6 @@ import {input, templateCompositeFrom} from '#composite';
 import {raiseOutputWithoutDependency} from '#composite/control-flow';
 import {withPropertyFromObject} from '#composite/data';
 
-import withContainingTrackSection from './withContainingTrackSection.js';
 import withSuffixDirectoryFromAlbum from './withSuffixDirectoryFromAlbum.js';
 
 export default templateCompositeFrom({
@@ -20,10 +19,8 @@ export default templateCompositeFrom({
       output: input.value({'#directorySuffix': null}),
     }),
 
-    withContainingTrackSection(),
-
     withPropertyFromObject({
-      object: '#trackSection',
+      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
index 30c777b6..047077fd 100644
--- a/src/data/composite/things/track/withSuffixDirectoryFromAlbum.js
+++ b/src/data/composite/things/track/withSuffixDirectoryFromAlbum.js
@@ -3,8 +3,6 @@ import {input, templateCompositeFrom} from '#composite';
 import {withResultOfAvailabilityCheck} from '#composite/control-flow';
 import {withPropertyFromObject} from '#composite/data';
 
-import withContainingTrackSection from './withContainingTrackSection.js';
-
 export default templateCompositeFrom({
   annotation: `withSuffixDirectoryFromAlbum`,
 
@@ -37,10 +35,8 @@ export default templateCompositeFrom({
           : continuation()),
     },
 
-    withContainingTrackSection(),
-
     withPropertyFromObject({
-      object: '#trackSection',
+      object: 'trackSection',
       property: input.value('suffixTrackDirectories'),
     }).outputs({
       '#trackSection.suffixTrackDirectories': '#suffixDirectoryFromAlbum',
diff --git a/src/data/composite/things/track/withTrackNumber.js b/src/data/composite/things/track/withTrackNumber.js
index 61428e8c..bb0f1366 100644
--- a/src/data/composite/things/track/withTrackNumber.js
+++ b/src/data/composite/things/track/withTrackNumber.js
@@ -3,25 +3,21 @@ import {input, templateCompositeFrom} from '#composite';
 import {raiseOutputWithoutDependency} from '#composite/control-flow';
 import {withIndexInList, withPropertiesFromObject} from '#composite/data';
 
-import withContainingTrackSection from './withContainingTrackSection.js';
-
 export default templateCompositeFrom({
   annotation: `withTrackNumber`,
 
   outputs: ['#trackNumber'],
 
   steps: () => [
-    withContainingTrackSection(),
-
     // Zero is the fallback, not one, but in most albums the first track
     // (and its intended output by this composition) will be one.
     raiseOutputWithoutDependency({
-      dependency: '#trackSection',
+      dependency: 'trackSection',
       output: input.value({'#trackNumber': 0}),
     }),
 
     withPropertiesFromObject({
-      object: '#trackSection',
+      object: 'trackSection',
       properties: input.value(['tracks', 'startCountingFrom']),
     }),