From e98ddceb95d89e5e6541f15543fa4ffa6f04c29f Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Thu, 7 Mar 2024 12:22:02 -0400 Subject: data: Artist.artistContributions, Artist.contributorContributions --- .../composite/wiki-properties/reverseContributionList.js | 7 +++++++ src/data/things/artist.js | 12 ++++++++++++ 2 files changed, 19 insertions(+) diff --git a/src/data/composite/wiki-properties/reverseContributionList.js b/src/data/composite/wiki-properties/reverseContributionList.js index 7f3f9c81..ce219377 100644 --- a/src/data/composite/wiki-properties/reverseContributionList.js +++ b/src/data/composite/wiki-properties/reverseContributionList.js @@ -1,4 +1,5 @@ import {input, templateCompositeFrom} from '#composite'; +import {is} from '#validators'; import {exposeDependency} from '#composite/control-flow'; import {inputWikiData, withReverseContributionList} from '#composite/wiki-data'; @@ -11,12 +12,18 @@ export default templateCompositeFrom({ inputs: { data: inputWikiData({allowMixedTypes: false}), list: input({type: 'string'}), + + mode: input({ + validate: is('things', 'contributions'), + defaultValue: 'things', + }), }, steps: () => [ withReverseContributionList({ data: input('data'), list: input('list'), + mode: input('mode'), }), exposeDependency({dependency: '#reverseContributionList'}), diff --git a/src/data/things/artist.js b/src/data/things/artist.js index 3e4c8c2c..44fd458d 100644 --- a/src/data/things/artist.js +++ b/src/data/things/artist.js @@ -142,6 +142,18 @@ export class Artist extends Thing { list: input.value('commentatorArtists'), }), + artistContributions: reverseContributionList({ + data: 'trackData', + list: input.value('artistContribs'), + mode: input.value('contributions'), + }), + + contributorContributions: reverseContributionList({ + data: 'trackData', + list: input.value('artistContribs'), + mode: input.value('contributions'), + }), + albumsAsAlbumArtist: reverseContributionList({ data: 'albumData', list: input.value('artistContribs'), -- cgit 1.3.0-6-gf8a5