diff options
| author | (quasar) nebula <qznebula@protonmail.com> | 2025-11-26 21:35:39 -0400 |
|---|---|---|
| committer | (quasar) nebula <qznebula@protonmail.com> | 2025-11-26 21:35:39 -0400 |
| commit | 320ea651bdb2ed58d79e7f5fc11c6a65f88ad047 (patch) | |
| tree | d3267aa203095769f20c3e18918233568429c03e /src/data/composite/wiki-data/constituteFrom.js | |
| parent | 3ec014c234ae8979a32989d9acbc0ac360914abb (diff) | |
data: constituteFrom, constituteOrContinue
Diffstat (limited to 'src/data/composite/wiki-data/constituteFrom.js')
| -rw-r--r-- | src/data/composite/wiki-data/constituteFrom.js | 31 |
1 files changed, 31 insertions, 0 deletions
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, + }, + ], +}); |