From a1bfa1d0d68890ebd5811bd46455d10be4bbc17d Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Wed, 4 Oct 2023 13:16:50 -0300 Subject: support art tag info pages; ensure "art tag" terminology everywhere --- src/data/composite/things/art-tag/index.js | 2 +- .../things/art-tag/withAllDescendantArtTags.js | 45 ++++++++++++++++++++++ .../things/art-tag/withAllDescendantTags.js | 45 ---------------------- 3 files changed, 46 insertions(+), 46 deletions(-) create mode 100644 src/data/composite/things/art-tag/withAllDescendantArtTags.js delete mode 100644 src/data/composite/things/art-tag/withAllDescendantTags.js (limited to 'src/data/composite/things') diff --git a/src/data/composite/things/art-tag/index.js b/src/data/composite/things/art-tag/index.js index aedc3a0c..0c365ce2 100644 --- a/src/data/composite/things/art-tag/index.js +++ b/src/data/composite/things/art-tag/index.js @@ -1 +1 @@ -export {default as withAllDescendantTags} from './withAllDescendantTags.js'; +export {default as withAllDescendantArtTags} from './withAllDescendantArtTags.js'; diff --git a/src/data/composite/things/art-tag/withAllDescendantArtTags.js b/src/data/composite/things/art-tag/withAllDescendantArtTags.js new file mode 100644 index 00000000..c643cf23 --- /dev/null +++ b/src/data/composite/things/art-tag/withAllDescendantArtTags.js @@ -0,0 +1,45 @@ +// Gets all the art tags which descend from this one - that means its own direct +// descendants, but also all the direct and indirect desceands of each of those! +// The results aren't specially sorted, but they won't contain any duplicates +// (for example if two descendant tags both route deeper to end up including +// some of the same tags). + +import {input, templateCompositeFrom} from '#composite'; +import find from '#find'; +import {unique} from '#sugar'; + +import {raiseOutputWithoutDependency} from '#composite/control-flow'; +import {withResolvedReferenceList} from '#composite/wiki-data'; + +export default templateCompositeFrom({ + annotation: `withAllDescendantArtTags`, + + outputs: ['#allDescendantArtTags'], + + steps: () => [ + raiseOutputWithoutDependency({ + dependency: 'directDescendantArtTags', + mode: input.value('empty'), + output: input.value({'#allDescendantArtTags': []}) + }), + + withResolvedReferenceList({ + list: 'directDescendantArtTags', + data: 'artTagData', + find: input.value(find.artTag), + }), + + { + dependencies: ['#resolvedReferenceList'], + compute: (continuation, { + ['#resolvedReferenceList']: directDescendantArtTags, + }) => continuation({ + ['#allDescendantArtTags']: + unique([ + ...directDescendantArtTags, + ...directDescendantArtTags.flatMap(artTag => artTag.allDescendantArtTags), + ]), + }), + }, + ], +}) diff --git a/src/data/composite/things/art-tag/withAllDescendantTags.js b/src/data/composite/things/art-tag/withAllDescendantTags.js deleted file mode 100644 index b832e529..00000000 --- a/src/data/composite/things/art-tag/withAllDescendantTags.js +++ /dev/null @@ -1,45 +0,0 @@ -// Gets all the tags which descend from this one - that means its own direct -// descendants, but also all the direct and indirect desceands of each of those! -// The results aren't specially sorted, but they won't contain any duplicates -// (for example if two descendant tags both route deeper to end up including -// some of the same tags). - -import {input, templateCompositeFrom} from '#composite'; -import find from '#find'; -import {unique} from '#sugar'; - -import {raiseOutputWithoutDependency} from '#composite/control-flow'; -import {withResolvedReferenceList} from '#composite/wiki-data'; - -export default templateCompositeFrom({ - annotation: `withAllDescendantTags`, - - outputs: ['#allDescendantTags'], - - steps: () => [ - raiseOutputWithoutDependency({ - dependency: 'directDescendantTags', - mode: input.value('empty'), - output: input.value({'#allDescendantTags': []}) - }), - - withResolvedReferenceList({ - list: 'directDescendantTags', - data: 'artTagData', - find: input.value(find.artTag), - }), - - { - dependencies: ['#resolvedReferenceList'], - compute: (continuation, { - ['#resolvedReferenceList']: directDescendantTags, - }) => continuation({ - ['#allDescendantTags']: - unique([ - ...directDescendantTags, - ...directDescendantTags.flatMap(tag => tag.allDescendantTags), - ]), - }), - }, - ], -}) -- cgit 1.3.0-6-gf8a5