feat: Add basic support for parameter properties #2687
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.
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?
Parameter properties are not supported.
Issue Number: #2056
What is the new behavior?
Basic support for parameter properties is added.
Does this PR introduce a breaking change?
Other information
The feature is controlled by the
parameterProperties
option, which is disabled by default. As the feature is opt-in, it should be possible to release it as a minor version.Worth noting, that using parameter properties has some limitations compared to the regular properties, but it can still be useful for some basic scenarios.
@example
or@deprecated
. Parsing description from the comment is not implemented in this PR, but can potentially be added from the@param
JSDoc tag.@ApiProperty
and@ApiHideProperty
decorators. This can be supported by introducing a dedicated decorators which works on parameters, e.g.@ApiParameterProperty
and@ApiHideParameterProperty()
with the same signatures. It shouldn't be hard to add, but just wanted to hear if you're interested in adding this feature and collect feedback before I put more work into it.Features which are supported and work the same way as for regular properties:
required
andnullable
type
enum
default