diff options
author | (quasar) nebula <qznebula@protonmail.com> | 2025-05-01 16:50:50 -0300 |
---|---|---|
committer | (quasar) nebula <qznebula@protonmail.com> | 2025-05-06 12:29:06 -0300 |
commit | 928a8247048d3476d46b0e8817f11fc5b068506a (patch) | |
tree | bace6d72e1cfe502104936c3632d2cb9394887e4 /src/data/composite/things/content/contentArtists.js | |
parent | 2e5b3352a3ab82e4d6fa249f3c74fb8a1f8fad04 (diff) |
data: ContentEntry: implicit references via artistText
Diffstat (limited to 'src/data/composite/things/content/contentArtists.js')
-rw-r--r-- | src/data/composite/things/content/contentArtists.js | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/data/composite/things/content/contentArtists.js b/src/data/composite/things/content/contentArtists.js new file mode 100644 index 00000000..77273047 --- /dev/null +++ b/src/data/composite/things/content/contentArtists.js @@ -0,0 +1,39 @@ +import {input, templateCompositeFrom} from '#composite'; +import {validateReferenceList} from '#validators'; + +import {exitWithoutDependency, exposeDependency} + from '#composite/control-flow'; +import {withResolvedReferenceList} from '#composite/wiki-data'; +import {soupyFind} from '#composite/wiki-properties'; + +import withExpressedOrImplicitArtistReferences + from './helpers/withExpressedOrImplicitArtistReferences.js'; + +export default templateCompositeFrom({ + annotation: `contentArtists`, + + compose: false, + + update: { + validate: validateReferenceList('artist'), + }, + + steps: () => [ + withExpressedOrImplicitArtistReferences({ + from: input.updateValue(), + }), + + exitWithoutDependency({ + dependency: '#artistReferences', + }), + + withResolvedReferenceList({ + list: '#artistReferences', + find: soupyFind.input('artist'), + }), + + exposeDependency({ + dependency: '#resolvedReferenceList', + }), + ], +}); |