Typescript generics for main Client methods #403
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.
When working with typescript I find very comfortable to declare the type of the requested data with generics instead of using the "as" keyword.
So I just added generics to the main methods (execute, eachRow and batch) and to the types on which they are based (Row and ResultSet). I skipped graph methods and their types because I'm not really aware of how how they works in Cassandra.
Since every generic has "any" as default type, backwards compatibility should be ok (except for Row switching from being an interface to being a type, which I'm not sure if it could lead to problems in that sense).
Offtopic: it would be nice to set a string union type for hints. I'm only doubting whether hints can be used for user defined types too, which would probably make this useless.