Change orElse and orNone to work on missing keys #124
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.
ConfigError#isMissingKey
for checking whether an error occurred because the key was missing from theConfigSource
(for combined errors, whether all errors are due to missing keys).ConfigValue#orElse
andorNone
to only use the alternative value (orNone
) if the error is because of missing keys, as determined byConfigError#isMissingKey
.For example, previously, a type conversion error for
PORT
in the following example:would result in using the fallback values. This is probably not what you would expect, and this pull request changes
orElse
andorNone
to only use fallback values if all previous errors are because of missing keys. In this example, we would stop at the environment variablePORT
, because it was set but not of the expected type.