diff options
author | (quasar) nebula <qznebula@protonmail.com> | 2023-11-04 21:22:53 -0300 |
---|---|---|
committer | (quasar) nebula <qznebula@protonmail.com> | 2023-11-04 21:22:53 -0300 |
commit | 0175df41994ed44d2dded79ac21badf463140e14 (patch) | |
tree | 950f92e8ee963fced5b16d4e5052e6d9d38950b4 /src/data/things/composite.js | |
parent | 8e174abde6a6b9b46e2cf885115c58bedcfd0802 (diff) | |
parent | 527e4618fdc57d80ac79ca9ceb3eed60fca90d6b (diff) |
Merge branch 'fast-link-wiki-data' into preview
Diffstat (limited to 'src/data/things/composite.js')
-rw-r--r-- | src/data/things/composite.js | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/data/things/composite.js b/src/data/things/composite.js index 51525bc1..113f0a4f 100644 --- a/src/data/things/composite.js +++ b/src/data/things/composite.js @@ -637,6 +637,10 @@ export function compositeFrom(description) { const compositionNests = description.compose ?? true; + if (compositionNests && empty(steps)) { + aggregate.push(new TypeError(`Expected at least one step`)); + } + // Steps default to exposing if using a shorthand syntax where flags aren't // specified at all. const stepsExpose = @@ -802,8 +806,8 @@ export function compositeFrom(description) { }); } - if (!compositionNests && !anyStepsCompute && !anyStepsTransform) { - aggregate.push(new TypeError(`Expected at least one step to compute or transform`)); + if (!compositionNests && !compositionUpdates && !anyStepsCompute) { + aggregate.push(new TypeError(`Expected at least one step to compute`)); } aggregate.close(); @@ -1241,8 +1245,10 @@ export function compositeFrom(description) { expose.cache = base.cacheComposition; } } else if (compositionUpdates) { - expose.transform = (value, dependencies) => - _wrapper(value, null, dependencies); + if (!empty(steps)) { + expose.transform = (value, dependencies) => + _wrapper(value, null, dependencies); + } } else { expose.compute = (dependencies) => _wrapper(noTransformSymbol, null, dependencies); |