diff options
author | (quasar) nebula <qznebula@protonmail.com> | 2023-09-23 20:35:57 -0300 |
---|---|---|
committer | (quasar) nebula <qznebula@protonmail.com> | 2023-09-23 20:35:57 -0300 |
commit | f3d98f5ea63db7f7b2155e7efb0812f025c5bcf3 (patch) | |
tree | 0c98d998b42da9f1f6f57a5fc49c93635bd8a1bc /src | |
parent | 8bcae16b391762f6b533654ec06c3bf0c8770d35 (diff) |
data, test: collate update description from composition inputs
Diffstat (limited to 'src')
-rw-r--r-- | src/data/things/composite.js | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/data/things/composite.js b/src/data/things/composite.js index c0f0ab0b..34e550a1 100644 --- a/src/data/things/composite.js +++ b/src/data/things/composite.js @@ -837,6 +837,16 @@ export function compositeFrom(description) { .filter(dependency => isInputToken(dependency)) .some(token => getInputTokenShape(token) === 'input.updateValue'); + // Update descriptions passed as the value in an input.updateValue() token, + // as provided as inputs for this composition. + const inputUpdateDescriptions = + Object.values(description.inputs ?? {}) + .map(token => + (getInputTokenShape(token) === 'input.updateValue' + ? getInputTokenValue(token) + : null)) + .filter(Boolean); + const base = composition.at(-1); const steps = composition.slice(); @@ -1396,6 +1406,7 @@ export function compositeFrom(description) { constructedDescriptor.update = Object.assign( {...description.update ?? {}}, + ...inputUpdateDescriptions, ...stepUpdateDescriptions.flat()); } |