From 320ea651bdb2ed58d79e7f5fc11c6a65f88ad047 Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Wed, 26 Nov 2025 21:35:39 -0400 Subject: data: constituteFrom, constituteOrContinue --- src/data/composite/wiki-data/constituteFrom.js | 31 ++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/data/composite/wiki-data/constituteFrom.js (limited to 'src/data/composite/wiki-data/constituteFrom.js') diff --git a/src/data/composite/wiki-data/constituteFrom.js b/src/data/composite/wiki-data/constituteFrom.js new file mode 100644 index 00000000..12c36c78 --- /dev/null +++ b/src/data/composite/wiki-data/constituteFrom.js @@ -0,0 +1,31 @@ +import {input, templateCompositeFrom} from '#composite'; + +import {inputAvailabilityCheckMode,} from '#composite/control-flow'; + +import constituteOrContinue from './constituteOrContinue.js'; + +export default templateCompositeFrom({ + annotation: `constituteFrom`, + + inputs: { + property: input({type: 'string', acceptsNull: true}), + from: input({type: 'object', acceptsNull: true}), + else: input({defaultValue: null}), + mode: inputAvailabilityCheckMode(), + }, + + compose: false, + + steps: () => [ + constituteOrContinue({ + property: input('property'), + from: input('from'), + mode: input('mode'), + }), + + { + dependencies: [input('else')], + compute: ({[input('else')]: fallback}) => fallback, + }, + ], +}); -- cgit 1.3.0-6-gf8a5