diff options
Diffstat (limited to 'src/data/composite/things/track')
-rw-r--r-- | src/data/composite/things/track/sharedAdditionalNameList.js | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/src/data/composite/things/track/sharedAdditionalNameList.js b/src/data/composite/things/track/sharedAdditionalNameList.js index 1806ec80..28c04101 100644 --- a/src/data/composite/things/track/sharedAdditionalNameList.js +++ b/src/data/composite/things/track/sharedAdditionalNameList.js @@ -4,7 +4,12 @@ import {input, templateCompositeFrom} from '#composite'; import {exitWithoutDependency, exposeDependency} from '#composite/control-flow'; -import {withFlattenedList, withPropertyFromList} from '#composite/data'; + +import { + withFilteredList, + withFlattenedList, + withPropertyFromList, +} from '#composite/data'; import withOtherReleases from './withOtherReleases.js'; @@ -29,10 +34,25 @@ export default templateCompositeFrom({ withFlattenedList({ list: '#otherReleases.additionalNames', + }).outputs({ + ['#flattenedList']: '#otherReleaseEntries', + }), + + withPropertyFromList({ + list: '#otherReleaseEntries', + property: input.value('specificAlbumExclusive'), + }), + + // Filter out entries that have been marked as exclusive to the containing + // album. + withFilteredList({ + list: '#otherReleaseEntries', + filter: '#otherReleaseEntries.specificAlbumExclusive', + flip: input.value(true), }), exposeDependency({ - dependency: '#flattenedList', + dependency: '#filteredList', }), ], }); |