« get me outta code hell

data: Track: chop withPropertyFromMainRelease - 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-27 17:19:50 -0400
committer(quasar) nebula <qznebula@protonmail.com>2025-11-27 17:19:50 -0400
commitc63cf25423141491d74cd27be822adf2c66240c3 (patch)
treed851a85d2485b2bd8c4a544c4708561ac7705949 /src/data/composite/things
parentb754b54c7909da1f53b99b171e1f5b1183ca5549 (diff)
data: Track: chop withPropertyFromMainRelease
Diffstat (limited to 'src/data/composite/things')
-rw-r--r--src/data/composite/things/track/index.js1
-rw-r--r--src/data/composite/things/track/inheritContributionListFromMainRelease.js15
-rw-r--r--src/data/composite/things/track/inheritFromMainRelease.js9
-rw-r--r--src/data/composite/things/track/withPropertyFromMainRelease.js53
4 files changed, 12 insertions, 66 deletions
diff --git a/src/data/composite/things/track/index.js b/src/data/composite/things/track/index.js
index 88fd3d45..c200df19 100644
--- a/src/data/composite/things/track/index.js
+++ b/src/data/composite/things/track/index.js
@@ -1,3 +1,2 @@
 export {default as inheritContributionListFromMainRelease} from './inheritContributionListFromMainRelease.js';
 export {default as inheritFromMainRelease} from './inheritFromMainRelease.js';
-export {default as withPropertyFromMainRelease} from './withPropertyFromMainRelease.js';
diff --git a/src/data/composite/things/track/inheritContributionListFromMainRelease.js b/src/data/composite/things/track/inheritContributionListFromMainRelease.js
index 94e19872..8db50060 100644
--- a/src/data/composite/things/track/inheritContributionListFromMainRelease.js
+++ b/src/data/composite/things/track/inheritContributionListFromMainRelease.js
@@ -5,12 +5,10 @@ import {input, templateCompositeFrom} from '#composite';
 
 import {exposeDependency, raiseOutputWithoutDependency}
   from '#composite/control-flow';
+import {withPropertyFromObject} from '#composite/data';
 import {withRecontextualizedContributionList, withRedatedContributionList}
   from '#composite/wiki-data';
 
-import withPropertyFromMainRelease
-  from './withPropertyFromMainRelease.js';
-
 export default templateCompositeFrom({
   annotation: `inheritContributionListFromMainRelease`,
 
@@ -20,21 +18,24 @@ export default templateCompositeFrom({
       mode: input.value('falsy'),
     }),
 
-    withPropertyFromMainRelease({
+    withPropertyFromObject({
+      object: 'mainReleaseTrack',
       property: input.thisProperty(),
+    }).outputs({
+      '#value': '#contributions',
     }),
 
     withRecontextualizedContributionList({
-      list: '#mainReleaseValue',
+      list: '#contributions',
     }),
 
     withRedatedContributionList({
-      list: '#mainReleaseValue',
+      list: '#contributions',
       date: 'date',
     }),
 
     exposeDependency({
-      dependency: '#mainReleaseValue',
+      dependency: '#contributions',
     }),
   ],
 });
diff --git a/src/data/composite/things/track/inheritFromMainRelease.js b/src/data/composite/things/track/inheritFromMainRelease.js
index 32a3165d..ca532bc7 100644
--- a/src/data/composite/things/track/inheritFromMainRelease.js
+++ b/src/data/composite/things/track/inheritFromMainRelease.js
@@ -6,9 +6,7 @@ import {input, templateCompositeFrom} from '#composite';
 
 import {exposeDependency, raiseOutputWithoutDependency}
   from '#composite/control-flow';
-
-import withPropertyFromMainRelease
-  from './withPropertyFromMainRelease.js';
+import {withPropertyFromObject} from '#composite/data';
 
 export default templateCompositeFrom({
   annotation: `inheritFromMainRelease`,
@@ -19,12 +17,13 @@ export default templateCompositeFrom({
       mode: input.value('falsy'),
     }),
 
-    withPropertyFromMainRelease({
+    withPropertyFromObject({
+      object: 'mainReleaseTrack',
       property: input.thisProperty(),
     }),
 
     exposeDependency({
-      dependency: '#mainReleaseValue',
+      dependency: '#value',
     }),
   ],
 });
diff --git a/src/data/composite/things/track/withPropertyFromMainRelease.js b/src/data/composite/things/track/withPropertyFromMainRelease.js
deleted file mode 100644
index ba3e2275..00000000
--- a/src/data/composite/things/track/withPropertyFromMainRelease.js
+++ /dev/null
@@ -1,53 +0,0 @@
-// Provides a value inherited from the main release, or null,
-// if this track is not a secondary release.
-
-import {input, templateCompositeFrom} from '#composite';
-
-import {withPropertyFromObject} from '#composite/data';
-
-export default templateCompositeFrom({
-  annotation: `withPropertyFromMainRelease`,
-
-  inputs: {
-    property: input({type: 'string'}),
-  },
-
-  outputs: ({
-    [input.staticValue('property')]: property,
-  }) => [
-    (property
-        ? '#mainRelease.' + property
-        : '#mainReleaseValue'),
-  ],
-
-  steps: () => [
-    {
-      dependencies: ['isSecondaryRelease', input.staticValue('property')],
-      compute: (continuation, {
-        ['isSecondaryRelease']: isSecondaryRelease,
-        [input.staticValue('property')]: property,
-      }) =>
-        (isSecondaryRelease
-          ? continuation()
-       : property
-          ? continuation.raiseOutput({['#mainRelease.' + property]: null})
-          : continuation.raiseOutput({'#mainReleaseValue': null})),
-    },
-
-    withPropertyFromObject({
-      object: 'mainReleaseTrack',
-      property: input('property'),
-    }),
-
-    {
-      dependencies: ['#value', input.staticValue('property')],
-      compute: (continuation, {
-        ['#value']: value,
-        [input.staticValue('property')]: property,
-      }) =>
-        (property
-          ? continuation.raiseOutput({['#mainRelease.' + property]: value})
-          : continuation.raiseOutput({'#mainReleaseValue': value})),
-    },
-  ],
-});