diff options
author | (quasar) nebula <qznebula@protonmail.com> | 2025-04-10 13:53:22 -0300 |
---|---|---|
committer | (quasar) nebula <qznebula@protonmail.com> | 2025-04-10 16:02:43 -0300 |
commit | adfdef1310578fb990a302b8004590c3fcec1d53 (patch) | |
tree | 5bdaf93c39487fbccd4e5591c0a4e8e828df91fd /src/data | |
parent | 37d8572baa3e77e28a0f4df320fcbfa44b751cb8 (diff) |
data: Artwork.dimensions
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 | 3 | ||||
-rw-r--r-- | src/data/things/artwork.js | 24 | ||||
-rw-r--r-- | src/data/things/track.js | 1 | ||||
-rw-r--r-- | src/data/yaml.js | 2 |
7 files changed, 38 insertions, 0 deletions
diff --git a/src/data/composite/wiki-data/withConstitutedArtwork.js b/src/data/composite/wiki-data/withConstitutedArtwork.js index 16faa2a9..ab3c45e0 100644 --- a/src/data/composite/wiki-data/withConstitutedArtwork.js +++ b/src/data/composite/wiki-data/withConstitutedArtwork.js @@ -6,6 +6,7 @@ export default templateCompositeFrom({ annotation: `withConstitutedArtwork`, inputs: { + dimensionsFromThingProperty: input({type: 'string', acceptsNull: true}), fileExtensionFromThingProperty: input({type: 'string'}), artistContribsFromThingProperty: input({type: 'string'}), artistContribsArtistProperty: input({type: 'string'}), @@ -18,6 +19,7 @@ export default templateCompositeFrom({ { dependencies: [ input.myself(), + input('dimensionsFromThingProperty'), input('fileExtensionFromThingProperty'), input('artistContribsFromThingProperty'), input('artistContribsArtistProperty'), @@ -26,6 +28,7 @@ export default templateCompositeFrom({ compute: (continuation, { [input.myself()]: myself, + [input('dimensionsFromThingProperty')]: dimensionsFromThingProperty, [input('fileExtensionFromThingProperty')]: fileExtensionFromThingProperty, [input('artistContribsFromThingProperty')]: artistContribsFromThingProperty, [input('artistContribsArtistProperty')]: artistContribsArtistProperty, @@ -34,6 +37,7 @@ export default templateCompositeFrom({ ['#constitutedArtwork']: Object.assign(new thingConstructors.Artwork, { thing: myself, + dimensionsFromThingProperty, fileExtensionFromThingProperty, artistContribsFromThingProperty, artistContribsArtistProperty, diff --git a/src/data/composite/wiki-properties/constitutibleArtwork.js b/src/data/composite/wiki-properties/constitutibleArtwork.js index fc5612ba..870e44c7 100644 --- a/src/data/composite/wiki-properties/constitutibleArtwork.js +++ b/src/data/composite/wiki-properties/constitutibleArtwork.js @@ -17,6 +17,7 @@ const template = templateCompositeFrom({ compose: false, inputs: { + dimensionsFromThingProperty: input({type: 'string', acceptsNull: true}), fileExtensionFromThingProperty: input({type: 'string'}), artistContribsFromThingProperty: input({type: 'string'}), artistContribsArtistProperty: input({type: 'string'}), @@ -32,6 +33,7 @@ const template = templateCompositeFrom({ }), withConstitutedArtwork({ + dimensionsFromThingProperty: input('dimensionsFromThingProperty'), fileExtensionFromThingProperty: input('fileExtensionFromThingProperty'), artistContribsFromThingProperty: input('artistContribsFromThingProperty'), artistContribsArtistProperty: input('artistContribsArtistProperty'), diff --git a/src/data/composite/wiki-properties/constitutibleArtworkList.js b/src/data/composite/wiki-properties/constitutibleArtworkList.js index 7fc4bbc0..6a48cba8 100644 --- a/src/data/composite/wiki-properties/constitutibleArtworkList.js +++ b/src/data/composite/wiki-properties/constitutibleArtworkList.js @@ -16,6 +16,7 @@ const template = templateCompositeFrom({ compose: false, inputs: { + dimensionsFromThingProperty: input({type: 'string', acceptsNull: true}), fileExtensionFromThingProperty: input({type: 'string'}), artistContribsFromThingProperty: input({type: 'string'}), artistContribsArtistProperty: input({type: 'string'}), @@ -31,6 +32,7 @@ const template = templateCompositeFrom({ }), withConstitutedArtwork({ + dimensionsFromThingProperty: input('dimensionsFromThingProperty'), fileExtensionFromThingProperty: input('fileExtensionFromThingProperty'), artistContribsFromThingProperty: input('artistContribsFromThingProperty'), artistContribsArtistProperty: input('artistContribsArtistProperty'), diff --git a/src/data/things/album.js b/src/data/things/album.js index e0d9884f..7c85366a 100644 --- a/src/data/things/album.js +++ b/src/data/things/album.js @@ -500,6 +500,7 @@ export class Album extends Thing { property: 'coverArtworks', transform: parseArtwork({ + dimensionsFromThingProperty: 'coverArtDimensions', fileExtensionFromThingProperty: 'coverArtFileExtension', dateFromThingProperty: 'coverArtDate', artistContribsFromThingProperty: 'coverArtistContribs', @@ -512,6 +513,7 @@ export class Album extends Thing { transform: parseArtwork({ single: true, + dimensionsFromThingProperty: 'bannerDimensions', fileExtensionFromThingProperty: 'bannerFileExtension', dateFromThingProperty: 'date', artistContribsFromThingProperty: 'bannerArtistContribs', @@ -524,6 +526,7 @@ export class Album extends Thing { transform: parseArtwork({ single: true, + dimensionsFromThingProperty: null, fileExtensionFromThingProperty: 'wallpaperFileExtension', dateFromThingProperty: 'date', artistContribsFromThingProperty: 'wallpaperArtistContribs', diff --git a/src/data/things/artwork.js b/src/data/things/artwork.js index fabbf625..93f238f2 100644 --- a/src/data/things/artwork.js +++ b/src/data/things/artwork.js @@ -9,6 +9,7 @@ import { isContentString, isContributionList, isDate, + isDimensions, isFileExtension, optional, validateArrayItems, @@ -112,6 +113,29 @@ export class Artwork extends Thing { }), ], + dimensionsFromThingProperty: simpleString(), + + dimensions: [ + exposeUpdateValueOrContinue({ + validate: input.value(isDimensions), + }), + + withPropertyFromObject({ + object: 'thing', + property: 'dimensionsFromThingProperty', + }).outputs({ + ['#value']: '#dimensionsFromThing', + }), + + exposeDependencyOrContinue({ + dependency: '#dimensionsFromThing', + }), + + exposeConstant({ + value: input.value(null), + }), + ], + artistContribsFromThingProperty: simpleString(), artistContribsArtistProperty: simpleString(), diff --git a/src/data/things/track.js b/src/data/things/track.js index c2ba503b..4f5d7a59 100644 --- a/src/data/things/track.js +++ b/src/data/things/track.js @@ -528,6 +528,7 @@ export class Track extends Thing { property: 'trackArtworks', transform: parseArtwork({ + dimensionsFromThingProperty: 'coverArtDimensions', fileExtensionFromThingProperty: 'coverArtFileExtension', dateFromThingProperty: 'coverArtDate', artistContribsFromThingProperty: 'coverArtistContribs', diff --git a/src/data/yaml.js b/src/data/yaml.js index f5944a99..07dbe882 100644 --- a/src/data/yaml.js +++ b/src/data/yaml.js @@ -791,12 +791,14 @@ export function parseAnnotatedReferences(entries, { export function parseArtwork({ single = false, + dimensionsFromThingProperty, fileExtensionFromThingProperty, dateFromThingProperty, artistContribsFromThingProperty, artistContribsArtistProperty, }) { const provide = { + dimensionsFromThingProperty, fileExtensionFromThingProperty, dateFromThingProperty, artistContribsFromThingProperty, |