feat(mapped-types): add skip null properties option to partial type #1274
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.
With this change, you can create a partial class which does not ignore validations on
null
properties, but ignores validations onundefined
properties. Previously, every class created with PartialType ignored validations onnull
properties, which may be undesired if you are defining the DTO for a PATCH endpoint. If the option is not defined, the behaviour is unchanged from the previous behaviour.PR Checklist
Please check if your PR fulfills the following requirements:
PR Type
What kind of change does this PR introduce?
What is the current behavior?
PartialType
will return a class for which validations are ignorednull
properties (in addition toundefined
properties).What is the new behavior?
PartialType
can optionally return a class for which validations are ignored only forundefined
properties, notnull
properties. This can be useful if you are creating a DTO for a PATCH endpoint: there may be a certain field, sayname
, that should not benull
, but which doesn't need to be included in PATCH updates.Does this PR introduce a breaking change?
Other information
This feature was discussed here. Note that we will want to make a similar change to the
@nestjs/swagger
code.