diff options
author | (quasar) nebula <qznebula@protonmail.com> | 2025-04-12 18:30:52 -0300 |
---|---|---|
committer | (quasar) nebula <qznebula@protonmail.com> | 2025-04-12 18:30:52 -0300 |
commit | 79b059f845db631013c0b03593f8c244901f836c (patch) | |
tree | b01eb026d24a2ad6dc3e1019a83afa70a3e69f23 /src/data | |
parent | 150447336e02897e1589dbdb28ca7108a0a94632 (diff) |
data: Artwork.referencedArtworks: don't assume inherited
Diffstat (limited to 'src/data')
-rw-r--r-- | src/data/composite/wiki-data/withConstitutedArtwork.js | 4 | ||||
-rw-r--r-- | src/data/composite/wiki-properties/constitutibleArtwork.js | 2 | ||||
-rw-r--r-- | src/data/composite/wiki-properties/constitutibleArtworkList.js | 2 | ||||
-rw-r--r-- | src/data/things/album.js | 1 | ||||
-rw-r--r-- | src/data/things/artwork.js | 13 | ||||
-rw-r--r-- | src/data/things/track.js | 1 | ||||
-rw-r--r-- | src/data/yaml.js | 2 |
7 files changed, 23 insertions, 2 deletions
diff --git a/src/data/composite/wiki-data/withConstitutedArtwork.js b/src/data/composite/wiki-data/withConstitutedArtwork.js index 3a2e72b9..9e260abf 100644 --- a/src/data/composite/wiki-data/withConstitutedArtwork.js +++ b/src/data/composite/wiki-data/withConstitutedArtwork.js @@ -12,6 +12,7 @@ export default templateCompositeFrom({ artistContribsFromThingProperty: input({type: 'string', acceptsNull: true}), artistContribsArtistProperty: input({type: 'string', acceptsNull: true}), artTagsFromThingProperty: input({type: 'string', acceptsNull: true}), + referencedArtworksFromThingProperty: input({type: 'string', acceptsNull: true}), }, outputs: ['#constitutedArtwork'], @@ -26,6 +27,7 @@ export default templateCompositeFrom({ input('artistContribsFromThingProperty'), input('artistContribsArtistProperty'), input('artTagsFromThingProperty'), + input('referencedArtworksFromThingProperty'), ], compute: (continuation, { @@ -36,6 +38,7 @@ export default templateCompositeFrom({ [input('artistContribsFromThingProperty')]: artistContribsFromThingProperty, [input('artistContribsArtistProperty')]: artistContribsArtistProperty, [input('artTagsFromThingProperty')]: artTagsFromThingProperty, + [input('referencedArtworksFromThingProperty')]: referencedArtworksFromThingProperty, }) => continuation({ ['#constitutedArtwork']: Object.assign(new thingConstructors.Artwork, { @@ -46,6 +49,7 @@ export default templateCompositeFrom({ artistContribsArtistProperty, artTagsFromThingProperty, dateFromThingProperty, + referencedArtworksFromThingProperty, }), }), }, diff --git a/src/data/composite/wiki-properties/constitutibleArtwork.js b/src/data/composite/wiki-properties/constitutibleArtwork.js index fdd0e56a..0ee3bfcd 100644 --- a/src/data/composite/wiki-properties/constitutibleArtwork.js +++ b/src/data/composite/wiki-properties/constitutibleArtwork.js @@ -23,6 +23,7 @@ const template = templateCompositeFrom({ artistContribsFromThingProperty: input({type: 'string', acceptsNull: true}), artistContribsArtistProperty: input({type: 'string', acceptsNull: true}), artTagsFromThingProperty: input({type: 'string', acceptsNull: true}), + referencedArtworksFromThingProperty: input({type: 'string', acceptsNull: true}), }, steps: () => [ @@ -40,6 +41,7 @@ const template = templateCompositeFrom({ artistContribsFromThingProperty: input('artistContribsFromThingProperty'), artistContribsArtistProperty: input('artistContribsArtistProperty'), artTagsFromThingProperty: input('artTagsFromThingProperty'), + referencedArtworksFromThingProperty: input('referencedArtworksFromThingProperty'), }), exposeDependency({ diff --git a/src/data/composite/wiki-properties/constitutibleArtworkList.js b/src/data/composite/wiki-properties/constitutibleArtworkList.js index f54e6def..246c08b5 100644 --- a/src/data/composite/wiki-properties/constitutibleArtworkList.js +++ b/src/data/composite/wiki-properties/constitutibleArtworkList.js @@ -22,6 +22,7 @@ const template = templateCompositeFrom({ artistContribsFromThingProperty: input({type: 'string', acceptsNull: true}), artistContribsArtistProperty: input({type: 'string', acceptsNull: true}), artTagsFromThingProperty: input({type: 'string', acceptsNull: true}), + referencedArtworksFromThingProperty: input({type: 'string', acceptsNull: true}), }, steps: () => [ @@ -39,6 +40,7 @@ const template = templateCompositeFrom({ artistContribsFromThingProperty: input('artistContribsFromThingProperty'), artistContribsArtistProperty: input('artistContribsArtistProperty'), artTagsFromThingProperty: input('artTagsFromThingProperty'), + referencedArtworksFromThingProperty: input('referencedArtworksFromThingProperty'), }), { diff --git a/src/data/things/album.js b/src/data/things/album.js index 613bbc28..e8106e24 100644 --- a/src/data/things/album.js +++ b/src/data/things/album.js @@ -506,6 +506,7 @@ export class Album extends Thing { artistContribsFromThingProperty: 'coverArtistContribs', artistContribsArtistProperty: 'albumCoverArtistContributions', artTagsFromThingProperty: 'artTags', + referencedArtworksFromThingProperty: 'referencedArtworks', }), }, diff --git a/src/data/things/artwork.js b/src/data/things/artwork.js index e763323a..bb69dbd3 100644 --- a/src/data/things/artwork.js +++ b/src/data/things/artwork.js @@ -222,6 +222,8 @@ export class Artwork extends Thing { }), ], + referencedArtworksFromThingProperty: simpleString(), + referencedArtworks: [ { compute: (continuation) => continuation({ @@ -258,13 +260,20 @@ export class Artwork extends Thing { mode: input.value('empty'), }), + exitWithoutDependency({ + dependency: 'referencedArtworksFromThingProperty', + value: input.value([]), + }), + withPropertyFromObject({ object: 'thing', - property: input.value('referencedArtworks'), + property: 'referencedArtworksFromThingProperty', + }).outputs({ + ['#value']: '#referencedArtworks', }), exposeDependencyOrContinue({ - dependency: '#thing.referencedArtworks', + dependency: '#referencedArtworks', }), exposeConstant({ diff --git a/src/data/things/track.js b/src/data/things/track.js index d7cb2b58..ca1d69af 100644 --- a/src/data/things/track.js +++ b/src/data/things/track.js @@ -534,6 +534,7 @@ export class Track extends Thing { fileExtensionFromThingProperty: 'coverArtFileExtension', dateFromThingProperty: 'coverArtDate', artTagsFromThingProperty: 'artTags', + referencedArtworksFromThingProperty: 'referencedArtworks', artistContribsFromThingProperty: 'coverArtistContribs', artistContribsArtistProperty: 'trackCoverArtistContributions', }), diff --git a/src/data/yaml.js b/src/data/yaml.js index a7248f56..50317238 100644 --- a/src/data/yaml.js +++ b/src/data/yaml.js @@ -797,6 +797,7 @@ export function parseArtwork({ artistContribsFromThingProperty = null, artistContribsArtistProperty = null, artTagsFromThingProperty = null, + referencedArtworksFromThingProperty = null, }) { const provide = { dimensionsFromThingProperty, @@ -805,6 +806,7 @@ export function parseArtwork({ artistContribsFromThingProperty, artistContribsArtistProperty, artTagsFromThingProperty, + referencedArtworksFromThingProperty, }; const parseSingleEntry = (entry, {subdoc, Artwork}) => |