fix length comparisons on xxxToProps functions #189
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.
Testing finalMap{State|Dispatch}ToProps.length > 1 breaks when these functions are wrapped in generic decorator functions. Instead, test for !== 1.
For example, let's say I wanted to write a decorator function that logs function invocation like so:
Then, I want to wrap my mapStateToProps and mapDispatchToProps functions with traceExecution and pass it to connect:
This would not work without these fixes, since the functions returned by the decorator have arity 0 and would fail the "> 1" length test.
By changing the arity test to be "!== 1" instead of "> 1", you enable this scenario to work as expected.