diff options
Diffstat (limited to 'src/data/composite/things/track/inheritContributionListFromOriginalRelease.js')
-rw-r--r-- | src/data/composite/things/track/inheritContributionListFromOriginalRelease.js | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/data/composite/things/track/inheritContributionListFromOriginalRelease.js b/src/data/composite/things/track/inheritContributionListFromOriginalRelease.js new file mode 100644 index 00000000..f4ae3ddb --- /dev/null +++ b/src/data/composite/things/track/inheritContributionListFromOriginalRelease.js @@ -0,0 +1,44 @@ +// Like inheritFromOriginalRelease, but tuned for contributions. +// Recontextualized contributions for this track. + +import {input, templateCompositeFrom} from '#composite'; + +import {exposeDependency, raiseOutputWithoutDependency} + from '#composite/control-flow'; +import {withRecontextualizedContributionList, withRedatedContributionList} + from '#composite/wiki-data'; + +import withDate from './withDate.js'; +import withPropertyFromOriginalRelease + from './withPropertyFromOriginalRelease.js'; + +export default templateCompositeFrom({ + annotation: `inheritContributionListFromOriginalRelease`, + + steps: () => [ + withPropertyFromOriginalRelease({ + property: input.thisProperty(), + notFoundValue: input.value([]), + }), + + raiseOutputWithoutDependency({ + dependency: '#isRerelease', + mode: input.value('falsy'), + }), + + withRecontextualizedContributionList({ + list: '#originalValue', + }), + + withDate(), + + withRedatedContributionList({ + list: '#originalValue', + date: '#date', + }), + + exposeDependency({ + dependency: '#originalValue', + }), + ], +}); |