Typescript generics for main Client methods#403
Closed
twoojoo wants to merge 4 commits intoapache:masterfrom
Closed
Typescript generics for main Client methods#403twoojoo wants to merge 4 commits intoapache:masterfrom
twoojoo wants to merge 4 commits intoapache:masterfrom
Conversation
Contributor
|
Greetings @twoojoo and thanks for the contribution! Apologies for taking so long to get back to you. Have you signed the Contributor License Agreement for contributions to DataStax open source projects? If not you can find it at https://cla.datastax.com/. Thanks! |
|
This would be great improvement. I created a ticket here: https://datastax-oss.atlassian.net/browse/NODEJS-562 |
Contributor
|
Minor correction to the earlier comment from @SiyaoIsHiding: the ticket to cover this is actually NODEJS-683 |
Contributor
|
These fixes will be handled as part of the conversion to TypeScript. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.