feat: Allow specifying callback arity #1187
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?
The Callback nest passes to passport always has an arity of 0. The user can not influence this behavior.
Issue Number: 446
What is the new behavior?
When creating a new strategy, the user can ask nest to calculate the arity of the callback based on the arity of the validate function or specify an arity to use.
Does this PR introduce a breaking change?
Other information
I am a little lost on where to put a test for this behavior as well as where to make changes for the documentation. If someone can point me in the right direction, I will gladly make the necessary changes.
I am aware that the issue is long closed and a workaround is suggested. However, I feel that needing that workaround is a shortcoming of nest. I also fell that the discussion on the issue does not consider all available options (e.g. allowing the user to decide).
I would suggest making the the calculation of the callback arity the default and allowing the user to deactivate it, if necessary. However, this would make it a breaking change, so for the time being, the old behavior is the default.