From 3ec014c234ae8979a32989d9acbc0ac360914abb Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Wed, 26 Nov 2025 20:22:33 -0400 Subject: data: Artwork: chop withAttachedArtwork & friends --- src/data/composite/things/artwork/index.js | 3 - .../things/artwork/withAttachedArtwork.js | 43 -------------- .../artwork/withContribsFromAttachedArtwork.js | 27 --------- .../artwork/withPropertyFromAttachedArtwork.js | 65 ---------------------- src/data/things/artwork.js | 50 +++++++++++++---- 5 files changed, 39 insertions(+), 149 deletions(-) delete mode 100644 src/data/composite/things/artwork/withAttachedArtwork.js delete mode 100644 src/data/composite/things/artwork/withContribsFromAttachedArtwork.js delete mode 100644 src/data/composite/things/artwork/withPropertyFromAttachedArtwork.js (limited to 'src/data') diff --git a/src/data/composite/things/artwork/index.js b/src/data/composite/things/artwork/index.js index 3693c10f..e2661b50 100644 --- a/src/data/composite/things/artwork/index.js +++ b/src/data/composite/things/artwork/index.js @@ -1,5 +1,2 @@ -export {default as withAttachedArtwork} from './withAttachedArtwork.js'; export {default as withContainingArtworkList} from './withContainingArtworkList.js'; -export {default as withContribsFromAttachedArtwork} from './withContribsFromAttachedArtwork.js'; export {default as withDate} from './withDate.js'; -export {default as withPropertyFromAttachedArtwork} from './withPropertyFromAttachedArtwork.js'; diff --git a/src/data/composite/things/artwork/withAttachedArtwork.js b/src/data/composite/things/artwork/withAttachedArtwork.js deleted file mode 100644 index d7c0d87b..00000000 --- a/src/data/composite/things/artwork/withAttachedArtwork.js +++ /dev/null @@ -1,43 +0,0 @@ -import {input, templateCompositeFrom} from '#composite'; - -import {flipFilter, raiseOutputWithoutDependency} - from '#composite/control-flow'; -import {withNearbyItemFromList, withPropertyFromList} from '#composite/data'; - -import withContainingArtworkList from './withContainingArtworkList.js'; - -export default templateCompositeFrom({ - annotaion: `withContribsFromMainArtwork`, - - outputs: ['#attachedArtwork'], - - steps: () => [ - raiseOutputWithoutDependency({ - dependency: 'attachAbove', - mode: input.value('falsy'), - output: input.value({'#attachedArtwork': null}), - }), - - withContainingArtworkList(), - - withPropertyFromList({ - list: '#containingArtworkList', - property: input.value('attachAbove'), - }), - - flipFilter({ - filter: '#containingArtworkList.attachAbove', - }).outputs({ - '#containingArtworkList.attachAbove': '#filterNotAttached', - }), - - withNearbyItemFromList({ - list: '#containingArtworkList', - item: input.myself(), - offset: input.value(-1), - filter: '#filterNotAttached', - }).outputs({ - '#nearbyItem': '#attachedArtwork', - }), - ], -}); diff --git a/src/data/composite/things/artwork/withContribsFromAttachedArtwork.js b/src/data/composite/things/artwork/withContribsFromAttachedArtwork.js deleted file mode 100644 index e9425c95..00000000 --- a/src/data/composite/things/artwork/withContribsFromAttachedArtwork.js +++ /dev/null @@ -1,27 +0,0 @@ -import {input, templateCompositeFrom} from '#composite'; - -import {raiseOutputWithoutDependency} from '#composite/control-flow'; -import {withRecontextualizedContributionList} from '#composite/wiki-data'; - -import withPropertyFromAttachedArtwork from './withPropertyFromAttachedArtwork.js'; - -export default templateCompositeFrom({ - annotaion: `withContribsFromAttachedArtwork`, - - outputs: ['#attachedArtwork.artistContribs'], - - steps: () => [ - withPropertyFromAttachedArtwork({ - property: input.value('artistContribs'), - }), - - raiseOutputWithoutDependency({ - dependency: '#attachedArtwork.artistContribs', - output: input.value({'#attachedArtwork.artistContribs': null}), - }), - - withRecontextualizedContributionList({ - list: '#attachedArtwork.artistContribs', - }), - ], -}); diff --git a/src/data/composite/things/artwork/withPropertyFromAttachedArtwork.js b/src/data/composite/things/artwork/withPropertyFromAttachedArtwork.js deleted file mode 100644 index a2f954b9..00000000 --- a/src/data/composite/things/artwork/withPropertyFromAttachedArtwork.js +++ /dev/null @@ -1,65 +0,0 @@ -import {input, templateCompositeFrom} from '#composite'; - -import {withResultOfAvailabilityCheck} from '#composite/control-flow'; -import {withPropertyFromObject} from '#composite/data'; - -import withAttachedArtwork from './withAttachedArtwork.js'; - -function getOutputName({ - [input.staticValue('property')]: property, -}) { - if (property) { - return `#attachedArtwork.${property}`; - } else { - return '#value'; - } -} - -export default templateCompositeFrom({ - annotation: `withPropertyFromAttachedArtwork`, - - inputs: { - property: input({type: 'string'}), - }, - - outputs: inputs => [getOutputName(inputs)], - - steps: () => [ - { - dependencies: [input.staticValue('property')], - compute: (continuation, inputs) => - continuation({'#output': getOutputName(inputs)}), - }, - - withAttachedArtwork(), - - withResultOfAvailabilityCheck({ - from: '#attachedArtwork', - }), - - { - dependencies: ['#availability', '#output'], - compute: (continuation, { - ['#availability']: availability, - ['#output']: output, - }) => - (availability - ? continuation() - : continuation.raiseOutput({[output]: null})), - }, - - withPropertyFromObject({ - object: '#attachedArtwork', - property: input('property'), - }), - - { - dependencies: ['#value', '#output'], - compute: (continuation, { - ['#value']: value, - ['#output']: output, - }) => - continuation.raiseOutput({[output]: value}), - }, - ], -}); diff --git a/src/data/things/artwork.js b/src/data/things/artwork.js index d8f7458a..8958bf80 100644 --- a/src/data/things/artwork.js +++ b/src/data/things/artwork.js @@ -31,10 +31,12 @@ import { exposeDependency, exposeDependencyOrContinue, exposeUpdateValueOrContinue, + flipFilter, } from '#composite/control-flow'; import { withFilteredList, + withNearbyItemFromList, withPropertyFromList, withPropertyFromObject, } from '#composite/data'; @@ -58,13 +60,8 @@ import { wikiData, } from '#composite/wiki-properties'; -import { - withAttachedArtwork, - withContainingArtworkList, - withContribsFromAttachedArtwork, - withDate, - withPropertyFromAttachedArtwork, -} from '#composite/things/artwork'; +import {withContainingArtworkList, withDate} + from '#composite/things/artwork'; export class Artwork extends Thing { static [Thing.referenceType] = 'artwork'; @@ -190,7 +187,14 @@ export class Artwork extends Thing { mode: input.value('empty'), }), - withContribsFromAttachedArtwork(), + withPropertyFromObject({ + object: 'attachedArtwork', + property: input.value('artistContribs'), + }), + + withRecontextualizedContributionList({ + list: '#attachedArtwork.artistContribs', + }), exposeDependencyOrContinue({ dependency: '#attachedArtwork.artistContribs', @@ -235,7 +239,8 @@ export class Artwork extends Thing { mode: input.value('empty'), }), - withPropertyFromAttachedArtwork({ + withPropertyFromObject({ + object: 'attachedArtwork', property: input.value('artTags'), }), @@ -376,10 +381,33 @@ export class Artwork extends Thing { ], attachedArtwork: [ - withAttachedArtwork(), + exitWithoutDependency({ + dependency: 'attachAbove', + mode: input.value('falsy'), + }), + + withContainingArtworkList(), + + withPropertyFromList({ + list: '#containingArtworkList', + property: input.value('attachAbove'), + }), + + flipFilter({ + filter: '#containingArtworkList.attachAbove', + }).outputs({ + '#containingArtworkList.attachAbove': '#filterNotAttached', + }), + + withNearbyItemFromList({ + list: '#containingArtworkList', + item: input.myself(), + offset: input.value(-1), + filter: '#filterNotAttached', + }), exposeDependency({ - dependency: '#attachedArtwork', + dependency: '#nearbyItem', }), ], -- cgit 1.3.0-6-gf8a5