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/constituteOrContinue.js | |
| parent | 3ec014c234ae8979a32989d9acbc0ac360914abb (diff) | |
data: constituteFrom, constituteOrContinue
Diffstat (limited to 'src/data/composite/wiki-data/constituteOrContinue.js')
| -rw-r--r-- | src/data/composite/wiki-data/constituteOrContinue.js | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/data/composite/wiki-data/constituteOrContinue.js b/src/data/composite/wiki-data/constituteOrContinue.js new file mode 100644 index 00000000..3527976e --- /dev/null +++ b/src/data/composite/wiki-data/constituteOrContinue.js @@ -0,0 +1,34 @@ +import {input, templateCompositeFrom} from '#composite'; + +import {withPropertyFromObject} from '#composite/data'; + +import { + exposeDependencyOrContinue, + inputAvailabilityCheckMode, + raiseOutputWithoutDependency, +} from '#composite/control-flow'; + +export default templateCompositeFrom({ + annotation: `constituteFrom`, + + inputs: { + property: input({type: 'string', acceptsNull: true}), + from: input({type: 'object', acceptsNull: true}), + mode: inputAvailabilityCheckMode(), + }, + + steps: () => [ + raiseOutputWithoutDependency({ + dependency: input('property'), + }), + + withPropertyFromObject({ + property: input('property'), + object: input('from'), + }), + + exposeDependencyOrContinue({ + dependency: '#value', + }), + ], +}); |