diff options
author | (quasar) nebula <qznebula@protonmail.com> | 2025-04-12 17:40:04 -0300 |
---|---|---|
committer | (quasar) nebula <qznebula@protonmail.com> | 2025-04-12 17:40:04 -0300 |
commit | f208ec7da855271d9854245823572c1572ce4a5a (patch) | |
tree | 9624784eb8ba5164cb76cda277b913422f2edd83 /src/data | |
parent | 8c617fbd7f9ce3106188d8ca726f4f157eeacf05 (diff) |
data: Artwork.artTags: don't assume inherited from thing
Diffstat (limited to 'src/data')
-rw-r--r-- | src/data/composite/wiki-data/withConstitutedArtwork.js | 10 | ||||
-rw-r--r-- | src/data/composite/wiki-properties/constitutibleArtwork.js | 6 | ||||
-rw-r--r-- | src/data/composite/wiki-properties/constitutibleArtworkList.js | 6 | ||||
-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 | 12 |
7 files changed, 35 insertions, 14 deletions
diff --git a/src/data/composite/wiki-data/withConstitutedArtwork.js b/src/data/composite/wiki-data/withConstitutedArtwork.js index 44623450..3a2e72b9 100644 --- a/src/data/composite/wiki-data/withConstitutedArtwork.js +++ b/src/data/composite/wiki-data/withConstitutedArtwork.js @@ -8,9 +8,10 @@ export default templateCompositeFrom({ inputs: { dimensionsFromThingProperty: input({type: 'string', acceptsNull: true}), fileExtensionFromThingProperty: input({type: 'string', acceptsNull: true}), + dateFromThingProperty: input({type: 'string', acceptsNull: true}), artistContribsFromThingProperty: input({type: 'string', acceptsNull: true}), artistContribsArtistProperty: input({type: 'string', acceptsNull: true}), - dateFromThingProperty: input({type: 'string', acceptsNull: true}), + artTagsFromThingProperty: input({type: 'string', acceptsNull: true}), }, outputs: ['#constitutedArtwork'], @@ -21,18 +22,20 @@ export default templateCompositeFrom({ input.myself(), input('dimensionsFromThingProperty'), input('fileExtensionFromThingProperty'), + input('dateFromThingProperty'), input('artistContribsFromThingProperty'), input('artistContribsArtistProperty'), - input('dateFromThingProperty'), + input('artTagsFromThingProperty'), ], compute: (continuation, { [input.myself()]: myself, [input('dimensionsFromThingProperty')]: dimensionsFromThingProperty, [input('fileExtensionFromThingProperty')]: fileExtensionFromThingProperty, + [input('dateFromThingProperty')]: dateFromThingProperty, [input('artistContribsFromThingProperty')]: artistContribsFromThingProperty, [input('artistContribsArtistProperty')]: artistContribsArtistProperty, - [input('dateFromThingProperty')]: dateFromThingProperty, + [input('artTagsFromThingProperty')]: artTagsFromThingProperty, }) => continuation({ ['#constitutedArtwork']: Object.assign(new thingConstructors.Artwork, { @@ -41,6 +44,7 @@ export default templateCompositeFrom({ fileExtensionFromThingProperty, artistContribsFromThingProperty, artistContribsArtistProperty, + artTagsFromThingProperty, dateFromThingProperty, }), }), diff --git a/src/data/composite/wiki-properties/constitutibleArtwork.js b/src/data/composite/wiki-properties/constitutibleArtwork.js index 9f7ba13e..fdd0e56a 100644 --- a/src/data/composite/wiki-properties/constitutibleArtwork.js +++ b/src/data/composite/wiki-properties/constitutibleArtwork.js @@ -19,9 +19,10 @@ const template = templateCompositeFrom({ inputs: { dimensionsFromThingProperty: input({type: 'string', acceptsNull: true}), fileExtensionFromThingProperty: input({type: 'string', acceptsNull: true}), + dateFromThingProperty: input({type: 'string', acceptsNull: true}), artistContribsFromThingProperty: input({type: 'string', acceptsNull: true}), artistContribsArtistProperty: input({type: 'string', acceptsNull: true}), - dateFromThingProperty: input({type: 'string', acceptsNull: true}), + artTagsFromThingProperty: input({type: 'string', acceptsNull: true}), }, steps: () => [ @@ -35,9 +36,10 @@ const template = templateCompositeFrom({ withConstitutedArtwork({ dimensionsFromThingProperty: input('dimensionsFromThingProperty'), fileExtensionFromThingProperty: input('fileExtensionFromThingProperty'), + dateFromThingProperty: input('dateFromThingProperty'), artistContribsFromThingProperty: input('artistContribsFromThingProperty'), artistContribsArtistProperty: input('artistContribsArtistProperty'), - dateFromThingProperty: input('dateFromThingProperty'), + artTagsFromThingProperty: input('artTagsFromThingProperty'), }), exposeDependency({ diff --git a/src/data/composite/wiki-properties/constitutibleArtworkList.js b/src/data/composite/wiki-properties/constitutibleArtworkList.js index 29e6c774..f54e6def 100644 --- a/src/data/composite/wiki-properties/constitutibleArtworkList.js +++ b/src/data/composite/wiki-properties/constitutibleArtworkList.js @@ -18,9 +18,10 @@ const template = templateCompositeFrom({ inputs: { dimensionsFromThingProperty: input({type: 'string', acceptsNull: true}), fileExtensionFromThingProperty: input({type: 'string', acceptsNull: true}), + dateFromThingProperty: input({type: 'string', acceptsNull: true}), artistContribsFromThingProperty: input({type: 'string', acceptsNull: true}), artistContribsArtistProperty: input({type: 'string', acceptsNull: true}), - dateFromThingProperty: input({type: 'string', acceptsNull: true}), + artTagsFromThingProperty: input({type: 'string', acceptsNull: true}), }, steps: () => [ @@ -34,9 +35,10 @@ const template = templateCompositeFrom({ withConstitutedArtwork({ dimensionsFromThingProperty: input('dimensionsFromThingProperty'), fileExtensionFromThingProperty: input('fileExtensionFromThingProperty'), + dateFromThingProperty: input('dateFromThingProperty'), artistContribsFromThingProperty: input('artistContribsFromThingProperty'), artistContribsArtistProperty: input('artistContribsArtistProperty'), - dateFromThingProperty: input('dateFromThingProperty'), + artTagsFromThingProperty: input('artTagsFromThingProperty'), }), { diff --git a/src/data/things/album.js b/src/data/things/album.js index 7c85366a..613bbc28 100644 --- a/src/data/things/album.js +++ b/src/data/things/album.js @@ -505,6 +505,7 @@ export class Album extends Thing { dateFromThingProperty: 'coverArtDate', artistContribsFromThingProperty: 'coverArtistContribs', artistContribsArtistProperty: 'albumCoverArtistContributions', + artTagsFromThingProperty: 'artTags', }), }, diff --git a/src/data/things/artwork.js b/src/data/things/artwork.js index 65032d86..1c9872f7 100644 --- a/src/data/things/artwork.js +++ b/src/data/things/artwork.js @@ -179,6 +179,8 @@ export class Artwork extends Thing { }), ], + artTagsFromThingProperty: simpleString(), + artTags: [ withResolvedReferenceList({ list: input.updateValue({ @@ -194,13 +196,20 @@ export class Artwork extends Thing { mode: input.value('empty'), }), + exitWithoutDependency({ + dependency: 'artTagsFromThingProperty', + value: input.value([]), + }), + withPropertyFromObject({ object: 'thing', - property: input.value('artTags'), + property: 'artTagsFromThingProperty', + }).outputs({ + ['#value']: '#artTags', }), exposeDependencyOrContinue({ - dependency: '#thing.artTags', + dependency: '#artTags', }), exposeConstant({ diff --git a/src/data/things/track.js b/src/data/things/track.js index 2d2cc002..d7cb2b58 100644 --- a/src/data/things/track.js +++ b/src/data/things/track.js @@ -533,6 +533,7 @@ export class Track extends Thing { dimensionsFromThingProperty: 'coverArtDimensions', fileExtensionFromThingProperty: 'coverArtFileExtension', dateFromThingProperty: 'coverArtDate', + artTagsFromThingProperty: 'artTags', artistContribsFromThingProperty: 'coverArtistContribs', artistContribsArtistProperty: 'trackCoverArtistContributions', }), diff --git a/src/data/yaml.js b/src/data/yaml.js index 07dbe882..a7248f56 100644 --- a/src/data/yaml.js +++ b/src/data/yaml.js @@ -791,11 +791,12 @@ export function parseAnnotatedReferences(entries, { export function parseArtwork({ single = false, - dimensionsFromThingProperty, - fileExtensionFromThingProperty, - dateFromThingProperty, - artistContribsFromThingProperty, - artistContribsArtistProperty, + dimensionsFromThingProperty = null, + fileExtensionFromThingProperty = null, + dateFromThingProperty = null, + artistContribsFromThingProperty = null, + artistContribsArtistProperty = null, + artTagsFromThingProperty = null, }) { const provide = { dimensionsFromThingProperty, @@ -803,6 +804,7 @@ export function parseArtwork({ dateFromThingProperty, artistContribsFromThingProperty, artistContribsArtistProperty, + artTagsFromThingProperty, }; const parseSingleEntry = (entry, {subdoc, Artwork}) => |