Add .unaryValue
to ExecutionValue
#2324
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
ExecutionValue comes in two flavours: batch and unary. Unary has a
.value
and batch has a.entries
. Previously we included: never
versions of each of these to make access easier, but this could lead to mistakes. This interface has been removed (:rotating_light: breaking! but only the types) so you'll need to narrow via .isBatch before you can use the relevant property.When you knew an execution value was unary, you could use
.at(0)
to access its value; however this was risky because there was no assertion that the value is unary. To help mitigate this, I've added the new.unaryValue()
method which asserts that the value is unary and then accesses the singular value from it; this should make code safer when you know a$step
should be unary due to callingthis.addUnaryDependency($step)
.Performance impact
Negligible.
Security impact
Improvement: increased safety. Risk: assertions.
Checklist
yarn lint:fix
passes.yarn test
passes.RELEASE_NOTES.md
file (if one exists).