From e8964d7a9f9dc787d4d84c0554d22149bb2daa0c Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Mon, 31 Mar 2025 15:04:20 -0300 Subject: data: Artwork, constitutibleArtwork, etc Not used in content yet. --- src/data/composite/things/artwork/index.js | 1 + src/data/composite/things/artwork/withDate.js | 35 +++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 src/data/composite/things/artwork/index.js create mode 100644 src/data/composite/things/artwork/withDate.js (limited to 'src/data/composite/things/artwork') diff --git a/src/data/composite/things/artwork/index.js b/src/data/composite/things/artwork/index.js new file mode 100644 index 00000000..b92bff72 --- /dev/null +++ b/src/data/composite/things/artwork/index.js @@ -0,0 +1 @@ +export {default as withDate} from './withDate.js'; diff --git a/src/data/composite/things/artwork/withDate.js b/src/data/composite/things/artwork/withDate.js new file mode 100644 index 00000000..08f1427c --- /dev/null +++ b/src/data/composite/things/artwork/withDate.js @@ -0,0 +1,35 @@ +import {input, templateCompositeFrom} from '#composite'; + +import {withPropertyFromObject} from '#composite/data'; + +export default templateCompositeFrom({ + annotation: `withDate`, + + inputs: { + from: input({ + defaultDependency: 'date', + acceptsNull: true, + }), + }, + + outputs: ['#date'], + + steps: () => [ + { + dependencies: [input('from')], + compute: (continuation, { + [input('from')]: date, + }) => + (date + ? continuation.raiseOutput({'#date': date}) + : continuation()), + }, + + withPropertyFromObject({ + object: 'thing', + property: 'dateFromThingProperty', + }).outputs({ + ['#value']: '#date', + }), + ], +}) -- cgit 1.3.0-6-gf8a5