Closed jaredoconnell closed 2 months ago
Are there any edge cases that you know of that are intentionally left uncovered by these tests?
Are there any edge cases that you know of that are intentionally left uncovered by these tests?
Theoretically a soft-optional dependency could be included in more test cases, including alongside ORs, but that feature is, by design, not as reliable, and I didn't want to make the tests too fragile.
Changes introduced with this PR
This PR adds two more ways of specifying inferred inputs/outputs:
!wait-optional
- Creates a completion dependency that still resolves if the referenced expression fails, but it will wait until either it resolves or it is marked unresolvable. This is the one intended for most use cases. For example, if you don't care if a step succeeds or crashes,!wait-optional
is the best one for that use case. But if you want the output to only resolve when the step is disabled or succeeds, but not if it crashes, you must use!ordisabled
.!soft-optional
- Creates an optional dependency that does not effect resolution of the object. There are no order guarantees, so this field is only intended for things that really do not matter strongly for the output.These expressions may only be used as fields properties within an object. The fields will be marked as optional.
By contributing to this repository, I agree to the contribution guidelines.