Allow disabling default Optional values in CreationContext #931
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.
DTOs that have properties using the
Optional
type can be a little painful to work with when creating the DTO in a context where you'd rather have a missing value be resolved tonull
. This can happen when preparing a DTO on the server-side, later to be converted to a JSON payload. For instance, when an Eloquent model is converted to array, it may not include all the keys for the DTO - which would result inOptional
type being used for the matching properties.This PR makes it possible to control whether the
DefaultValuesPipeline
will set properties that support theOptional
type toOptional
, or fall back tonull
(if allowed by the property).See the docs diff for usage.