feat: add generic type for useDataViewSelection #578
+8
−8
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.
useDataViewSelection provides nice API for a table selection but it's lacking in type inference department. Returned value from this hook is filled with "any".
For type safety we currently assert over these values but it would be nicer if we din't have to. This is just a Quality of Life improvement and we can still use type assertion to work around it but it would feel little nicer if we didn't have to assert it over and either use:
explicit generic type argument
useDataViewSelection<DataViewTrObject>or get it inferred frominitialSelectedparam.This PR implementing both use cases but just either one of them would be fine. It also falls back to "any" in case generic argument isn't provided or type cannot be inferred from
initialSelectedvalue.What do you think, would you be interested in solution like this?